@namzu/cli 2.0.0 → 2.1.1

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 (176) hide show
  1. package/dist/tui/App.d.ts.map +1 -1
  2. package/dist/tui/App.js +8 -0
  3. package/dist/tui/App.js.map +1 -1
  4. package/dist/tui/agent.d.ts +10 -0
  5. package/dist/tui/agent.d.ts.map +1 -1
  6. package/dist/tui/agent.js +10 -0
  7. package/dist/tui/agent.js.map +1 -1
  8. package/dist/tui/slashCommands.d.ts +46 -0
  9. package/dist/tui/slashCommands.d.ts.map +1 -1
  10. package/dist/tui/slashCommands.js +96 -0
  11. package/dist/tui/slashCommands.js.map +1 -1
  12. package/package.json +11 -6
  13. package/dist/__tests__/environment-reaches-the-turn.test.d.ts +0 -17
  14. package/dist/__tests__/environment-reaches-the-turn.test.d.ts.map +0 -1
  15. package/dist/__tests__/environment-reaches-the-turn.test.js +0 -128
  16. package/dist/__tests__/environment-reaches-the-turn.test.js.map +0 -1
  17. package/dist/__tests__/headless-trust-gate.test.d.ts +0 -23
  18. package/dist/__tests__/headless-trust-gate.test.d.ts.map +0 -1
  19. package/dist/__tests__/headless-trust-gate.test.js +0 -227
  20. package/dist/__tests__/headless-trust-gate.test.js.map +0 -1
  21. package/dist/__tests__/mcp-servers-reach-the-session.test.d.ts +0 -17
  22. package/dist/__tests__/mcp-servers-reach-the-session.test.d.ts.map +0 -1
  23. package/dist/__tests__/mcp-servers-reach-the-session.test.js +0 -171
  24. package/dist/__tests__/mcp-servers-reach-the-session.test.js.map +0 -1
  25. package/dist/__tests__/permission-rules-reach-the-turn.test.d.ts +0 -31
  26. package/dist/__tests__/permission-rules-reach-the-turn.test.d.ts.map +0 -1
  27. package/dist/__tests__/permission-rules-reach-the-turn.test.js +0 -132
  28. package/dist/__tests__/permission-rules-reach-the-turn.test.js.map +0 -1
  29. package/dist/__tests__/project-instructions-reach-the-turn.test.d.ts +0 -24
  30. package/dist/__tests__/project-instructions-reach-the-turn.test.d.ts.map +0 -1
  31. package/dist/__tests__/project-instructions-reach-the-turn.test.js +0 -153
  32. package/dist/__tests__/project-instructions-reach-the-turn.test.js.map +0 -1
  33. package/dist/cli.test.d.ts +0 -2
  34. package/dist/cli.test.d.ts.map +0 -1
  35. package/dist/cli.test.js +0 -108
  36. package/dist/cli.test.js.map +0 -1
  37. package/dist/commands/__tests__/eval.test.d.ts +0 -2
  38. package/dist/commands/__tests__/eval.test.d.ts.map +0 -1
  39. package/dist/commands/__tests__/eval.test.js +0 -165
  40. package/dist/commands/__tests__/eval.test.js.map +0 -1
  41. package/dist/commands/__tests__/passthrough-help.test.d.ts +0 -2
  42. package/dist/commands/__tests__/passthrough-help.test.d.ts.map +0 -1
  43. package/dist/commands/__tests__/passthrough-help.test.js +0 -96
  44. package/dist/commands/__tests__/passthrough-help.test.js.map +0 -1
  45. package/dist/commands/__tests__/resume.test.d.ts +0 -15
  46. package/dist/commands/__tests__/resume.test.d.ts.map +0 -1
  47. package/dist/commands/__tests__/resume.test.js +0 -116
  48. package/dist/commands/__tests__/resume.test.js.map +0 -1
  49. package/dist/commands/__tests__/run-exit-code.test.d.ts +0 -2
  50. package/dist/commands/__tests__/run-exit-code.test.d.ts.map +0 -1
  51. package/dist/commands/__tests__/run-exit-code.test.js +0 -100
  52. package/dist/commands/__tests__/run-exit-code.test.js.map +0 -1
  53. package/dist/commands/__tests__/run-flags.test.d.ts +0 -11
  54. package/dist/commands/__tests__/run-flags.test.d.ts.map +0 -1
  55. package/dist/commands/__tests__/run-flags.test.js +0 -238
  56. package/dist/commands/__tests__/run-flags.test.js.map +0 -1
  57. package/dist/commands/__tests__/run-stream-flags.test.d.ts +0 -2
  58. package/dist/commands/__tests__/run-stream-flags.test.d.ts.map +0 -1
  59. package/dist/commands/__tests__/run-stream-flags.test.js +0 -295
  60. package/dist/commands/__tests__/run-stream-flags.test.js.map +0 -1
  61. package/dist/commands/doctor.test.d.ts +0 -2
  62. package/dist/commands/doctor.test.d.ts.map +0 -1
  63. package/dist/commands/doctor.test.js +0 -82
  64. package/dist/commands/doctor.test.js.map +0 -1
  65. package/dist/config/load.test.d.ts +0 -2
  66. package/dist/config/load.test.d.ts.map +0 -1
  67. package/dist/config/load.test.js +0 -57
  68. package/dist/config/load.test.js.map +0 -1
  69. package/dist/context/__tests__/environment.test.d.ts +0 -10
  70. package/dist/context/__tests__/environment.test.d.ts.map +0 -1
  71. package/dist/context/__tests__/environment.test.js +0 -84
  72. package/dist/context/__tests__/environment.test.js.map +0 -1
  73. package/dist/context/__tests__/project.test.d.ts +0 -12
  74. package/dist/context/__tests__/project.test.d.ts.map +0 -1
  75. package/dist/context/__tests__/project.test.js +0 -201
  76. package/dist/context/__tests__/project.test.js.map +0 -1
  77. package/dist/doctor/checks/credentials.test.d.ts +0 -10
  78. package/dist/doctor/checks/credentials.test.d.ts.map +0 -1
  79. package/dist/doctor/checks/credentials.test.js +0 -47
  80. package/dist/doctor/checks/credentials.test.js.map +0 -1
  81. package/dist/doctor/checks/sandbox.test.d.ts +0 -2
  82. package/dist/doctor/checks/sandbox.test.d.ts.map +0 -1
  83. package/dist/doctor/checks/sandbox.test.js +0 -59
  84. package/dist/doctor/checks/sandbox.test.js.map +0 -1
  85. package/dist/doctor/registry.test.d.ts +0 -7
  86. package/dist/doctor/registry.test.d.ts.map +0 -1
  87. package/dist/doctor/registry.test.js +0 -379
  88. package/dist/doctor/registry.test.js.map +0 -1
  89. package/dist/integrations/mcp/__tests__/connect.test.d.ts +0 -11
  90. package/dist/integrations/mcp/__tests__/connect.test.d.ts.map +0 -1
  91. package/dist/integrations/mcp/__tests__/connect.test.js +0 -231
  92. package/dist/integrations/mcp/__tests__/connect.test.js.map +0 -1
  93. package/dist/integrations/providers/discover.test.d.ts +0 -2
  94. package/dist/integrations/providers/discover.test.d.ts.map +0 -1
  95. package/dist/integrations/providers/discover.test.js +0 -93
  96. package/dist/integrations/providers/discover.test.js.map +0 -1
  97. package/dist/integrations/providers/keychain.test.d.ts +0 -2
  98. package/dist/integrations/providers/keychain.test.d.ts.map +0 -1
  99. package/dist/integrations/providers/keychain.test.js +0 -21
  100. package/dist/integrations/providers/keychain.test.js.map +0 -1
  101. package/dist/integrations/providers/oauth.test.d.ts +0 -2
  102. package/dist/integrations/providers/oauth.test.d.ts.map +0 -1
  103. package/dist/integrations/providers/oauth.test.js +0 -86
  104. package/dist/integrations/providers/oauth.test.js.map +0 -1
  105. package/dist/integrations/providers/preferences.test.d.ts +0 -2
  106. package/dist/integrations/providers/preferences.test.d.ts.map +0 -1
  107. package/dist/integrations/providers/preferences.test.js +0 -76
  108. package/dist/integrations/providers/preferences.test.js.map +0 -1
  109. package/dist/integrations/sessions/__tests__/archived-workspace.test.d.ts +0 -21
  110. package/dist/integrations/sessions/__tests__/archived-workspace.test.d.ts.map +0 -1
  111. package/dist/integrations/sessions/__tests__/archived-workspace.test.js +0 -62
  112. package/dist/integrations/sessions/__tests__/archived-workspace.test.js.map +0 -1
  113. package/dist/integrations/subagents/__tests__/delegation-trace.test.d.ts +0 -2
  114. package/dist/integrations/subagents/__tests__/delegation-trace.test.d.ts.map +0 -1
  115. package/dist/integrations/subagents/__tests__/delegation-trace.test.js +0 -114
  116. package/dist/integrations/subagents/__tests__/delegation-trace.test.js.map +0 -1
  117. package/dist/integrations/trust/store.test.d.ts +0 -2
  118. package/dist/integrations/trust/store.test.d.ts.map +0 -1
  119. package/dist/integrations/trust/store.test.js +0 -50
  120. package/dist/integrations/trust/store.test.js.map +0 -1
  121. package/dist/memory/store.test.d.ts +0 -2
  122. package/dist/memory/store.test.d.ts.map +0 -1
  123. package/dist/memory/store.test.js +0 -63
  124. package/dist/memory/store.test.js.map +0 -1
  125. package/dist/output/formatter.test.d.ts +0 -2
  126. package/dist/output/formatter.test.d.ts.map +0 -1
  127. package/dist/output/formatter.test.js +0 -88
  128. package/dist/output/formatter.test.js.map +0 -1
  129. package/dist/output/rendered-payload.test.d.ts +0 -2
  130. package/dist/output/rendered-payload.test.d.ts.map +0 -1
  131. package/dist/output/rendered-payload.test.js +0 -61
  132. package/dist/output/rendered-payload.test.js.map +0 -1
  133. package/dist/permissions/__tests__/mode.test.d.ts +0 -10
  134. package/dist/permissions/__tests__/mode.test.d.ts.map +0 -1
  135. package/dist/permissions/__tests__/mode.test.js +0 -115
  136. package/dist/permissions/__tests__/mode.test.js.map +0 -1
  137. package/dist/permissions/__tests__/rules.test.d.ts +0 -10
  138. package/dist/permissions/__tests__/rules.test.d.ts.map +0 -1
  139. package/dist/permissions/__tests__/rules.test.js +0 -196
  140. package/dist/permissions/__tests__/rules.test.js.map +0 -1
  141. package/dist/skills/store.test.d.ts +0 -2
  142. package/dist/skills/store.test.d.ts.map +0 -1
  143. package/dist/skills/store.test.js +0 -80
  144. package/dist/skills/store.test.js.map +0 -1
  145. package/dist/tui/__tests__/context-gauge.test.d.ts +0 -2
  146. package/dist/tui/__tests__/context-gauge.test.d.ts.map +0 -1
  147. package/dist/tui/__tests__/context-gauge.test.js +0 -83
  148. package/dist/tui/__tests__/context-gauge.test.js.map +0 -1
  149. package/dist/tui/__tests__/deferred-tool-discovery.test.d.ts +0 -24
  150. package/dist/tui/__tests__/deferred-tool-discovery.test.d.ts.map +0 -1
  151. package/dist/tui/__tests__/deferred-tool-discovery.test.js +0 -111
  152. package/dist/tui/__tests__/deferred-tool-discovery.test.js.map +0 -1
  153. package/dist/tui/__tests__/to-agent-event.test.d.ts +0 -2
  154. package/dist/tui/__tests__/to-agent-event.test.d.ts.map +0 -1
  155. package/dist/tui/__tests__/to-agent-event.test.js +0 -230
  156. package/dist/tui/__tests__/to-agent-event.test.js.map +0 -1
  157. package/dist/tui/__tests__/working-directory.test.d.ts +0 -13
  158. package/dist/tui/__tests__/working-directory.test.d.ts.map +0 -1
  159. package/dist/tui/__tests__/working-directory.test.js +0 -109
  160. package/dist/tui/__tests__/working-directory.test.js.map +0 -1
  161. package/dist/tui/agent.test.d.ts +0 -2
  162. package/dist/tui/agent.test.d.ts.map +0 -1
  163. package/dist/tui/agent.test.js +0 -225
  164. package/dist/tui/agent.test.js.map +0 -1
  165. package/dist/tui/markdownParser.test.d.ts +0 -2
  166. package/dist/tui/markdownParser.test.d.ts.map +0 -1
  167. package/dist/tui/markdownParser.test.js +0 -90
  168. package/dist/tui/markdownParser.test.js.map +0 -1
  169. package/dist/tui/mentions.test.d.ts +0 -2
  170. package/dist/tui/mentions.test.d.ts.map +0 -1
  171. package/dist/tui/mentions.test.js +0 -35
  172. package/dist/tui/mentions.test.js.map +0 -1
  173. package/dist/tui/slashCommands.test.d.ts +0 -2
  174. package/dist/tui/slashCommands.test.d.ts.map +0 -1
  175. package/dist/tui/slashCommands.test.js +0 -114
  176. package/dist/tui/slashCommands.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-servers-reach-the-session.test.js","sourceRoot":"","sources":["../../src/__tests__/mcp-servers-reach-the-session.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,MAAM,cAAc,EAA+B,CAAA;IAClE,OAAO;QACN,GAAG,MAAM;QACT,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,MAAK,CAAC,CAAC,EAAE;KACtC,CAAA;AACF,CAAC,CAAC,CAAA;AAEF,IAAI,IAAY,CAAA;AAEhB,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Bd,CAAA;AAED,UAAU,CAAC,GAAG,EAAE;IACf,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,KAAK,IAAI,EAAE;IACpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC;YACJ,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9C,OAAM;QACP,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QACxD,CAAC;IACF,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG;IACb,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;CACV,CAAA;AAEhB,SAAS,iBAAiB;IACzB,OAAO;QACN;YACC,KAAK,EAAE;gBACN,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,mBAAmB;gBACjC,cAAc,EAAE,IAAI;gBACpB,OAAO,EAAE,CAAC,mBAAmB,CAAC;aAC9B;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,uBAAuB;YAC/B,YAAY,EAAE,EAAE;SACe;KAChC,CAAA;AACF,CAAC;AAED,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC5D,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACrC,yEAAyE;QACzE,gEAAgE;QAChE,aAAa,CACZ,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAC/B,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAChF,CAAA;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;QAE1D,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QACvC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC7B,aAAa,CACZ,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAC/B,IAAI,CAAC,SAAS,CAAC;YACd,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;SACtE,CAAC,CACF,CAAA;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;QAC1D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;YACpE,GAAG,EAAE,IAAI;YACT,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAA;QACF,IAAI,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACzE,qEAAqE;YACrE,+CAA+C;YAC/C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;QAC1D,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACF,CAAC,EAAE,MAAM,CAAC,CAAA;IAEV,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACrD,yEAAyE;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QACvC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;YACpE,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;SACtE,CAAC,CAAA;QACF,IAAI,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC3C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC3C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;QAC1D,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACF,CAAC,EAAE,MAAM,CAAC,CAAA;IAEV,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;YACpE,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,EAAE;SACtE,CAAC,CAAA;QACF,IAAI,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;YACjE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;QACnF,IAAI,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxE,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,31 +0,0 @@
1
- /**
2
- * An operator's `permissions` config reaches the turn that enforces it.
3
- *
4
- * There was no test that started from a real config FILE and ended at a real
5
- * turn, and that gap is the whole reason this shipped: the chain is broken in
6
- * two independent places, in series, and every existing test sits on one side
7
- * or the other of a break.
8
- *
9
- * config file → loadConfig() → compilePermissions() → createAgentSession()
10
- * ↑ break 1 → query()
11
- * ↑ break 2
12
- *
13
- * - **Break 1.** `sanitize()` in `config/load.ts` copies exactly `format` and
14
- * `quiet` off a parsed config, so `permissions` is dropped from every file
15
- * namzu reads. `compilePermissions(ctx.config.permissions)` in `run.ts` and
16
- * `run-stream.ts` is therefore always compiling `undefined`.
17
- * - **Break 2.** `runTurn` destructures `rules` and passes the module-level
18
- * `VERIFICATION_GATE` — whose `rules` is a hardcoded `[]` — to `query()`.
19
- * So even a caller that hands rules in explicitly has them dropped.
20
- *
21
- * Either break alone is enough to make a configured rule do nothing, which is
22
- * why this test is end-to-end: fixing one and testing that one would report
23
- * success while the feature stayed broken.
24
- *
25
- * The failure is silent by construction. `ask` compiles to no rule because the
26
- * gate's fallback is already to ask, so a dropped `deny` looks exactly like a
27
- * config that was honoured — the tool prompts instead of refusing, and a user
28
- * who clicks approve never learns their `deny` was ignored.
29
- */
30
- export {};
31
- //# sourceMappingURL=permission-rules-reach-the-turn.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-rules-reach-the-turn.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/permission-rules-reach-the-turn.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
@@ -1,132 +0,0 @@
1
- /**
2
- * An operator's `permissions` config reaches the turn that enforces it.
3
- *
4
- * There was no test that started from a real config FILE and ended at a real
5
- * turn, and that gap is the whole reason this shipped: the chain is broken in
6
- * two independent places, in series, and every existing test sits on one side
7
- * or the other of a break.
8
- *
9
- * config file → loadConfig() → compilePermissions() → createAgentSession()
10
- * ↑ break 1 → query()
11
- * ↑ break 2
12
- *
13
- * - **Break 1.** `sanitize()` in `config/load.ts` copies exactly `format` and
14
- * `quiet` off a parsed config, so `permissions` is dropped from every file
15
- * namzu reads. `compilePermissions(ctx.config.permissions)` in `run.ts` and
16
- * `run-stream.ts` is therefore always compiling `undefined`.
17
- * - **Break 2.** `runTurn` destructures `rules` and passes the module-level
18
- * `VERIFICATION_GATE` — whose `rules` is a hardcoded `[]` — to `query()`.
19
- * So even a caller that hands rules in explicitly has them dropped.
20
- *
21
- * Either break alone is enough to make a configured rule do nothing, which is
22
- * why this test is end-to-end: fixing one and testing that one would report
23
- * success while the feature stayed broken.
24
- *
25
- * The failure is silent by construction. `ask` compiles to no rule because the
26
- * gate's fallback is already to ask, so a dropped `deny` looks exactly like a
27
- * config that was honoured — the tool prompts instead of refusing, and a user
28
- * who clicks approve never learns their `deny` was ignored.
29
- */
30
- import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
31
- import { tmpdir } from 'node:os';
32
- import { join } from 'node:path';
33
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
34
- import { loadConfig } from '../config/load.js';
35
- import { compilePermissions } from '../permissions/rules.js';
36
- const queryCalls = [];
37
- vi.mock('@namzu/sdk', async (importOriginal) => {
38
- const actual = await importOriginal();
39
- return {
40
- ...actual,
41
- query: (params) => {
42
- queryCalls.push(params);
43
- return (async function* () { })();
44
- },
45
- };
46
- });
47
- let workDir;
48
- beforeEach(() => {
49
- queryCalls.length = 0;
50
- workDir = mkdtempSync(join(tmpdir(), 'namzu-perms-'));
51
- });
52
- afterEach(() => {
53
- rmSync(workDir, { recursive: true, force: true });
54
- });
55
- /** A real config file, in the real project-config location and format. */
56
- function writeProjectConfig(permissions) {
57
- writeFileSync(join(workDir, 'namzu.config.json'), JSON.stringify({ permissions }, null, 2));
58
- }
59
- const prefs = {
60
- version: 2,
61
- provider: 'anthropic',
62
- subagents: { active: [] },
63
- };
64
- function detectedAnthropic() {
65
- return [
66
- {
67
- entry: {
68
- id: 'anthropic',
69
- label: 'Anthropic',
70
- defaultModel: 'claude-sonnet-4-5',
71
- requiresApiKey: true,
72
- envVars: ['ANTHROPIC_API_KEY'],
73
- },
74
- source: 'env',
75
- apiKey: 'sk-ant-not-a-real-key',
76
- alternatives: [],
77
- },
78
- ];
79
- }
80
- describe('a permissions rule written in a config file', () => {
81
- it('survives loadConfig', () => {
82
- writeProjectConfig({ bash: 'deny' });
83
- const cfg = loadConfig({ cwd: workDir, home: workDir, env: {} });
84
- expect(cfg.permissions, 'the loader dropped the permissions table off a config file it parsed').toBeDefined();
85
- expect(cfg.permissions?.bash).toBe('deny');
86
- });
87
- it('reaches the gate of the turn that has to enforce it', async () => {
88
- writeProjectConfig({ bash: 'deny' });
89
- // Exactly what `run.ts` does, from the same starting point a user has.
90
- const cfg = loadConfig({ cwd: workDir, home: workDir, env: {} });
91
- const compiled = compilePermissions(cfg.permissions);
92
- const { createAgentSession } = await import('../tui/agent.js');
93
- const session = await createAgentSession(prefs, detectedAnthropic(), {
94
- cwd: workDir,
95
- rules: compiled.rules,
96
- });
97
- for await (const _ of session.send([{ role: 'user', content: 'hi', timestamp: 0 }])) {
98
- // drain
99
- }
100
- expect(queryCalls.length, 'the turn must have reached query()').toBe(1);
101
- const gate = queryCalls[0]?.verificationGate;
102
- expect(gate?.rules).toEqual([{ type: 'deny_by_name', toolNames: ['bash'] }]);
103
- });
104
- it('is not silently replaced by the empty default when handed in directly', async () => {
105
- // DO NOT DELETE THIS AS REDUNDANT WITH THE TEST ABOVE. It looks like a
106
- // subset of it and it is the opposite: it is the only test that isolates
107
- // the turn path from the loader.
108
- //
109
- // There were two faults, in series. Rules were dropped by the loader AND
110
- // again by the turn, and either one alone makes a configured rule do
111
- // nothing. A suite with only the end-to-end test above would go green the
112
- // moment ONE of them was fixed — reporting success on a feature that was
113
- // still dead — and a suite with only a loader test would never have looked
114
- // at the turn at all.
115
- //
116
- // So: no config file here, rules handed straight to the session. When this
117
- // fails and the end-to-end one fails, the turn drops them. When only the
118
- // end-to-end one fails, the loader is the sole fault. The pair of results
119
- // is the diagnosis; neither test gives it alone.
120
- const { createAgentSession } = await import('../tui/agent.js');
121
- const session = await createAgentSession(prefs, detectedAnthropic(), {
122
- cwd: workDir,
123
- rules: [{ type: 'deny_by_name', toolNames: ['bash'] }],
124
- });
125
- for await (const _ of session.send([{ role: 'user', content: 'hi', timestamp: 0 }])) {
126
- // drain
127
- }
128
- const gate = queryCalls[0]?.verificationGate;
129
- expect(gate?.rules).toEqual([{ type: 'deny_by_name', toolNames: ['bash'] }]);
130
- });
131
- });
132
- //# sourceMappingURL=permission-rules-reach-the-turn.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permission-rules-reach-the-turn.test.js","sourceRoot":"","sources":["../../src/__tests__/permission-rules-reach-the-turn.test.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * A project's `AGENTS.md` reaches the turn that is supposed to obey it.
3
- *
4
- * The chain is
5
- *
6
- * AGENTS.md on disk → loadProjectInstructions() → createAgentSession()
7
- * → the systemPrompt query() is called with
8
- * → and, separately, the sub-agent definition's prompt
9
- *
10
- * and the reason this test starts at a real file rather than at the loader is
11
- * that a loader test passes with every hop after it deleted. The composed
12
- * block being correct proves nothing about it being composed INTO anything;
13
- * the failure mode this feature invites is the string existing and being
14
- * dropped one function short of the provider, which is silent — the run
15
- * succeeds and writes code the project would reject, exactly as it did before
16
- * the feature existed.
17
- *
18
- * The sub-agent assertion is here rather than beside the other sub-agent tests
19
- * on purpose. Two paths carry the same signal, and one of two paths carrying a
20
- * signal is how this class of defect survives a green suite: the parent would
21
- * honour the project's rules and every task it delegated would quietly not.
22
- */
23
- export {};
24
- //# sourceMappingURL=project-instructions-reach-the-turn.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-instructions-reach-the-turn.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/project-instructions-reach-the-turn.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -1,153 +0,0 @@
1
- /**
2
- * A project's `AGENTS.md` reaches the turn that is supposed to obey it.
3
- *
4
- * The chain is
5
- *
6
- * AGENTS.md on disk → loadProjectInstructions() → createAgentSession()
7
- * → the systemPrompt query() is called with
8
- * → and, separately, the sub-agent definition's prompt
9
- *
10
- * and the reason this test starts at a real file rather than at the loader is
11
- * that a loader test passes with every hop after it deleted. The composed
12
- * block being correct proves nothing about it being composed INTO anything;
13
- * the failure mode this feature invites is the string existing and being
14
- * dropped one function short of the provider, which is silent — the run
15
- * succeeds and writes code the project would reject, exactly as it did before
16
- * the feature existed.
17
- *
18
- * The sub-agent assertion is here rather than beside the other sub-agent tests
19
- * on purpose. Two paths carry the same signal, and one of two paths carrying a
20
- * signal is how this class of defect survives a green suite: the parent would
21
- * honour the project's rules and every task it delegated would quietly not.
22
- */
23
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
24
- import { tmpdir } from 'node:os';
25
- import { join } from 'node:path';
26
- import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
27
- import { AgentRegistry } from '@namzu/sdk';
28
- const queryCalls = [];
29
- vi.mock('@namzu/sdk', async (importOriginal) => {
30
- const actual = await importOriginal();
31
- return {
32
- ...actual,
33
- query: (params) => {
34
- queryCalls.push(params);
35
- return (async function* () { })();
36
- },
37
- };
38
- });
39
- let root;
40
- let repo;
41
- let pkg;
42
- beforeEach(() => {
43
- queryCalls.length = 0;
44
- root = mkdtempSync(join(tmpdir(), 'namzu-project-'));
45
- repo = join(root, 'repo');
46
- pkg = join(repo, 'pkg');
47
- mkdirSync(pkg, { recursive: true });
48
- // A real repository boundary, so nothing above the temp directory can leak
49
- // into the walk and make an assertion pass for the wrong reason.
50
- mkdirSync(join(repo, '.git'));
51
- });
52
- afterEach(() => {
53
- vi.restoreAllMocks();
54
- rmSync(root, { recursive: true, force: true });
55
- });
56
- const prefs = {
57
- version: 2,
58
- provider: 'anthropic',
59
- subagents: { active: [] },
60
- };
61
- function detectedAnthropic() {
62
- return [
63
- {
64
- entry: {
65
- id: 'anthropic',
66
- label: 'Anthropic',
67
- defaultModel: 'claude-sonnet-4-5',
68
- requiresApiKey: true,
69
- envVars: ['ANTHROPIC_API_KEY'],
70
- },
71
- source: 'env',
72
- apiKey: 'sk-ant-not-a-real-key',
73
- alternatives: [],
74
- },
75
- ];
76
- }
77
- async function openSessionIn(cwd) {
78
- const { createAgentSession } = await import('../tui/agent.js');
79
- return createAgentSession(prefs, detectedAnthropic(), { cwd });
80
- }
81
- async function drive(cwd) {
82
- const session = await openSessionIn(cwd);
83
- for await (const _ of session.send([{ role: 'user', content: 'hi', timestamp: 0 }])) {
84
- // drain
85
- }
86
- expect(queryCalls.length, 'the turn must have reached query()').toBe(1);
87
- return String(queryCalls[0]?.systemPrompt ?? '');
88
- }
89
- describe("the project's instructions", () => {
90
- it('are in the system prompt the turn is actually run with', async () => {
91
- writeFileSync(join(pkg, 'AGENTS.md'), '# House rules\n\nNever use a default export.');
92
- const systemPrompt = await drive(pkg);
93
- expect(systemPrompt).toContain('Never use a default export.');
94
- });
95
- it('carry the whole ancestor chain, nearest last', async () => {
96
- writeFileSync(join(repo, 'AGENTS.md'), 'Repository rule: commits are signed.');
97
- writeFileSync(join(pkg, 'AGENTS.md'), 'Package rule: this package is generated.');
98
- const systemPrompt = await drive(pkg);
99
- expect(systemPrompt).toContain('Repository rule: commits are signed.');
100
- expect(systemPrompt).toContain('Package rule: this package is generated.');
101
- expect(systemPrompt.indexOf('Repository rule'), 'the nearer file has to come last or its override never takes effect').toBeLessThan(systemPrompt.indexOf('Package rule'));
102
- });
103
- it('do not displace the identity block or the memory that was already there', async () => {
104
- // The composition is a join over a list, and the ordinary way to break a
105
- // join is to replace an element instead of adding one. If the project
106
- // block arrived by overwriting `NAMZU_IDENTITY`, every assertion above
107
- // would still pass and the agent would have lost its anti-fabrication
108
- // rules to a file it found on disk.
109
- writeFileSync(join(pkg, 'AGENTS.md'), 'Never use a default export.');
110
- const systemPrompt = await drive(pkg);
111
- expect(systemPrompt).toContain('You are namzu');
112
- expect(systemPrompt).toContain('CRITICAL — never fabricate');
113
- expect(systemPrompt.indexOf('You are namzu'), 'instructions read off a working directory must not precede the rules they cannot rewrite').toBeLessThan(systemPrompt.indexOf('Never use a default export.'));
114
- });
115
- it('add nothing to the prompt when the project declares none', async () => {
116
- const systemPrompt = await drive(pkg);
117
- expect(systemPrompt).not.toContain('Project instructions');
118
- // The loader returns `null` for "no file", and the composition is a join
119
- // over a list. Drop the filter that removes the empty slots and the
120
- // literal four characters `null` are sent to the model between the
121
- // identity block and the skills block, on every run in every directory
122
- // with no AGENTS.md — while the assertion above still passes.
123
- expect(systemPrompt, 'an absent block must be absent, not the word null').not.toContain('null');
124
- expect(systemPrompt, 'the identity block still has to be there').toContain('You are namzu');
125
- });
126
- it('are reported by the session, as the exact set that was injected', async () => {
127
- writeFileSync(join(repo, 'AGENTS.md'), 'Repository rule.');
128
- writeFileSync(join(pkg, 'AGENTS.md'), 'Package rule.');
129
- const session = await openSessionIn(pkg);
130
- expect(session.instructionFiles).toEqual([join(repo, 'AGENTS.md'), join(pkg, 'AGENTS.md')]);
131
- });
132
- it('bind the sub-agents this session can delegate to', async () => {
133
- const registered = [];
134
- vi.spyOn(AgentRegistry.prototype, 'register').mockImplementation((def) => {
135
- for (const d of Array.isArray(def) ? def : [def])
136
- registered.push(d);
137
- });
138
- writeFileSync(join(pkg, 'AGENTS.md'), 'Never use a default export.');
139
- await openSessionIn(pkg);
140
- const general = registered.find((d) => d.info.id === 'general-purpose');
141
- if (!general?.configBuilder) {
142
- throw new Error('the sub-agent runtime did not stand up — this test proves nothing');
143
- }
144
- // `systemPrompt` is on the config the builder produces, not on the
145
- // definition: the definition is what a reader would reach for and it
146
- // carries no prompt at all.
147
- const config = (await general.configBuilder({}));
148
- const childPrompt = config.systemPrompt ?? '';
149
- expect(childPrompt).toContain('Never use a default export.');
150
- expect(childPrompt, "a delegated task must keep its own guardrails as well as the project's").toContain('Never fabricate.');
151
- });
152
- });
153
- //# sourceMappingURL=project-instructions-reach-the-turn.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-instructions-reach-the-turn.test.js","sourceRoot":"","sources":["../../src/__tests__/project-instructions-reach-the-turn.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.test.d.ts","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":""}
package/dist/cli.test.js DELETED
@@ -1,108 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it } from 'vitest';
2
- import { runCli } from './cli.js';
3
- describe('runCli', () => {
4
- let stdout;
5
- let stderr;
6
- let originalStdoutWrite;
7
- let originalStderrWrite;
8
- beforeEach(() => {
9
- stdout = '';
10
- stderr = '';
11
- originalStdoutWrite = process.stdout.write.bind(process.stdout);
12
- originalStderrWrite = process.stderr.write.bind(process.stderr);
13
- process.stdout.write = ((chunk) => {
14
- stdout += typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString('utf8');
15
- return true;
16
- });
17
- process.stderr.write = ((chunk) => {
18
- stderr += typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString('utf8');
19
- return true;
20
- });
21
- });
22
- afterEach(() => {
23
- process.stdout.write = originalStdoutWrite;
24
- process.stderr.write = originalStderrWrite;
25
- });
26
- const invoke = (args) => runCli({ argv: ['node', 'namzu', ...args] });
27
- it('--help returns 0 and lists every registered command', async () => {
28
- const code = await invoke(['--help']);
29
- expect(code).toBe(0);
30
- // Commander prints help to stdout.
31
- expect(stdout).toContain('namzu');
32
- expect(stdout).toContain('doctor');
33
- // `providers-json` is a command; bare `providers` is not, and the
34
- // difference is invisible to `toContain('providers')` — that assertion
35
- // stayed green through the removal of the `providers` profile command
36
- // because `providers-json` contains it as a prefix. This is the same
37
- // trap `tools` fell into below, so it is anchored the same way: the
38
- // sibling must be present, and the removed command must be absent as a
39
- // command rather than as a substring.
40
- expect(stdout).toMatch(/^\s+providers-json\b/m);
41
- expect(stdout).not.toMatch(/^\s+providers\s/m);
42
- expect(stdout).toContain('skills');
43
- expect(stdout).toContain('serve');
44
- // `tools` was asserted here until the peer-daemon removal deleted the
45
- // command. The assertion kept passing, because "tools" also occurs in
46
- // the --dangerously-skip-permissions description ("Run tools without
47
- // asking…") — a substring match on whole help output cannot tell a
48
- // command from a word in a sentence. Anchored to the command column so
49
- // it means what it says.
50
- expect(stdout).not.toMatch(/^\s+tools\b/m);
51
- // `chat` was a misread of the product shape — the TUI IS the chat,
52
- // not a separate subcommand. `chat` must not appear in help.
53
- expect(stdout).not.toContain('chat');
54
- });
55
- it('no args without a TTY prints a fallback marker and exits 0 (tests run without a TTY)', async () => {
56
- const code = await invoke([]);
57
- expect(code).toBe(0);
58
- expect(stdout).toContain('TUI requires a terminal');
59
- expect(stdout).toContain('namzu --help');
60
- });
61
- it('--version returns 0 and prints a version string', async () => {
62
- const code = await invoke(['--version']);
63
- expect(code).toBe(0);
64
- expect(stdout).toMatch(/\d+\.\d+\.\d+/);
65
- });
66
- it('unknown command returns sysexits EX_USAGE (64)', async () => {
67
- const code = await invoke(['definitely-not-a-command']);
68
- expect(code).toBe(64);
69
- // Commander chooses between "unknown command" and "too many arguments"
70
- // depending on whether a default action is registered. Either wording
71
- // is acceptable — the contract is the sysexit code, not the message.
72
- expect(stderr).toMatch(/unknown command|too many arguments/);
73
- });
74
- it('stub commands print a structured marker and exit 0', async () => {
75
- const code = await invoke(['skills']);
76
- expect(code).toBe(0);
77
- expect(stdout).toContain('M5');
78
- expect(stdout).toContain('skills');
79
- });
80
- it('--format json renders stubs as JSON', async () => {
81
- const code = await invoke(['--format', 'json', 'skills']);
82
- expect(code).toBe(0);
83
- const parsed = JSON.parse(stdout);
84
- expect(parsed.stub).toBe(true);
85
- expect(parsed.milestone).toBe('M5');
86
- });
87
- it('--format yaml renders stubs as YAML', async () => {
88
- const code = await invoke(['--format', 'yaml', 'skills']);
89
- expect(code).toBe(0);
90
- expect(stdout).toContain('stub: true');
91
- expect(stdout).toContain('milestone: M5');
92
- });
93
- it('doctor command pass-through preserves --help routing to the doctor', async () => {
94
- // The legacy doctor --help text starts with "namzu doctor —" while the
95
- // shell help would start with "Usage: namzu". This distinguishes them.
96
- const code = await invoke(['doctor', '--help']);
97
- expect(code).toBe(0);
98
- expect(stdout).toContain('namzu doctor');
99
- expect(stdout).toContain('--per-check-timeout');
100
- });
101
- it('doctor command pass-through forwards unknown flags into doctor parser', async () => {
102
- const code = await invoke(['doctor', '--frobnicate']);
103
- // doctor's own parser surfaces 70 (EXIT_INTERNAL_ERROR) on unknown options.
104
- expect(code).toBe(64);
105
- expect(stderr).toContain('unknown option: --frobnicate');
106
- });
107
- });
108
- //# sourceMappingURL=cli.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=eval.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eval.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/eval.test.ts"],"names":[],"mappings":""}