jinzd-ai-cli 0.4.113 → 0.4.115

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.
@@ -845,132 +845,132 @@ button, a, .session-item, .file-tree-row, .template-item, .tool-item, .mcp-serve
845
845
  @media (display-mode: standalone) {
846
846
  .navbar { padding-top: env(safe-area-inset-top, 0px); }
847
847
  }
848
-
849
- /* ── Session Replay (B1) ───────────────────────────── */
850
- .replay-step {
851
- border-left: 3px solid hsl(var(--b3));
852
- padding: 0.5rem 0.6rem;
853
- background: hsl(var(--b1));
854
- border-radius: 0 0.35rem 0.35rem 0;
855
- font-size: 0.85rem;
856
- }
857
- .replay-step.role-user { border-left-color: #3b82f6; }
858
- .replay-step.role-assistant { border-left-color: #10b981; }
859
- .replay-step.role-tool { border-left-color: #f59e0b; }
860
- .replay-step.role-tool.error { border-left-color: #ef4444; }
861
- .replay-step-header {
862
- display: flex;
863
- gap: 0.5rem;
864
- align-items: center;
865
- font-size: 0.72rem;
866
- opacity: 0.75;
867
- margin-bottom: 0.25rem;
868
- }
869
- .replay-step-header .role-tag {
870
- font-weight: 600;
871
- padding: 0 0.35rem;
872
- border-radius: 0.25rem;
873
- background: hsl(var(--b3));
874
- }
875
- .replay-step-body {
876
- white-space: pre-wrap;
877
- word-break: break-word;
878
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
879
- font-size: 0.78rem;
880
- max-height: 18rem;
881
- overflow-y: auto;
882
- }
883
- .replay-step-body.text-body {
884
- font-family: inherit;
885
- font-size: 0.85rem;
886
- }
887
- .replay-tool-block {
888
- margin-top: 0.3rem;
889
- padding: 0.4rem;
890
- background: hsl(var(--b2));
891
- border-radius: 0.3rem;
892
- font-size: 0.78rem;
893
- }
894
- .replay-tool-block .tool-name {
895
- font-weight: 600;
896
- color: #f59e0b;
897
- }
898
- .replay-tool-block pre {
899
- margin: 0.2rem 0 0;
900
- white-space: pre-wrap;
901
- word-break: break-word;
902
- font-size: 0.72rem;
903
- max-height: 12rem;
904
- overflow-y: auto;
905
- }
906
-
907
- /* ── B2 Branch picker (sidebar) ─────────────────────────── */
908
- .branch-item {
909
- display: flex;
910
- align-items: center;
911
- gap: 0.35rem;
912
- padding: 0.35rem 0.5rem;
913
- border-radius: 0.35rem;
914
- cursor: pointer;
915
- border: 1px solid transparent;
916
- transition: background 0.1s, border-color 0.1s;
917
- font-size: 0.78rem;
918
- line-height: 1.25;
919
- position: relative;
920
- }
921
- .branch-item:hover {
922
- background: rgba(128, 128, 128, 0.12);
923
- }
924
- .branch-item.active {
925
- background: rgba(34, 197, 94, 0.12);
926
- border-color: rgba(34, 197, 94, 0.45);
927
- }
928
- .branch-item .branch-marker {
929
- flex-shrink: 0;
930
- width: 0.8rem;
931
- color: rgb(34, 197, 94);
932
- }
933
- .branch-item .branch-title {
934
- flex: 1;
935
- min-width: 0;
936
- overflow: hidden;
937
- text-overflow: ellipsis;
938
- white-space: nowrap;
939
- }
940
- .branch-item .branch-id {
941
- flex-shrink: 0;
942
- opacity: 0.5;
943
- font-family: ui-monospace, SFMono-Regular, monospace;
944
- font-size: 0.7rem;
945
- }
946
- .branch-item .branch-count {
947
- flex-shrink: 0;
948
- opacity: 0.55;
949
- font-size: 0.7rem;
950
- }
951
- .branch-item .branch-actions {
952
- display: none;
953
- gap: 0.15rem;
954
- flex-shrink: 0;
955
- }
956
- .branch-item:hover .branch-actions {
957
- display: flex;
958
- }
959
- .branch-item .branch-actions button {
960
- background: transparent;
961
- border: none;
962
- padding: 0 0.2rem;
963
- font-size: 0.72rem;
964
- cursor: pointer;
965
- opacity: 0.7;
966
- }
967
- .branch-item .branch-actions button:hover {
968
- opacity: 1;
969
- }
970
- .branch-item .branch-indent {
971
- flex-shrink: 0;
972
- color: rgba(128, 128, 128, 0.5);
973
- font-family: ui-monospace, SFMono-Regular, monospace;
974
- font-size: 0.72rem;
975
- white-space: pre;
976
- }
848
+
849
+ /* ── Session Replay (B1) ───────────────────────────── */
850
+ .replay-step {
851
+ border-left: 3px solid hsl(var(--b3));
852
+ padding: 0.5rem 0.6rem;
853
+ background: hsl(var(--b1));
854
+ border-radius: 0 0.35rem 0.35rem 0;
855
+ font-size: 0.85rem;
856
+ }
857
+ .replay-step.role-user { border-left-color: #3b82f6; }
858
+ .replay-step.role-assistant { border-left-color: #10b981; }
859
+ .replay-step.role-tool { border-left-color: #f59e0b; }
860
+ .replay-step.role-tool.error { border-left-color: #ef4444; }
861
+ .replay-step-header {
862
+ display: flex;
863
+ gap: 0.5rem;
864
+ align-items: center;
865
+ font-size: 0.72rem;
866
+ opacity: 0.75;
867
+ margin-bottom: 0.25rem;
868
+ }
869
+ .replay-step-header .role-tag {
870
+ font-weight: 600;
871
+ padding: 0 0.35rem;
872
+ border-radius: 0.25rem;
873
+ background: hsl(var(--b3));
874
+ }
875
+ .replay-step-body {
876
+ white-space: pre-wrap;
877
+ word-break: break-word;
878
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
879
+ font-size: 0.78rem;
880
+ max-height: 18rem;
881
+ overflow-y: auto;
882
+ }
883
+ .replay-step-body.text-body {
884
+ font-family: inherit;
885
+ font-size: 0.85rem;
886
+ }
887
+ .replay-tool-block {
888
+ margin-top: 0.3rem;
889
+ padding: 0.4rem;
890
+ background: hsl(var(--b2));
891
+ border-radius: 0.3rem;
892
+ font-size: 0.78rem;
893
+ }
894
+ .replay-tool-block .tool-name {
895
+ font-weight: 600;
896
+ color: #f59e0b;
897
+ }
898
+ .replay-tool-block pre {
899
+ margin: 0.2rem 0 0;
900
+ white-space: pre-wrap;
901
+ word-break: break-word;
902
+ font-size: 0.72rem;
903
+ max-height: 12rem;
904
+ overflow-y: auto;
905
+ }
906
+
907
+ /* ── B2 Branch picker (sidebar) ─────────────────────────── */
908
+ .branch-item {
909
+ display: flex;
910
+ align-items: center;
911
+ gap: 0.35rem;
912
+ padding: 0.35rem 0.5rem;
913
+ border-radius: 0.35rem;
914
+ cursor: pointer;
915
+ border: 1px solid transparent;
916
+ transition: background 0.1s, border-color 0.1s;
917
+ font-size: 0.78rem;
918
+ line-height: 1.25;
919
+ position: relative;
920
+ }
921
+ .branch-item:hover {
922
+ background: rgba(128, 128, 128, 0.12);
923
+ }
924
+ .branch-item.active {
925
+ background: rgba(34, 197, 94, 0.12);
926
+ border-color: rgba(34, 197, 94, 0.45);
927
+ }
928
+ .branch-item .branch-marker {
929
+ flex-shrink: 0;
930
+ width: 0.8rem;
931
+ color: rgb(34, 197, 94);
932
+ }
933
+ .branch-item .branch-title {
934
+ flex: 1;
935
+ min-width: 0;
936
+ overflow: hidden;
937
+ text-overflow: ellipsis;
938
+ white-space: nowrap;
939
+ }
940
+ .branch-item .branch-id {
941
+ flex-shrink: 0;
942
+ opacity: 0.5;
943
+ font-family: ui-monospace, SFMono-Regular, monospace;
944
+ font-size: 0.7rem;
945
+ }
946
+ .branch-item .branch-count {
947
+ flex-shrink: 0;
948
+ opacity: 0.55;
949
+ font-size: 0.7rem;
950
+ }
951
+ .branch-item .branch-actions {
952
+ display: none;
953
+ gap: 0.15rem;
954
+ flex-shrink: 0;
955
+ }
956
+ .branch-item:hover .branch-actions {
957
+ display: flex;
958
+ }
959
+ .branch-item .branch-actions button {
960
+ background: transparent;
961
+ border: none;
962
+ padding: 0 0.2rem;
963
+ font-size: 0.72rem;
964
+ cursor: pointer;
965
+ opacity: 0.7;
966
+ }
967
+ .branch-item .branch-actions button:hover {
968
+ opacity: 1;
969
+ }
970
+ .branch-item .branch-indent {
971
+ flex-shrink: 0;
972
+ color: rgba(128, 128, 128, 0.5);
973
+ font-family: ui-monospace, SFMono-Regular, monospace;
974
+ font-size: 0.72rem;
975
+ white-space: pre;
976
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.4.113",
3
+ "version": "0.4.115",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,6 +21,7 @@
21
21
  "dev": "tsx src/index.ts",
22
22
  "test": "vitest run",
23
23
  "test:watch": "vitest",
24
+ "test:coverage": "vitest run --coverage",
24
25
  "lint": "eslint src",
25
26
  "prepublishOnly": "npm run build",
26
27
  "patch": "node scripts/patch-sqlite.mjs",
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- AuthManager
4
- } from "./chunk-BYNY5JPB.js";
5
- import "./chunk-PDX44BCA.js";
6
- export {
7
- AuthManager
8
- };