@patze/code-cli 0.41.0 → 0.42.2

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 (86) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/VERSION +1 -1
  3. package/dist/cli/commands/diff-format.js +4 -4
  4. package/dist/cli/commands/diff-format.js.map +1 -1
  5. package/dist/cli/commands/doctor.js +2 -2
  6. package/dist/cli/commands/doctor.js.map +1 -1
  7. package/dist/cli/commands/inspect-format.js +1 -1
  8. package/dist/cli/commands/inspect-format.js.map +1 -1
  9. package/dist/cli/commands/plan-format.js +1 -1
  10. package/dist/cli/commands/plan-format.js.map +1 -1
  11. package/dist/cli/commands/status-format.d.ts.map +1 -1
  12. package/dist/cli/commands/status-format.js +3 -3
  13. package/dist/cli/commands/status-format.js.map +1 -1
  14. package/dist/cli/help.js +3 -3
  15. package/dist/cli/help.js.map +1 -1
  16. package/dist/cli/interactive/agent-turn-context.js +2 -2
  17. package/dist/cli/interactive/agent-turn-context.js.map +1 -1
  18. package/dist/cli/interactive/agent-turn-format.d.ts.map +1 -1
  19. package/dist/cli/interactive/agent-turn-format.js +0 -3
  20. package/dist/cli/interactive/agent-turn-format.js.map +1 -1
  21. package/dist/cli/interactive/codex-preview-feed.d.ts.map +1 -1
  22. package/dist/cli/interactive/codex-preview-feed.js +6 -9
  23. package/dist/cli/interactive/codex-preview-feed.js.map +1 -1
  24. package/dist/cli/interactive/header.d.ts.map +1 -1
  25. package/dist/cli/interactive/header.js +3 -5
  26. package/dist/cli/interactive/header.js.map +1 -1
  27. package/dist/cli/interactive/model-command.d.ts +1 -0
  28. package/dist/cli/interactive/model-command.d.ts.map +1 -1
  29. package/dist/cli/interactive/model-command.js +6 -14
  30. package/dist/cli/interactive/model-command.js.map +1 -1
  31. package/dist/cli/interactive/model-selector.d.ts +12 -0
  32. package/dist/cli/interactive/model-selector.d.ts.map +1 -0
  33. package/dist/cli/interactive/model-selector.js +97 -0
  34. package/dist/cli/interactive/model-selector.js.map +1 -0
  35. package/dist/cli/interactive/permissions-command.d.ts.map +1 -1
  36. package/dist/cli/interactive/permissions-command.js +7 -8
  37. package/dist/cli/interactive/permissions-command.js.map +1 -1
  38. package/dist/cli/interactive/permissions-format.d.ts.map +1 -1
  39. package/dist/cli/interactive/permissions-format.js +5 -6
  40. package/dist/cli/interactive/permissions-format.js.map +1 -1
  41. package/dist/cli/interactive/permissions-keys.d.ts +8 -0
  42. package/dist/cli/interactive/permissions-keys.d.ts.map +1 -1
  43. package/dist/cli/interactive/permissions-keys.js +28 -0
  44. package/dist/cli/interactive/permissions-keys.js.map +1 -1
  45. package/dist/cli/interactive/session-controller.d.ts.map +1 -1
  46. package/dist/cli/interactive/session-controller.js +1 -0
  47. package/dist/cli/interactive/session-controller.js.map +1 -1
  48. package/dist/cli/interactive/session-hints.js +1 -1
  49. package/dist/cli/interactive/session-hints.js.map +1 -1
  50. package/dist/cli/interactive/session-store.d.ts +1 -1
  51. package/dist/cli/interactive/session-store.d.ts.map +1 -1
  52. package/dist/cli/interactive/session-store.js +2 -5
  53. package/dist/cli/interactive/session-store.js.map +1 -1
  54. package/dist/cli/interactive/slash-dispatch.d.ts +2 -0
  55. package/dist/cli/interactive/slash-dispatch.d.ts.map +1 -1
  56. package/dist/cli/interactive/slash-dispatch.js +17 -5
  57. package/dist/cli/interactive/slash-dispatch.js.map +1 -1
  58. package/dist/cli/interactive/slash-registry.d.ts.map +1 -1
  59. package/dist/cli/interactive/slash-registry.js +8 -5
  60. package/dist/cli/interactive/slash-registry.js.map +1 -1
  61. package/dist/cli/interactive/tools-catalog.js +2 -2
  62. package/dist/cli/interactive/tools-catalog.js.map +1 -1
  63. package/dist/cli/interactive/tty-arrow-selector.d.ts +17 -0
  64. package/dist/cli/interactive/tty-arrow-selector.d.ts.map +1 -0
  65. package/dist/cli/interactive/tty-arrow-selector.js +110 -0
  66. package/dist/cli/interactive/tty-arrow-selector.js.map +1 -0
  67. package/dist/config/model-preferences.d.ts +1 -0
  68. package/dist/config/model-preferences.d.ts.map +1 -1
  69. package/dist/config/model-preferences.js +11 -2
  70. package/dist/config/model-preferences.js.map +1 -1
  71. package/dist/config/models.d.ts +10 -0
  72. package/dist/config/models.d.ts.map +1 -1
  73. package/dist/config/models.js +65 -13
  74. package/dist/config/models.js.map +1 -1
  75. package/dist/runtime/apply-verify.js +3 -3
  76. package/dist/runtime/apply-verify.js.map +1 -1
  77. package/dist/runtime/permissions.d.ts +2 -1
  78. package/dist/runtime/permissions.d.ts.map +1 -1
  79. package/dist/runtime/permissions.js +25 -11
  80. package/dist/runtime/permissions.js.map +1 -1
  81. package/dist/runtime/sandbox.d.ts +1 -0
  82. package/dist/runtime/sandbox.d.ts.map +1 -1
  83. package/dist/runtime/sandbox.js +4 -1
  84. package/dist/runtime/sandbox.js.map +1 -1
  85. package/opentui/src/App.tsx +31 -11
  86. package/package.json +1 -1
@@ -1,3 +1,6 @@
1
+ export function formatSandboxModeLabel(mode) {
2
+ return mode === "workspace-write" ? "workspace" : "local";
3
+ }
1
4
  export function resolveSandbox(mode) {
2
5
  if (mode === "workspace-write") {
3
6
  return {
@@ -11,7 +14,7 @@ export function resolveSandbox(mode) {
11
14
  mode: "read-only",
12
15
  networkAllowed: false,
13
16
  writeAllowed: false,
14
- description: "Read-only local inspection; mutations require apply + server approval.",
17
+ description: "Local inspection only; agent runs on the server when auth is ready.",
15
18
  };
16
19
  }
17
20
  //# sourceMappingURL=sandbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/runtime/sandbox.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI;YACJ,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,8EAA8E;SAC5F,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,wEAAwE;KACtF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/runtime/sandbox.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,sBAAsB,CAAC,IAAiB;IACtD,OAAO,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI;YACJ,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,8EAA8E;SAC5F,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,qEAAqE;KACnF,CAAA;AACH,CAAC"}
@@ -24,6 +24,11 @@ import { classifyPlainOutput, createTranscriptSink, inferErrorKind } from "./tui
24
24
  import { upsertTranscriptEntry } from "../../dist/cli/interactive/transcript-upsert.js"
25
25
  import { applyOpenTuiAgentEvent } from "../../dist/cli/interactive/opentui-agent-event.js"
26
26
  import type { AgentEvent } from "../../dist/cli/interactive/agent-events.js"
27
+ import {
28
+ formatModelDisplayName,
29
+ getModelCatalogEntry,
30
+ PATZE_MODEL_CATALOG,
31
+ } from "../../dist/config/models.js"
27
32
 
28
33
  extend({ "tui-input": InputRenderable })
29
34
 
@@ -462,6 +467,7 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
462
467
  await submitToController("/help")
463
468
  return
464
469
  case "model":
470
+ case "models":
465
471
  if (!args.trim()) {
466
472
  openModelPicker()
467
473
  return
@@ -540,7 +546,7 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
540
546
  : composerChromeRows)
541
547
  )
542
548
 
543
- const composerModelLabel = `${currentModel}${modelThinking ? " · thinking" : ""}${modelFast ? " · fast" : ""}`
549
+ const composerModelLabel = `${formatModelDisplayName(currentModel)}${modelThinking ? " · thinking" : ""}${modelFast ? " · fast" : ""}`
544
550
  const composerPathLabel = shortenComposerPath(cwd)
545
551
 
546
552
  const scrollableEntries = useMemo(() => transcript, [transcript])
@@ -571,17 +577,31 @@ export function App({ cwd: cwdArg }: { cwd?: string }) {
571
577
  }, [input, slashMenuReady])
572
578
 
573
579
  const modelItems = useMemo(() => {
574
- const models = supportedModels.length
575
- ? supportedModels
576
- : ["composer-2.5-fast", "composer-2.5", "composer-2", "gpt-5.4-mini", "gpt-5.4"]
580
+ const catalogIds = PATZE_MODEL_CATALOG.map((entry) => entry.id)
581
+ const merged = [...new Set([...catalogIds, ...supportedModels])]
577
582
  const normalized = modelSearch.trim().toLowerCase()
578
- return models
579
- .filter((model) => !normalized || model.toLowerCase().includes(normalized))
580
- .map((model) => ({
581
- name: model,
582
- description: model === currentModel ? "current" : "",
583
- value: model,
584
- }))
583
+ return merged
584
+ .filter((model) => {
585
+ if (!normalized) {
586
+ return true
587
+ }
588
+ const display = formatModelDisplayName(model).toLowerCase()
589
+ if (model.toLowerCase().includes(normalized) || display.includes(normalized)) {
590
+ return true
591
+ }
592
+ if (normalized === "patze" && model === "composer-2.5-fast") {
593
+ return true
594
+ }
595
+ return false
596
+ })
597
+ .map((model) => {
598
+ const entry = getModelCatalogEntry(model)
599
+ return {
600
+ name: formatModelDisplayName(model),
601
+ description: entry?.description ?? "",
602
+ value: model,
603
+ }
604
+ })
585
605
  }, [currentModel, modelSearch, supportedModels])
586
606
 
587
607
  const toggleFeedExpand = useCallback((target: "think" | "diff") => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patze/code-cli",
3
- "version": "0.41.0",
3
+ "version": "0.42.2",
4
4
  "description": "Patze Code — local terminal coding agent client for PatzeAgents",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",