jinzd-ai-cli 0.4.273 → 0.4.276

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 (103) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +610 -610
  3. package/README.zh-CN.md +559 -559
  4. package/dist/agent-client-6GX6QQDU.js +0 -0
  5. package/dist/auth-PE3Z5OHS.js +0 -0
  6. package/dist/{batch-LOW3GM26.js → batch-F7SKIBI3.js} +2 -2
  7. package/dist/chat-index-2D5GK2DB.js +0 -0
  8. package/dist/chunk-23SJVOQD.js +0 -0
  9. package/dist/chunk-3FEZSLGI.js +0 -0
  10. package/dist/chunk-4BKXL7SM.js +0 -0
  11. package/dist/{chunk-AUEX6RNY.js → chunk-4KTK2OYU.js} +54 -21
  12. package/dist/{chunk-M3NXF4GD.js → chunk-4NH4Q7QK.js} +1 -1
  13. package/dist/chunk-5C76XDDF.js +0 -0
  14. package/dist/chunk-6YZEZFX5.js +0 -0
  15. package/dist/{chunk-FHXLAJJG.js → chunk-AOISQVXS.js} +1 -1
  16. package/dist/{chunk-FNLWPYP5.js → chunk-ATD2Y3PB.js} +1 -1
  17. package/dist/chunk-BXP6YZ2P.js +0 -0
  18. package/dist/chunk-CGDYO52A.js +0 -0
  19. package/dist/chunk-CKH4KQ4E.js +0 -0
  20. package/dist/{chunk-JT6UN5C6.js → chunk-DPTEC6AQ.js} +3 -0
  21. package/dist/{chunk-EDAUDILT.js → chunk-FLDYAXJR.js} +1 -1
  22. package/dist/chunk-GHWZVPUV.js +0 -0
  23. package/dist/chunk-GLSR2NR3.js +0 -0
  24. package/dist/chunk-HLWUDRBO.js +0 -0
  25. package/dist/chunk-HOSJZMQS.js +0 -0
  26. package/dist/chunk-IW3Q7AE5.js +0 -0
  27. package/dist/chunk-KHYD3WXE.js +0 -0
  28. package/dist/{chunk-Z3UXZ5EI.js → chunk-KWSGSSWN.js} +1 -1
  29. package/dist/{chunk-4FIDMC2K.js → chunk-MCKUGWOY.js} +69 -4
  30. package/dist/chunk-MX75TNE5.js +0 -0
  31. package/dist/{chunk-FN7DE4HA.js → chunk-MXPUOF5K.js} +4 -4
  32. package/dist/chunk-NR5U6LVG.js +0 -0
  33. package/dist/{chunk-ZWCQQZT5.js → chunk-NXAHXWPF.js} +1 -1
  34. package/dist/{chunk-R4YGDJPL.js → chunk-NXNXWM6H.js} +5 -5
  35. package/dist/chunk-NYNSYLFY.js +0 -0
  36. package/dist/{chunk-WSCZRQDR.js → chunk-OMBKLWLJ.js} +1 -1
  37. package/dist/chunk-RYQBBEMM.js +0 -0
  38. package/dist/{chunk-3OBY7WSS.js → chunk-TEXT4DAT.js} +7 -1
  39. package/dist/chunk-TU3L3PW7.js +0 -0
  40. package/dist/{chunk-LEK5WGKV.js → chunk-UNL7NR55.js} +1 -1
  41. package/dist/chunk-UUSRWSSX.js +0 -0
  42. package/dist/{chunk-T65VFCID.js → chunk-VF7DMSKF.js} +1 -1
  43. package/dist/chunk-VOIOUJXI.js +0 -0
  44. package/dist/{chunk-MTQBSOZW.js → chunk-WYDP2WEQ.js} +4 -4
  45. package/dist/chunk-XNFIYS7G.js +0 -0
  46. package/dist/{ci-C5YMQXCS.js → ci-VURFRMWQ.js} +6 -6
  47. package/dist/{ci-format-R6EMNOGZ.js → ci-format-AFJJIURF.js} +2 -2
  48. package/dist/config-command-E5DHADEV.js +0 -0
  49. package/dist/{constants-QJCNMBPJ.js → constants-WO7ERENL.js} +1 -1
  50. package/dist/{doctor-cli-5CM2I6OF.js → doctor-cli-BGGILTHE.js} +6 -6
  51. package/dist/electron-server.js +167 -57
  52. package/dist/file-checkpoint-NKBHGC7L.js +0 -0
  53. package/dist/git-context-EXOEHQSF.js +0 -0
  54. package/dist/{hub-7JBSZOSD.js → hub-Z73RLNJI.js} +1 -1
  55. package/dist/hub-server-RF6LURXY.js +0 -0
  56. package/dist/index.js +57 -43
  57. package/dist/indexer-VZETNE4H.js +0 -0
  58. package/dist/persist-PQM4BRI4.js +0 -0
  59. package/dist/{persistent-memory-4E53HW3U.js → persistent-memory-5QMARQJF.js} +2 -2
  60. package/dist/{persistent-memory-KYRY56PG.js → persistent-memory-CI544RLT.js} +2 -2
  61. package/dist/{pr-NPUGZSXB.js → pr-24REDMGV.js} +6 -6
  62. package/dist/project-trust-NKYHL3VZ.js +0 -0
  63. package/dist/{run-tests-5FHQ5IBX.js → run-tests-72VNZXNT.js} +2 -2
  64. package/dist/{run-tests-SU5CDQKF.js → run-tests-JJ3KOY5E.js} +2 -2
  65. package/dist/semantic-HLAE2O4F.js +0 -0
  66. package/dist/{server-ER36M7TR.js → server-JMXC2N3F.js} +40 -29
  67. package/dist/{server-77YS5NNN.js → server-QJHCJDA7.js} +6 -6
  68. package/dist/setup-wizard-S55ICNHH.js +0 -0
  69. package/dist/store-MWNHVGJT.js +0 -0
  70. package/dist/{task-orchestrator-56PQ7LGV.js → task-orchestrator-DJN36HP5.js} +6 -6
  71. package/dist/{usage-3YATXRFZ.js → usage-HXJVDETY.js} +3 -3
  72. package/dist/vector-store-BBDXB5IQ.js +0 -0
  73. package/dist/wasm/web-tree-sitter.wasm +0 -0
  74. package/dist/web/client/actions.js +104 -104
  75. package/dist/web/client/actions.js.br +0 -0
  76. package/dist/web/client/actions.js.gz +0 -0
  77. package/dist/web/client/api.js.gz +0 -0
  78. package/dist/web/client/app.js.gz +0 -0
  79. package/dist/web/client/dom.js.gz +0 -0
  80. package/dist/web/client/icon.svg +22 -22
  81. package/dist/web/client/icon.svg.br +0 -0
  82. package/dist/web/client/icon.svg.gz +0 -0
  83. package/dist/web/client/index.html +388 -388
  84. package/dist/web/client/index.html.br +0 -0
  85. package/dist/web/client/index.html.gz +0 -0
  86. package/dist/web/client/manifest.json +15 -15
  87. package/dist/web/client/sidebar-tabs.js.gz +0 -0
  88. package/dist/web/client/state.js.gz +0 -0
  89. package/dist/web/client/style.css +991 -991
  90. package/dist/web/client/style.css.br +0 -0
  91. package/dist/web/client/style.css.gz +0 -0
  92. package/dist/web/client/sw.js +85 -85
  93. package/dist/web/client/sw.js.br +0 -0
  94. package/dist/web/client/sw.js.gz +0 -0
  95. package/dist/web/client/templates.js.gz +0 -0
  96. package/dist/web/client/util.js.gz +0 -0
  97. package/dist/web/client/vendor/daisyui-full.min.css.gz +0 -0
  98. package/dist/web/client/vendor/github-dark.min.css.gz +0 -0
  99. package/dist/web/client/vendor/github.min.css.gz +0 -0
  100. package/dist/web/client/vendor/highlight.min.js.gz +0 -0
  101. package/dist/web/client/vendor/marked.min.js.gz +0 -0
  102. package/dist/web/client/vendor/tailwind.js.gz +0 -0
  103. package/package.json +178 -178
File without changes
File without changes
@@ -1,96 +1,96 @@
1
- /**
2
- * Declarative Web UI actions and startup hooks (ES module — P0-4 Phase 2).
3
- * Kept separate from app.js so static and dynamic UI markup can avoid inline handlers.
4
- *
5
- * Note: functions exposed on `window.*` by app.js (startHub, respondConfirm, …)
6
- * are still called via `window.` below and need no import.
7
- */
8
-
9
- import {
10
- toggleAuthMode,
11
- showEnableAuthDialog,
12
- handleLogout,
13
- toggleBatchSelect,
14
- selectAllSessions,
15
- batchDeleteSelected,
16
- closeSidebar,
17
- insertFileRef,
18
- send,
19
- handleAuth,
20
- } from './app.js';
21
- import {
22
- importTemplates,
23
- exportTemplates,
24
- showAddTemplate,
25
- cancelTemplateForm,
26
- saveTemplateForm,
27
- useTemplate,
28
- editTemplate,
29
- deleteTemplate,
30
- } from './templates.js';
31
-
32
- function handleDeclarativeAction(action, el) {
33
- switch (action) {
34
- case 'toggle-auth-mode': toggleAuthMode(); break;
35
- case 'show-enable-auth': showEnableAuthDialog(); break;
36
- case 'logout': handleLogout(); break;
37
- case 'toggle-batch-select': toggleBatchSelect(); break;
38
- case 'select-all-sessions': selectAllSessions(); break;
39
- case 'batch-delete-selected': batchDeleteSelected(); break;
40
- case 'start-hub': window.startHub(); break;
41
- case 'abort-hub': window.abortHub(); break;
42
- case 'close-sidebar': closeSidebar(); break;
43
- case 'import-templates': importTemplates(); break;
44
- case 'export-templates': exportTemplates(); break;
45
- case 'show-add-template': showAddTemplate(); break;
46
- case 'cancel-template-form': cancelTemplateForm(); break;
47
- case 'save-template-form': saveTemplateForm(); break;
48
- case 'confirm-response': window.respondConfirm(el.dataset.requestId, el.dataset.approved === 'true'); break;
49
- case 'batch-confirm-response': window.respondBatchConfirm(el.dataset.requestId, el); break;
50
- case 'batch-deny-response': window.respondBatchDeny(el.dataset.requestId, el); break;
51
- case 'ask-user-response': window.respondAskUser(el.dataset.requestId); break;
52
- case 'auto-pause-response': window.respondAutoPause(el.dataset.requestId, el.dataset.pauseAction); break;
53
- case 'copy-confirm-diff': window.copyConfirmDiff(el); break;
54
- case 'use-template': useTemplate(el.closest('[data-tpl-id]')?.dataset.tplId); break;
55
- case 'edit-template': editTemplate(el.closest('[data-tpl-id]')?.dataset.tplId); break;
56
- case 'delete-template': deleteTemplate(el.closest('[data-tpl-id]')?.dataset.tplId); break;
57
- case 'insert-file-ref': insertFileRef(el.dataset.filePath || ''); break;
58
- case 'show-full-preview':
59
- if (el.previousElementSibling) el.previousElementSibling.style.maxHeight = 'none';
60
- el.remove();
61
- break;
62
- case 'load-session': send({ type: 'command', name: 'session', args: ['load', el.dataset.sessionId] }); break;
63
- }
64
- }
65
-
66
- document.addEventListener('click', (event) => {
67
- const themeEl = event.target.closest('[data-theme-choice]');
68
- if (themeEl) {
69
- event.preventDefault();
70
- window.setTheme(themeEl.dataset.themeChoice);
71
- return;
72
- }
73
-
74
- const actionEl = event.target.closest('[data-action]');
75
- if (!actionEl) return;
76
- event.preventDefault();
77
- handleDeclarativeAction(actionEl.dataset.action, actionEl);
78
- });
79
-
80
- document.addEventListener('keydown', (event) => {
81
- if (event.key !== 'Enter') return;
82
- const actionEl = event.target.closest('[data-enter-action]');
83
- if (!actionEl) return;
84
- event.preventDefault();
85
- handleDeclarativeAction(actionEl.dataset.enterAction, actionEl);
86
- });
87
-
88
- document.getElementById('auth-form')?.addEventListener('submit', handleAuth);
89
-
1
+ /**
2
+ * Declarative Web UI actions and startup hooks (ES module — P0-4 Phase 2).
3
+ * Kept separate from app.js so static and dynamic UI markup can avoid inline handlers.
4
+ *
5
+ * Note: functions exposed on `window.*` by app.js (startHub, respondConfirm, …)
6
+ * are still called via `window.` below and need no import.
7
+ */
8
+
9
+ import {
10
+ toggleAuthMode,
11
+ showEnableAuthDialog,
12
+ handleLogout,
13
+ toggleBatchSelect,
14
+ selectAllSessions,
15
+ batchDeleteSelected,
16
+ closeSidebar,
17
+ insertFileRef,
18
+ send,
19
+ handleAuth,
20
+ } from './app.js';
21
+ import {
22
+ importTemplates,
23
+ exportTemplates,
24
+ showAddTemplate,
25
+ cancelTemplateForm,
26
+ saveTemplateForm,
27
+ useTemplate,
28
+ editTemplate,
29
+ deleteTemplate,
30
+ } from './templates.js';
31
+
32
+ function handleDeclarativeAction(action, el) {
33
+ switch (action) {
34
+ case 'toggle-auth-mode': toggleAuthMode(); break;
35
+ case 'show-enable-auth': showEnableAuthDialog(); break;
36
+ case 'logout': handleLogout(); break;
37
+ case 'toggle-batch-select': toggleBatchSelect(); break;
38
+ case 'select-all-sessions': selectAllSessions(); break;
39
+ case 'batch-delete-selected': batchDeleteSelected(); break;
40
+ case 'start-hub': window.startHub(); break;
41
+ case 'abort-hub': window.abortHub(); break;
42
+ case 'close-sidebar': closeSidebar(); break;
43
+ case 'import-templates': importTemplates(); break;
44
+ case 'export-templates': exportTemplates(); break;
45
+ case 'show-add-template': showAddTemplate(); break;
46
+ case 'cancel-template-form': cancelTemplateForm(); break;
47
+ case 'save-template-form': saveTemplateForm(); break;
48
+ case 'confirm-response': window.respondConfirm(el.dataset.requestId, el.dataset.approved === 'true'); break;
49
+ case 'batch-confirm-response': window.respondBatchConfirm(el.dataset.requestId, el); break;
50
+ case 'batch-deny-response': window.respondBatchDeny(el.dataset.requestId, el); break;
51
+ case 'ask-user-response': window.respondAskUser(el.dataset.requestId); break;
52
+ case 'auto-pause-response': window.respondAutoPause(el.dataset.requestId, el.dataset.pauseAction); break;
53
+ case 'copy-confirm-diff': window.copyConfirmDiff(el); break;
54
+ case 'use-template': useTemplate(el.closest('[data-tpl-id]')?.dataset.tplId); break;
55
+ case 'edit-template': editTemplate(el.closest('[data-tpl-id]')?.dataset.tplId); break;
56
+ case 'delete-template': deleteTemplate(el.closest('[data-tpl-id]')?.dataset.tplId); break;
57
+ case 'insert-file-ref': insertFileRef(el.dataset.filePath || ''); break;
58
+ case 'show-full-preview':
59
+ if (el.previousElementSibling) el.previousElementSibling.style.maxHeight = 'none';
60
+ el.remove();
61
+ break;
62
+ case 'load-session': send({ type: 'command', name: 'session', args: ['load', el.dataset.sessionId] }); break;
63
+ }
64
+ }
65
+
66
+ document.addEventListener('click', (event) => {
67
+ const themeEl = event.target.closest('[data-theme-choice]');
68
+ if (themeEl) {
69
+ event.preventDefault();
70
+ window.setTheme(themeEl.dataset.themeChoice);
71
+ return;
72
+ }
73
+
74
+ const actionEl = event.target.closest('[data-action]');
75
+ if (!actionEl) return;
76
+ event.preventDefault();
77
+ handleDeclarativeAction(actionEl.dataset.action, actionEl);
78
+ });
79
+
80
+ document.addEventListener('keydown', (event) => {
81
+ if (event.key !== 'Enter') return;
82
+ const actionEl = event.target.closest('[data-enter-action]');
83
+ if (!actionEl) return;
84
+ event.preventDefault();
85
+ handleDeclarativeAction(actionEl.dataset.enterAction, actionEl);
86
+ });
87
+
88
+ document.getElementById('auth-form')?.addEventListener('submit', handleAuth);
89
+
90
90
  function registerServiceWorker() {
91
- // Self-updating service worker (v0.4.159). A new SW postMessages
92
- // 'sw-updated' (and triggers controllerchange) when it takes over; reload
93
- // once so users do not stay on stale index.html/app.js after an upgrade.
91
+ // Self-updating service worker (v0.4.159). A new SW postMessages
92
+ // 'sw-updated' (and triggers controllerchange) when it takes over; reload
93
+ // once so users do not stay on stale index.html/app.js after an upgrade.
94
94
  if (!('serviceWorker' in navigator)) return;
95
95
  // A first-time install also emits `controllerchange` after clients.claim().
96
96
  // Reloading in that case resets focus and any in-progress input for no gain:
@@ -102,15 +102,15 @@ function registerServiceWorker() {
102
102
  if (hadController && !swReloaded) {
103
103
  swReloaded = true;
104
104
  location.reload();
105
- }
106
- };
107
- navigator.serviceWorker.addEventListener('message', (e) => {
108
- if (e.data && e.data.type === 'sw-updated') reloadOnce();
109
- });
110
- navigator.serviceWorker.addEventListener('controllerchange', reloadOnce);
111
- navigator.serviceWorker.register('sw.js').then((reg) => {
112
- reg.update();
113
- }).catch(() => {});
114
- }
115
-
116
- registerServiceWorker();
105
+ }
106
+ };
107
+ navigator.serviceWorker.addEventListener('message', (e) => {
108
+ if (e.data && e.data.type === 'sw-updated') reloadOnce();
109
+ });
110
+ navigator.serviceWorker.addEventListener('controllerchange', reloadOnce);
111
+ navigator.serviceWorker.register('sw.js').then((reg) => {
112
+ reg.update();
113
+ }).catch(() => {});
114
+ }
115
+
116
+ registerServiceWorker();
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,22 +1,22 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
- <rect width="512" height="512" rx="96" fill="#1d232a"/>
3
- <g transform="translate(256,240)">
4
- <!-- Head -->
5
- <rect x="-120" y="-100" width="240" height="180" rx="32" fill="#6419e6"/>
6
- <!-- Eyes -->
7
- <circle cx="-50" cy="-20" r="28" fill="#fff"/>
8
- <circle cx="50" cy="-20" r="28" fill="#fff"/>
9
- <circle cx="-50" cy="-20" r="14" fill="#1d232a"/>
10
- <circle cx="50" cy="-20" r="14" fill="#1d232a"/>
11
- <!-- Mouth -->
12
- <rect x="-40" y="30" width="80" height="12" rx="6" fill="#fff" opacity="0.8"/>
13
- <!-- Antenna -->
14
- <line x1="0" y1="-100" x2="0" y2="-140" stroke="#6419e6" stroke-width="8" stroke-linecap="round"/>
15
- <circle cx="0" cy="-148" r="12" fill="#a855f7"/>
16
- <!-- Ears -->
17
- <rect x="-140" y="-60" width="24" height="60" rx="12" fill="#a855f7"/>
18
- <rect x="116" y="-60" width="24" height="60" rx="12" fill="#a855f7"/>
19
- </g>
20
- <!-- Text -->
21
- <text x="256" y="420" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-weight="700" font-size="72">ai-cli</text>
22
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <rect width="512" height="512" rx="96" fill="#1d232a"/>
3
+ <g transform="translate(256,240)">
4
+ <!-- Head -->
5
+ <rect x="-120" y="-100" width="240" height="180" rx="32" fill="#6419e6"/>
6
+ <!-- Eyes -->
7
+ <circle cx="-50" cy="-20" r="28" fill="#fff"/>
8
+ <circle cx="50" cy="-20" r="28" fill="#fff"/>
9
+ <circle cx="-50" cy="-20" r="14" fill="#1d232a"/>
10
+ <circle cx="50" cy="-20" r="14" fill="#1d232a"/>
11
+ <!-- Mouth -->
12
+ <rect x="-40" y="30" width="80" height="12" rx="6" fill="#fff" opacity="0.8"/>
13
+ <!-- Antenna -->
14
+ <line x1="0" y1="-100" x2="0" y2="-140" stroke="#6419e6" stroke-width="8" stroke-linecap="round"/>
15
+ <circle cx="0" cy="-148" r="12" fill="#a855f7"/>
16
+ <!-- Ears -->
17
+ <rect x="-140" y="-60" width="24" height="60" rx="12" fill="#a855f7"/>
18
+ <rect x="116" y="-60" width="24" height="60" rx="12" fill="#a855f7"/>
19
+ </g>
20
+ <!-- Text -->
21
+ <text x="256" y="420" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-weight="700" font-size="72">ai-cli</text>
22
+ </svg>
Binary file
Binary file