@jinion/cli 0.3.491 → 0.5.648
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.
- package/CHANGELOG.md +290 -0
- package/bin/jinion.js +12 -1
- package/dist/app/activity.js +4 -38
- package/dist/app/activity.js.map +1 -1
- package/dist/app/app.js +13 -5
- package/dist/app/app.js.map +1 -1
- package/dist/app/claude-notes.js +19 -0
- package/dist/app/claude-notes.js.map +1 -0
- package/dist/app/release-notes.js +20 -0
- package/dist/app/release-notes.js.map +1 -0
- package/dist/app/settings-file.js +7 -0
- package/dist/app/settings-file.js.map +1 -0
- package/dist/app/status-line.js +8 -2
- package/dist/app/status-line.js.map +1 -1
- package/dist/app/updates.js +17 -0
- package/dist/app/updates.js.map +1 -0
- package/dist/app/views.js +6 -0
- package/dist/app/views.js.map +1 -1
- package/dist/main.js +4 -2
- package/dist/main.js.map +1 -1
- package/dist/panels/map.js +80 -0
- package/dist/panels/map.js.map +1 -0
- package/dist/panels/mcp.js +93 -12
- package/dist/panels/mcp.js.map +1 -1
- package/dist/panels/onboarding/claude-setup-panel.js +68 -0
- package/dist/panels/onboarding/claude-setup-panel.js.map +1 -0
- package/dist/panels/release-notes.js +60 -0
- package/dist/panels/release-notes.js.map +1 -0
- package/dist/state/session.js +2 -0
- package/dist/state/session.js.map +1 -1
- package/dist/terminal/apple-terminal.js +1 -4
- package/dist/terminal/apple-terminal.js.map +1 -1
- package/dist/ui/banner.js +13 -1
- package/dist/ui/banner.js.map +1 -1
- package/dist/ui/entries/entry-view.js +1 -0
- package/dist/ui/entries/entry-view.js.map +1 -1
- package/dist/ui/entries/tools/tool-view.js +2 -1
- package/dist/ui/entries/tools/tool-view.js.map +1 -1
- package/dist/ui/use-map-overview.js +27 -0
- package/dist/ui/use-map-overview.js.map +1 -0
- package/dist/update/updater.js +68 -0
- package/dist/update/updater.js.map +1 -0
- package/dist/update/versions.js +31 -0
- package/dist/update/versions.js.map +1 -0
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apple-terminal.js","sourceRoot":"","sources":["../../src/terminal/apple-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"apple-terminal.js","sourceRoot":"","sources":["../../src/terminal/apple-terminal.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/banner.js
CHANGED
|
@@ -2,10 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Box, Frame, Text, useTheme } from '@jinion/tui';
|
|
3
3
|
import { useAtomValue } from 'jotai';
|
|
4
4
|
import { accountLabel } from '@jinion/core/agent/accounts';
|
|
5
|
+
import { grouped, plural } from '@jinion/core/lib/format';
|
|
5
6
|
import { tildify } from '@jinion/core/lib/paths';
|
|
6
7
|
import { shownAnnouncementsAtom } from '../app/announcements.js';
|
|
7
8
|
import { useApi } from '../app/api.js';
|
|
9
|
+
import { claudeNotesAtom } from '../app/claude-notes.js';
|
|
10
|
+
import { updatedAtom } from '../app/release-notes.js';
|
|
8
11
|
import { agentAtom, identityAtom, modelLabelAtom, worktreeAtom } from '../state/session.js';
|
|
12
|
+
import { useMapOverview } from './use-map-overview.js';
|
|
9
13
|
export function Banner() {
|
|
10
14
|
const theme = useTheme();
|
|
11
15
|
const { info } = useApi().initialized;
|
|
@@ -14,8 +18,16 @@ export function Banner() {
|
|
|
14
18
|
const identity = useAtomValue(identityAtom);
|
|
15
19
|
const worktree = useAtomValue(worktreeAtom);
|
|
16
20
|
const announcements = useAtomValue(shownAnnouncementsAtom);
|
|
21
|
+
const updated = useAtomValue(updatedAtom);
|
|
22
|
+
const claudeNotes = useAtomValue(claudeNotesAtom);
|
|
23
|
+
const map = useMapOverview();
|
|
17
24
|
const { version, cwd, examples = [] } = info;
|
|
18
|
-
return (_jsxs(Frame, { fit: true, lead: 1, title: _jsxs(Text, { children: [_jsx(Text, { bold: true, color: theme.accent, children: "jinion" }), ' ', _jsxs(Text, { color: theme.muted, children: ["v", version] })] }), children: [_jsx(Row, { label: "model", hint: "/model to change", children: _jsx(Text, { color: theme.status.model, children: model }) }), identity && (_jsxs(Row, { label: "account", hint: agent.features.accounts && '/account to change', children: [_jsx(Text, { color: theme.accent, children: accountLabel(identity) }), identity.name !== 'default' && _jsxs(Text, { color: theme.muted, children: [" (", identity.name, ")"] })] })), _jsx(Row, { label: "cwd", children: _jsx(Text, { color: theme.status.directory, children: tildify(cwd) }) }), worktree && (_jsxs(Row, { label: "worktree", children: [_jsx(Text, { color: theme.code, children: worktree.name }), _jsxs(Text, { color: theme.muted, children: [" on ", worktree.branch] })] })), examples.length > 0 && (_jsx(Row, { label: "try", children: _jsx(Text, { color: theme.code, children: examples.join(', ') }) })), announcements.map((announcement) => (_jsx(Row, { label: "news", children: _jsxs(Text, { children: [announcement.text, announcement.link && _jsxs(Text, { color: theme.accent, children: [" ", announcement.link.url] })] }) }, announcement.id)))] }));
|
|
25
|
+
return (_jsxs(Frame, { fit: true, lead: 1, title: _jsxs(Text, { children: [_jsx(Text, { bold: true, color: theme.accent, children: "jinion" }), ' ', _jsxs(Text, { color: theme.muted, children: ["v", version] })] }), children: [_jsx(Row, { label: "model", hint: "/model to change", children: _jsx(Text, { color: theme.status.model, children: model }) }), identity && (_jsxs(Row, { label: "account", hint: agent.features.accounts && '/account to change', children: [_jsx(Text, { color: theme.accent, children: accountLabel(identity) }), identity.name !== 'default' && _jsxs(Text, { color: theme.muted, children: [" (", identity.name, ")"] })] })), _jsx(Row, { label: "cwd", children: _jsx(Text, { color: theme.status.directory, children: tildify(cwd) }) }), map.state === 'reading' && (_jsx(Row, { label: "map", children: _jsx(Text, { color: theme.muted, children: "reading the project\u2026" }) })), map.state === 'ready' && (_jsx(Row, { label: "map", hint: "/map to see", children: _jsx(Text, { children: mapLine(map.overview) }) })), worktree && (_jsxs(Row, { label: "worktree", children: [_jsx(Text, { color: theme.code, children: worktree.name }), _jsxs(Text, { color: theme.muted, children: [" on ", worktree.branch] })] })), updated && (_jsx(Row, { label: "update", hint: "/release-notes to see what's new", children: _jsxs(Text, { children: ["Updated to v", version] }) })), claudeNotes > 0 && (_jsx(Row, { label: "notes", hint: "/memory import to bring them in", children: _jsxs(Text, { children: ["Claude Code has ", plural(claudeNotes, 'note'), " for this project"] }) })), examples.length > 0 && (_jsx(Row, { label: "try", children: _jsx(Text, { color: theme.code, children: examples.join(', ') }) })), announcements.map((announcement) => (_jsx(Row, { label: "news", children: _jsxs(Text, { children: [announcement.text, announcement.link && _jsxs(Text, { color: theme.accent, children: [" ", announcement.link.url] })] }) }, announcement.id)))] }));
|
|
26
|
+
}
|
|
27
|
+
/** The first few things it is built with, and how much its files offer each other. */
|
|
28
|
+
function mapLine({ built, pieces }) {
|
|
29
|
+
const stack = built.slice(0, 3).map((name) => name.replace(/ [\d.]+$/, ''));
|
|
30
|
+
return [stack.join(', '), pieces.count > 0 && `${grouped(pieces.count)} pieces in ${plural(pieces.files, 'file')}`].filter(Boolean).join(' · ');
|
|
19
31
|
}
|
|
20
32
|
function Row({ label, hint, children }) {
|
|
21
33
|
const theme = useTheme();
|
package/dist/ui/banner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-view.js","sourceRoot":"","sources":["../../../src/ui/entries/entry-view.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAOjE,sFAAsF;AACtF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAkB;IACtF,gFAAgF;IAChF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEjG,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,KAAK,CAAC,IAAI,KAAK,MAAM;QACrB,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IAErD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAClE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,KAAC,UAAU,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,YAC3C,IAAI,GACM,CACd,CAAC,CAAC,CAAC,CACF,IAAI,CACL,GACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAY;IAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QAEd,KAAK,MAAM;YACT,QAAQ,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,MAAM;oBACT,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjC,KAAK,MAAM;oBACT,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,kBAAkB,CAAC;gBAClG,KAAK,OAAO;oBACV,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,KAAK,OAAO,CAAC;gBACb,KAAK,KAAK;
|
|
1
|
+
{"version":3,"file":"entry-view.js","sourceRoot":"","sources":["../../../src/ui/entries/entry-view.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAOjE,sFAAsF;AACtF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAkB;IACtF,gFAAgF;IAChF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEjG,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,KAAK,CAAC,IAAI,KAAK,MAAM;QACrB,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IAErD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAClE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,KAAC,UAAU,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,YAC3C,IAAI,GACM,CACd,CAAC,CAAC,CAAC,CACF,IAAI,CACL,GACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAY;IAC9B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QAEd,KAAK,MAAM;YACT,QAAQ,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,MAAM;oBACT,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjC,KAAK,MAAM;oBACT,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,kBAAkB,CAAC;gBAClG,KAAK,OAAO;oBACV,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,KAAK,OAAO,CAAC;gBACb,KAAK,KAAK,CAAC;gBACX,KAAK,OAAO;oBACV,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,KAAK,QAAQ;oBACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC;gBAC7D;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QAEH,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QAEpC,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;QAErC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAE,EAAE,CAChC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAEpH,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAmC;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAE/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,KAAC,MAAM,KAAG,CAAC;QAEpB,KAAK,MAAM;YACT,OAAO,KAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;QAE3G,KAAK,UAAU,EAAE,CAAC;YAChB,uFAAuF;YACvF,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnE,MAAM,IAAI,GACR,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEtI,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;QACpE,CAAC;QAED,KAAK,MAAM;YACT,OAAO,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;QAExC,KAAK,QAAQ;YACX,OAAO,KAAC,MAAM,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;QAExD,KAAK,MAAM;YACT,OAAO,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;QAEnC,KAAK,YAAY;YACf,OAAO,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;QAEtC,KAAK,SAAS;YACZ,OAAO,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;QAEvC,KAAK,MAAM;YACT,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { AskResult, EditBlock, ShellBlock, TodoBlock, ToolLine } from '@jinion/t
|
|
|
4
4
|
import { AgentView } from './agent-view.js';
|
|
5
5
|
import { MEMORY_VERBS } from '@jinion/core/agent/call-summary';
|
|
6
6
|
import { McpView } from './mcp-view.js';
|
|
7
|
+
import { previewTree } from './result-preview.js';
|
|
7
8
|
import { GlobView, GrepView, ReadView } from './search.js';
|
|
8
9
|
import { ShellFooter } from './shell-footer.js';
|
|
9
10
|
import { FetchView, SearchView } from './web.js';
|
|
@@ -39,7 +40,7 @@ export function ToolView({ entry, live }) {
|
|
|
39
40
|
case 'mcp':
|
|
40
41
|
return _jsx(McpView, { run: run, status: status, output: entry.output });
|
|
41
42
|
case 'other':
|
|
42
|
-
return (_jsx(ToolLine, { status: status, name: run.input.title, detail: run.input.detail && _jsx(Text, { color: theme.muted, children: printable(run.input.detail) }) }));
|
|
43
|
+
return (_jsx(ToolLine, { status: status, name: run.input.title, detail: run.input.detail && _jsx(Text, { color: theme.muted, children: printable(run.input.detail) }), tree: previewTree(entry.output) }));
|
|
43
44
|
case 'agent':
|
|
44
45
|
return _jsx(AgentView, { entry: entry });
|
|
45
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-view.js","sourceRoot":"","sources":["../../../../src/ui/entries/tools/tool-view.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-view.js","sourceRoot":"","sources":["../../../../src/ui/entries/tools/tool-view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { useApi } from '../app/api.js';
|
|
3
|
+
// The core waits for the map a second at most on start, so a large project is still being read for a while after.
|
|
4
|
+
const AGAIN_MS = 1500;
|
|
5
|
+
/** What the project map read, asked again while it is still being read. */
|
|
6
|
+
export function useMapOverview() {
|
|
7
|
+
const api = useApi();
|
|
8
|
+
const [state, setState] = useState({ state: 'reading' });
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
let timer;
|
|
11
|
+
let current = true;
|
|
12
|
+
const ask = () => api.request('map/overview', {}).then(({ reading, overview }) => {
|
|
13
|
+
if (!current)
|
|
14
|
+
return;
|
|
15
|
+
setState(overview ? { state: 'ready', overview } : reading ? { state: 'reading' } : { state: 'none' });
|
|
16
|
+
if (reading)
|
|
17
|
+
timer = setTimeout(ask, AGAIN_MS);
|
|
18
|
+
}, () => current && setState({ state: 'none' }));
|
|
19
|
+
void ask();
|
|
20
|
+
return () => {
|
|
21
|
+
current = false;
|
|
22
|
+
clearTimeout(timer);
|
|
23
|
+
};
|
|
24
|
+
}, []);
|
|
25
|
+
return state;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=use-map-overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-map-overview.js","sourceRoot":"","sources":["../../src/ui/use-map-overview.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC,kHAAkH;AAClH,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEtB,2EAA2E;AAC3E,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAEnE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAiC,CAAC;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,MAAM,GAAG,GAAG,GAAG,EAAE,CACf,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAClC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvG,IAAI,OAAO;gBAAE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAC7C,CAAC;QAEJ,KAAK,GAAG,EAAE,CAAC;QAEX,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,KAAK,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { existsSync, mkdirSync, renameSync, rmSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { promisify } from 'node:util';
|
|
5
|
+
import { compareVersions } from '@jinion/core/lib/changelog';
|
|
6
|
+
import { readJson } from '@jinion/core/lib/json-file';
|
|
7
|
+
import { settingsFile } from '../app/settings-file.js';
|
|
8
|
+
import { installedVersions, mainOf, versionsDir } from './versions.js';
|
|
9
|
+
const run = promisify(execFile);
|
|
10
|
+
const PACKAGE = '@jinion/cli';
|
|
11
|
+
const FIRST_MS = 10_000;
|
|
12
|
+
const EVERY_MS = 4 * 60 * 60 * 1000;
|
|
13
|
+
/** Asks npm a little after start and every four hours; a check that fails, as offline, waits for the next. Returns the stop. */
|
|
14
|
+
export function startUpdater(options) {
|
|
15
|
+
const check = () => void updateOnce(options).catch(() => { });
|
|
16
|
+
const first = setTimeout(check, FIRST_MS);
|
|
17
|
+
const every = setInterval(check, EVERY_MS);
|
|
18
|
+
first.unref();
|
|
19
|
+
every.unref();
|
|
20
|
+
return () => {
|
|
21
|
+
clearTimeout(first);
|
|
22
|
+
clearInterval(every);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Off with `"autoUpdates": false` in the settings, or `JINION_DISABLE_AUTOUPDATER`, as in Claude Code. */
|
|
26
|
+
export function autoUpdatesOn(env = process.env) {
|
|
27
|
+
return !env.JINION_DISABLE_AUTOUPDATER && readJson(settingsFile(), {}).autoUpdates !== false;
|
|
28
|
+
}
|
|
29
|
+
/** Installs the newest version when it is newer, into a folder of its own, then keeps that one and the one running. */
|
|
30
|
+
export async function updateOnce({ version, onReady, dir = versionsDir(), latest = latestVersion, install = npmInstall }) {
|
|
31
|
+
const newest = await latest();
|
|
32
|
+
if (compareVersions(newest, version) <= 0)
|
|
33
|
+
return;
|
|
34
|
+
if (!existsSync(mainOf(newest, dir))) {
|
|
35
|
+
const part = join(dir, `${newest}.part`);
|
|
36
|
+
rmSync(part, { recursive: true, force: true });
|
|
37
|
+
mkdirSync(part, { recursive: true });
|
|
38
|
+
try {
|
|
39
|
+
await install(newest, part);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
rmSync(part, { recursive: true, force: true });
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
rmSync(join(dir, newest), { recursive: true, force: true });
|
|
46
|
+
renameSync(part, join(dir, newest));
|
|
47
|
+
}
|
|
48
|
+
for (const old of installedVersions(dir)) {
|
|
49
|
+
if (old !== newest && old !== version)
|
|
50
|
+
rmSync(join(dir, old), { recursive: true, force: true });
|
|
51
|
+
}
|
|
52
|
+
onReady(newest);
|
|
53
|
+
}
|
|
54
|
+
/** From the registry npm itself uses, when it was given one. */
|
|
55
|
+
async function latestVersion() {
|
|
56
|
+
const registry = (process.env.npm_config_registry ?? 'https://registry.npmjs.org').replace(/\/$/, '');
|
|
57
|
+
const response = await fetch(`${registry}/${PACKAGE.replace('/', '%2F')}/latest`, { signal: AbortSignal.timeout(15_000) });
|
|
58
|
+
if (!response.ok)
|
|
59
|
+
throw new Error(`the registry answered ${response.status}`);
|
|
60
|
+
return (await response.json()).version;
|
|
61
|
+
}
|
|
62
|
+
/** Under a folder of the user's own, so it needs no `sudo` and leaves the files of the version running alone. */
|
|
63
|
+
async function npmInstall(version, folder) {
|
|
64
|
+
await run('npm', ['install', '--prefix', folder, '--no-save', '--no-audit', '--no-fund', '--omit=dev', '--loglevel=error', `${PACKAGE}@${version}`], {
|
|
65
|
+
timeout: 10 * 60 * 1000,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/update/updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { existsSync, readdirSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { compareVersions } from '@jinion/core/lib/changelog';
|
|
5
|
+
import { jinionHome } from '@jinion/core/lib/paths';
|
|
6
|
+
/** Where the updater installs each version, one folder each, beside what Jinion keeps of the user's. */
|
|
7
|
+
export function versionsDir() {
|
|
8
|
+
return join(jinionHome(), 'versions');
|
|
9
|
+
}
|
|
10
|
+
/** The CLI file a version installed there starts from. */
|
|
11
|
+
export function mainOf(version, dir = versionsDir()) {
|
|
12
|
+
return join(dir, version, 'node_modules', '@jinion', 'cli', 'dist', 'main.js');
|
|
13
|
+
}
|
|
14
|
+
/** Only an install from npm updates itself; a checkout of the repository runs what it builds. */
|
|
15
|
+
export function fromNpm(file = fileURLToPath(import.meta.url)) {
|
|
16
|
+
return file.split(/[\\/]/).includes('node_modules');
|
|
17
|
+
}
|
|
18
|
+
/** The versions installed in full; one still being installed sits in a folder ending in `.part`, so it is never run. */
|
|
19
|
+
export function installedVersions(dir = versionsDir()) {
|
|
20
|
+
if (!existsSync(dir))
|
|
21
|
+
return [];
|
|
22
|
+
return readdirSync(dir)
|
|
23
|
+
.filter((name) => /^\d+(\.\d+)*$/.test(name) && existsSync(mainOf(name, dir)))
|
|
24
|
+
.sort(compareVersions);
|
|
25
|
+
}
|
|
26
|
+
/** What `jinion` runs instead of the version npm installed: the newest the updater installed, when it is newer. */
|
|
27
|
+
export function newerInstalled(own, dir = versionsDir()) {
|
|
28
|
+
const newest = installedVersions(dir).at(-1);
|
|
29
|
+
return newest && compareVersions(newest, own) > 0 ? mainOf(newest, dir) : undefined;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/update/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,wGAAwG;AACxG,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,MAAM,CAAC,OAAe,EAAE,GAAG,GAAG,WAAW,EAAE;IACzD,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACjF,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,iBAAiB,CAAC,GAAG,GAAG,WAAW,EAAE;IACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,OAAO,WAAW,CAAC,GAAG,CAAC;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;SAC7E,IAAI,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,GAAG,GAAG,WAAW,EAAE;IAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,OAAO,MAAM,IAAI,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jinion/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.648",
|
|
4
4
|
"description": "Jinion coding agent",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://jinion.co",
|
|
@@ -13,13 +13,14 @@
|
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
15
|
"bin",
|
|
16
|
-
"dist"
|
|
16
|
+
"dist",
|
|
17
|
+
"CHANGELOG.md"
|
|
17
18
|
],
|
|
18
19
|
"dependencies": {
|
|
19
20
|
"jotai": "^3.0.1",
|
|
20
21
|
"react": "^19.3.0",
|
|
21
|
-
"@jinion/core": "0.
|
|
22
|
-
"@jinion/tui": "0.0.
|
|
22
|
+
"@jinion/core": "0.4.0",
|
|
23
|
+
"@jinion/tui": "0.0.7"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/react": "^19.3.0",
|