@namzu/cli 12.1.0 → 13.0.0

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 (199) hide show
  1. package/README.md +25 -1
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +119 -60
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/acp.d.ts +24 -8
  6. package/dist/commands/acp.d.ts.map +1 -1
  7. package/dist/commands/acp.js +221 -80
  8. package/dist/commands/acp.js.map +1 -1
  9. package/dist/commands/drain.d.ts.map +1 -1
  10. package/dist/commands/drain.js +45 -9
  11. package/dist/commands/drain.js.map +1 -1
  12. package/dist/commands/prior-messages.d.ts +11 -0
  13. package/dist/commands/prior-messages.d.ts.map +1 -0
  14. package/dist/commands/prior-messages.js +280 -0
  15. package/dist/commands/prior-messages.js.map +1 -0
  16. package/dist/commands/resume.d.ts.map +1 -1
  17. package/dist/commands/resume.js +21 -19
  18. package/dist/commands/resume.js.map +1 -1
  19. package/dist/commands/run-stream.d.ts +5 -3
  20. package/dist/commands/run-stream.d.ts.map +1 -1
  21. package/dist/commands/run-stream.js +66 -62
  22. package/dist/commands/run-stream.js.map +1 -1
  23. package/dist/commands/run.d.ts.map +1 -1
  24. package/dist/commands/run.js +50 -37
  25. package/dist/commands/run.js.map +1 -1
  26. package/dist/config/debug.d.ts +55 -0
  27. package/dist/config/debug.d.ts.map +1 -0
  28. package/dist/config/debug.js +126 -0
  29. package/dist/config/debug.js.map +1 -0
  30. package/dist/config/load.d.ts +88 -4
  31. package/dist/config/load.d.ts.map +1 -1
  32. package/dist/config/load.js +386 -56
  33. package/dist/config/load.js.map +1 -1
  34. package/dist/config/schema.d.ts +87 -5
  35. package/dist/config/schema.d.ts.map +1 -1
  36. package/dist/config/schema.js +5 -5
  37. package/dist/config/schema.js.map +1 -1
  38. package/dist/config/trusted-project-context.d.ts +11 -0
  39. package/dist/config/trusted-project-context.d.ts.map +1 -0
  40. package/dist/config/trusted-project-context.js +28 -0
  41. package/dist/config/trusted-project-context.js.map +1 -0
  42. package/dist/context/project-path.d.ts +3 -0
  43. package/dist/context/project-path.d.ts.map +1 -0
  44. package/dist/context/project-path.js +16 -0
  45. package/dist/context/project-path.js.map +1 -0
  46. package/dist/context/project-tracker.d.ts +30 -0
  47. package/dist/context/project-tracker.d.ts.map +1 -0
  48. package/dist/context/project-tracker.js +217 -0
  49. package/dist/context/project-tracker.js.map +1 -0
  50. package/dist/context/sandbox.d.ts +29 -9
  51. package/dist/context/sandbox.d.ts.map +1 -1
  52. package/dist/context/sandbox.js +8 -0
  53. package/dist/context/sandbox.js.map +1 -1
  54. package/dist/exit-codes.d.ts +5 -4
  55. package/dist/exit-codes.d.ts.map +1 -1
  56. package/dist/exit-codes.js +5 -4
  57. package/dist/exit-codes.js.map +1 -1
  58. package/dist/index.d.ts +2 -2
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/integrations/clipboard/text.d.ts +43 -0
  63. package/dist/integrations/clipboard/text.d.ts.map +1 -0
  64. package/dist/integrations/clipboard/text.js +43 -0
  65. package/dist/integrations/clipboard/text.js.map +1 -0
  66. package/dist/integrations/mcp/servers.d.ts +9 -0
  67. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  68. package/dist/integrations/mcp/servers.js +11 -4
  69. package/dist/integrations/mcp/servers.js.map +1 -1
  70. package/dist/integrations/notifications/terminal.d.ts +32 -0
  71. package/dist/integrations/notifications/terminal.d.ts.map +1 -0
  72. package/dist/integrations/notifications/terminal.js +46 -0
  73. package/dist/integrations/notifications/terminal.js.map +1 -0
  74. package/dist/integrations/plugins/runtime.d.ts +17 -0
  75. package/dist/integrations/plugins/runtime.d.ts.map +1 -0
  76. package/dist/integrations/plugins/runtime.js +100 -0
  77. package/dist/integrations/plugins/runtime.js.map +1 -0
  78. package/dist/integrations/providers/credential-store.d.ts +17 -0
  79. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  80. package/dist/integrations/providers/credential-store.js +114 -2
  81. package/dist/integrations/providers/credential-store.js.map +1 -1
  82. package/dist/integrations/providers/index.d.ts +2 -2
  83. package/dist/integrations/providers/index.d.ts.map +1 -1
  84. package/dist/integrations/providers/index.js +2 -2
  85. package/dist/integrations/providers/index.js.map +1 -1
  86. package/dist/integrations/providers/keychain.d.ts +0 -13
  87. package/dist/integrations/providers/keychain.d.ts.map +1 -1
  88. package/dist/integrations/providers/keychain.js +0 -76
  89. package/dist/integrations/providers/keychain.js.map +1 -1
  90. package/dist/integrations/providers/oauth.d.ts +45 -16
  91. package/dist/integrations/providers/oauth.d.ts.map +1 -1
  92. package/dist/integrations/providers/oauth.js +170 -43
  93. package/dist/integrations/providers/oauth.js.map +1 -1
  94. package/dist/integrations/providers/subscription-login.d.ts +2 -0
  95. package/dist/integrations/providers/subscription-login.d.ts.map +1 -1
  96. package/dist/integrations/providers/subscription-login.js +117 -14
  97. package/dist/integrations/providers/subscription-login.js.map +1 -1
  98. package/dist/integrations/sessions/store.d.ts +111 -1
  99. package/dist/integrations/sessions/store.d.ts.map +1 -1
  100. package/dist/integrations/sessions/store.js +400 -7
  101. package/dist/integrations/sessions/store.js.map +1 -1
  102. package/dist/integrations/sessions/transcript-export.d.ts +25 -0
  103. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -0
  104. package/dist/integrations/sessions/transcript-export.js +441 -0
  105. package/dist/integrations/sessions/transcript-export.js.map +1 -0
  106. package/dist/integrations/sessions/turn-evidence.d.ts +138 -0
  107. package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -0
  108. package/dist/integrations/sessions/turn-evidence.js +506 -0
  109. package/dist/integrations/sessions/turn-evidence.js.map +1 -0
  110. package/dist/integrations/subagents/runtime.d.ts +7 -12
  111. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  112. package/dist/integrations/subagents/runtime.js +19 -10
  113. package/dist/integrations/subagents/runtime.js.map +1 -1
  114. package/dist/integrations/trust/store.d.ts.map +1 -1
  115. package/dist/integrations/trust/store.js +27 -13
  116. package/dist/integrations/trust/store.js.map +1 -1
  117. package/dist/permissions/canonical-project.d.ts +9 -0
  118. package/dist/permissions/canonical-project.d.ts.map +1 -0
  119. package/dist/permissions/canonical-project.js +13 -0
  120. package/dist/permissions/canonical-project.js.map +1 -0
  121. package/dist/permissions/checks.d.ts +65 -0
  122. package/dist/permissions/checks.d.ts.map +1 -0
  123. package/dist/permissions/checks.js +122 -0
  124. package/dist/permissions/checks.js.map +1 -0
  125. package/dist/permissions/headless-trust.d.ts +9 -5
  126. package/dist/permissions/headless-trust.d.ts.map +1 -1
  127. package/dist/permissions/headless-trust.js +18 -4
  128. package/dist/permissions/headless-trust.js.map +1 -1
  129. package/dist/permissions/rules.d.ts +16 -7
  130. package/dist/permissions/rules.d.ts.map +1 -1
  131. package/dist/permissions/rules.js +78 -13
  132. package/dist/permissions/rules.js.map +1 -1
  133. package/dist/tui/App.d.ts +5 -2
  134. package/dist/tui/App.d.ts.map +1 -1
  135. package/dist/tui/App.js +1555 -143
  136. package/dist/tui/App.js.map +1 -1
  137. package/dist/tui/Composer.d.ts +14 -3
  138. package/dist/tui/Composer.d.ts.map +1 -1
  139. package/dist/tui/Composer.js +53 -15
  140. package/dist/tui/Composer.js.map +1 -1
  141. package/dist/tui/EditPromptPicker.d.ts +8 -0
  142. package/dist/tui/EditPromptPicker.d.ts.map +1 -0
  143. package/dist/tui/EditPromptPicker.js +18 -0
  144. package/dist/tui/EditPromptPicker.js.map +1 -0
  145. package/dist/tui/LiveActivity.d.ts.map +1 -1
  146. package/dist/tui/LiveActivity.js +2 -1
  147. package/dist/tui/LiveActivity.js.map +1 -1
  148. package/dist/tui/Markdown.d.ts.map +1 -1
  149. package/dist/tui/Markdown.js +2 -1
  150. package/dist/tui/Markdown.js.map +1 -1
  151. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  152. package/dist/tui/PermissionOverlay.js +7 -1
  153. package/dist/tui/PermissionOverlay.js.map +1 -1
  154. package/dist/tui/Picker.d.ts +4 -4
  155. package/dist/tui/Picker.d.ts.map +1 -1
  156. package/dist/tui/Picker.js +86 -7
  157. package/dist/tui/Picker.js.map +1 -1
  158. package/dist/tui/ResumePicker.d.ts.map +1 -1
  159. package/dist/tui/ResumePicker.js +1 -1
  160. package/dist/tui/ResumePicker.js.map +1 -1
  161. package/dist/tui/Transcript.d.ts +4 -2
  162. package/dist/tui/Transcript.d.ts.map +1 -1
  163. package/dist/tui/Transcript.js +31 -5
  164. package/dist/tui/Transcript.js.map +1 -1
  165. package/dist/tui/agent.d.ts +123 -19
  166. package/dist/tui/agent.d.ts.map +1 -1
  167. package/dist/tui/agent.js +665 -143
  168. package/dist/tui/agent.js.map +1 -1
  169. package/dist/tui/compact-transcript.d.ts +24 -0
  170. package/dist/tui/compact-transcript.d.ts.map +1 -0
  171. package/dist/tui/compact-transcript.js +46 -0
  172. package/dist/tui/compact-transcript.js.map +1 -0
  173. package/dist/tui/conversation-history.d.ts +33 -0
  174. package/dist/tui/conversation-history.d.ts.map +1 -0
  175. package/dist/tui/conversation-history.js +42 -0
  176. package/dist/tui/conversation-history.js.map +1 -0
  177. package/dist/tui/edit-prompts.d.ts +23 -0
  178. package/dist/tui/edit-prompts.d.ts.map +1 -0
  179. package/dist/tui/edit-prompts.js +35 -0
  180. package/dist/tui/edit-prompts.js.map +1 -0
  181. package/dist/tui/live-window.d.ts +3 -1
  182. package/dist/tui/live-window.d.ts.map +1 -1
  183. package/dist/tui/live-window.js +20 -8
  184. package/dist/tui/live-window.js.map +1 -1
  185. package/dist/tui/slashCommands.d.ts +178 -9
  186. package/dist/tui/slashCommands.d.ts.map +1 -1
  187. package/dist/tui/slashCommands.js +339 -15
  188. package/dist/tui/slashCommands.js.map +1 -1
  189. package/dist/tui/terminal-display.d.ts +12 -0
  190. package/dist/tui/terminal-display.d.ts.map +1 -0
  191. package/dist/tui/terminal-display.js +65 -0
  192. package/dist/tui/terminal-display.js.map +1 -0
  193. package/dist/tui/types.d.ts +14 -2
  194. package/dist/tui/types.d.ts.map +1 -1
  195. package/dist/tui/workspace-diff.d.ts +40 -0
  196. package/dist/tui/workspace-diff.d.ts.map +1 -0
  197. package/dist/tui/workspace-diff.js +101 -0
  198. package/dist/tui/workspace-diff.js.map +1 -0
  199. package/package.json +7 -7
@@ -1,21 +1,25 @@
1
1
  /**
2
- * Config cascade for @namzu/cli (M0 scaffolding).
2
+ * Config cascade and runtime admission for @namzu/cli.
3
3
  *
4
4
  * Resolution order (highest priority first):
5
- * 1. CLI flags (handled by Commander, merged in `bin.ts`)
5
+ * 1. CLI flags (handled by Commander, merged in `cli.ts`)
6
6
  * 2. Environment variables prefixed `NAMZU_`
7
7
  * 3. Project config: `./namzu.config.json` (TS variant added in a later
8
8
  * milestone when a build step is justified)
9
9
  * 4. User config: `~/.namzu/config.yaml`
10
10
  * 5. Built-in defaults from `schema.ts`
11
11
  *
12
- * In M0 we wire steps 2, 3, 4, 5. CLI-flag merging happens in `bin.ts`
13
- * where Commander knows what was explicitly set vs defaulted.
12
+ * This module owns steps 2–5. CLI-flag merging happens in `cli.ts`, where
13
+ * Commander knows what was explicitly set rather than merely defaulted.
14
14
  *
15
15
  * A file that is not there contributes nothing, and that is a default. A file
16
16
  * that IS there and cannot be read throws {@link ConfigLoadError} — this loader
17
17
  * has no way to say "some of your settings", and will not pretend the ones it
18
18
  * failed to read were never written.
19
+ *
20
+ * A source Namzu can parse but whose known key carries an invalid value throws
21
+ * {@link ConfigValueError}. Absence, syntax failure, and semantic rejection are
22
+ * three different states and none is represented by another.
19
23
  */
20
24
  import { type NamzuCliConfig } from './schema.js';
21
25
  export interface LoadConfigOptions {
@@ -25,7 +29,37 @@ export interface LoadConfigOptions {
25
29
  readonly cwd?: string;
26
30
  /** Replacement env source (testing). */
27
31
  readonly env?: NodeJS.ProcessEnv;
32
+ /**
33
+ * Which profile to apply, if any.
34
+ *
35
+ * A name that no file declares is an ERROR rather than a no-op. Someone
36
+ * who typed `--profile revew` is running under settings they did not
37
+ * choose, and every reading of the run after that is wrong; the cost of
38
+ * refusing is one retyped word.
39
+ */
40
+ readonly profile?: string;
41
+ /** Overridable for tests; defaults to {@link MANAGED_CONFIG_PATH}. */
42
+ readonly managedPath?: string;
28
43
  }
44
+ /**
45
+ * A machine-wide config that wins the cascade.
46
+ *
47
+ * It exists for the case where the person running namzu is not the person
48
+ * deciding what it may do — a shared build machine, a managed workstation.
49
+ * Applied LAST, so it beats the project file and the environment both, which
50
+ * is the only ordering that makes it worth having.
51
+ *
52
+ * **Its guarantee is the file system's and nothing more.** namzu does not
53
+ * verify a signature, does not check an owner, and cannot tell an
54
+ * administrator's file from one the user wrote there. What stops a user
55
+ * editing it is that the path needs privileges they do not have, on a machine
56
+ * somebody configured that way. That is a real control and a narrow one, and
57
+ * stating it precisely is the difference between a security boundary and the
58
+ * appearance of one.
59
+ *
60
+ * Absent on almost every machine, which is the expected case and not an error.
61
+ */
62
+ export declare const MANAGED_CONFIG_PATH: string;
29
63
  /**
30
64
  * A config value's source, one variant per cascade layer.
31
65
  *
@@ -44,9 +78,26 @@ export type ConfigSource = {
44
78
  } | {
45
79
  readonly kind: 'project-file';
46
80
  readonly path: string;
81
+ }
82
+ /**
83
+ * A selected profile, and the file it was declared in.
84
+ *
85
+ * Both are named because neither alone answers the question an operator
86
+ * asks here. "profile" does not say which file to open, and the path does
87
+ * not say which of that file's profiles is in force.
88
+ */
89
+ | {
90
+ readonly kind: 'profile';
91
+ readonly name: string;
92
+ readonly path: string;
47
93
  } | {
48
94
  readonly kind: 'env';
49
95
  readonly variable: string;
96
+ }
97
+ /** A machine-wide file that wins the cascade; see `MANAGED_CONFIG_PATH`. */
98
+ | {
99
+ readonly kind: 'managed';
100
+ readonly path: string;
50
101
  };
51
102
  /**
52
103
  * Which `ConfigSource` won each key of the resolved config.
@@ -74,6 +125,17 @@ export declare function loadConfigWithProvenance(opts?: LoadConfigOptions): {
74
125
  config: NamzuCliConfig;
75
126
  provenance: ConfigProvenance;
76
127
  };
128
+ /**
129
+ * Resolve only process/user/managed authority before a project is trusted.
130
+ *
131
+ * Internal CLI seam: deliberately not re-exported from the package root. A
132
+ * selected profile may be declared by the project layer, so an otherwise
133
+ * unknown profile is deferred until the trusted, full resolution pass.
134
+ */
135
+ export declare function loadBootstrapConfigWithProvenance(opts?: LoadConfigOptions): {
136
+ config: NamzuCliConfig;
137
+ provenance: ConfigProvenance;
138
+ };
77
139
  export declare function loadConfig(opts?: LoadConfigOptions): NamzuCliConfig;
78
140
  /**
79
141
  * A config file namzu could not read.
@@ -89,6 +151,28 @@ export declare class ConfigLoadError extends Error {
89
151
  cause?: unknown;
90
152
  });
91
153
  }
154
+ /** The explicit source that supplied a semantically invalid config value. */
155
+ export type ConfigValueSource = {
156
+ readonly kind: 'file';
157
+ readonly path: string;
158
+ } | {
159
+ readonly kind: 'environment';
160
+ readonly variable: string;
161
+ };
162
+ /**
163
+ * A known config key whose explicit value does not satisfy its public type.
164
+ *
165
+ * Kept distinct from {@link ConfigLoadError}: that class means a file could
166
+ * not be read or parsed at all, while this one means the source was readable
167
+ * and named a setting Namzu cannot honour. Public loaders throw both; the
168
+ * standalone binary maps both to `EX_CONFIG`.
169
+ */
170
+ export declare class ConfigValueError extends Error {
171
+ readonly source: ConfigValueSource;
172
+ /** Dot/bracket path to the invalid known setting, without its source. */
173
+ readonly settingPath: string;
174
+ constructor(source: ConfigValueSource, settingPath: string, message: string);
175
+ }
92
176
  /**
93
177
  * Which `NAMZU_*` variable a field reads from, or `undefined` when env does
94
178
  * not set it at all.
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,iBAAiB;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC,EAAE,YAAY;CACnD,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,iBAAsB,GAAG;IACvE,MAAM,EAAE,cAAc,CAAA;IACtB,UAAU,EAAE,gBAAgB,CAAA;CAC5B,CAgCA;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,iBAAsB,GAAG,cAAc,CAEvE;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACzC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKxE;AA8LD;;;;;;;;;;GAUG;AACH,KAAK,gBAAgB,GAAG;IACvB,QAAQ,EAAE,CAAC,IAAI,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,SAAS;CAClE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAWhC,CAAA"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}