@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.
Files changed (45) hide show
  1. package/CHANGELOG.md +290 -0
  2. package/bin/jinion.js +12 -1
  3. package/dist/app/activity.js +4 -38
  4. package/dist/app/activity.js.map +1 -1
  5. package/dist/app/app.js +13 -5
  6. package/dist/app/app.js.map +1 -1
  7. package/dist/app/claude-notes.js +19 -0
  8. package/dist/app/claude-notes.js.map +1 -0
  9. package/dist/app/release-notes.js +20 -0
  10. package/dist/app/release-notes.js.map +1 -0
  11. package/dist/app/settings-file.js +7 -0
  12. package/dist/app/settings-file.js.map +1 -0
  13. package/dist/app/status-line.js +8 -2
  14. package/dist/app/status-line.js.map +1 -1
  15. package/dist/app/updates.js +17 -0
  16. package/dist/app/updates.js.map +1 -0
  17. package/dist/app/views.js +6 -0
  18. package/dist/app/views.js.map +1 -1
  19. package/dist/main.js +4 -2
  20. package/dist/main.js.map +1 -1
  21. package/dist/panels/map.js +80 -0
  22. package/dist/panels/map.js.map +1 -0
  23. package/dist/panels/mcp.js +93 -12
  24. package/dist/panels/mcp.js.map +1 -1
  25. package/dist/panels/onboarding/claude-setup-panel.js +68 -0
  26. package/dist/panels/onboarding/claude-setup-panel.js.map +1 -0
  27. package/dist/panels/release-notes.js +60 -0
  28. package/dist/panels/release-notes.js.map +1 -0
  29. package/dist/state/session.js +2 -0
  30. package/dist/state/session.js.map +1 -1
  31. package/dist/terminal/apple-terminal.js +1 -4
  32. package/dist/terminal/apple-terminal.js.map +1 -1
  33. package/dist/ui/banner.js +13 -1
  34. package/dist/ui/banner.js.map +1 -1
  35. package/dist/ui/entries/entry-view.js +1 -0
  36. package/dist/ui/entries/entry-view.js.map +1 -1
  37. package/dist/ui/entries/tools/tool-view.js +2 -1
  38. package/dist/ui/entries/tools/tool-view.js.map +1 -1
  39. package/dist/ui/use-map-overview.js +27 -0
  40. package/dist/ui/use-map-overview.js.map +1 -0
  41. package/dist/update/updater.js +68 -0
  42. package/dist/update/updater.js.map +1 -0
  43. package/dist/update/versions.js +31 -0
  44. package/dist/update/versions.js.map +1 -0
  45. package/package.json +5 -4
package/dist/main.js CHANGED
@@ -6,6 +6,7 @@ import { findServer } from '@jinion/core/api/server-file';
6
6
  import { connectWebSocket } from '@jinion/core/api/websocket';
7
7
  import { coreOptions, startCore } from '@jinion/core/host';
8
8
  import { App } from './app/app.js';
9
+ import { updatedSinceLastRun } from './app/release-notes.js';
9
10
  import { serve } from './serve.js';
10
11
  import { inAppleTerminal, offeredTerminalSetup, profilesWithoutMeta } from './terminal/apple-terminal.js';
11
12
  const { version } = createRequire(import.meta.url)('../package.json');
@@ -67,13 +68,14 @@ if (port !== undefined && !(Number.isInteger(port) && port >= 0 && port < 65_536
67
68
  // Package managers run scripts from the package directory; INIT_CWD is where the user invoked them.
68
69
  const cwd = process.env.INIT_CWD ?? process.cwd();
69
70
  const scheme = theme;
71
+ const updated = updatedSinceLastRun(version);
70
72
  const terminalSetup = inAppleTerminal() && !offeredTerminalSetup() && (await profilesWithoutMeta().catch(() => [])).length > 0;
71
73
  if (values.attach) {
72
74
  const server = findServer(cwd);
73
75
  if (!server)
74
76
  fail('No jinion serve runs for this directory. Start one with jinion serve.');
75
77
  let lost = false;
76
- const instance = await run(_jsx(App, { connect: () => connectWebSocket(server.url, server.token), version: version, offerTerminalSetup: terminalSetup, attached: true, onLost: () => (lost = true) }), { scheme });
78
+ const instance = await run(_jsx(App, { connect: () => connectWebSocket(server.url, server.token), version: version, offerTerminalSetup: terminalSetup, updated: updated, attached: true, onLost: () => (lost = true) }), { scheme });
77
79
  await instance.waitUntilExit();
78
80
  if (lost)
79
81
  console.log(`The connection to jinion serve at ${server.url} closed.`);
@@ -107,7 +109,7 @@ if (command === 'serve') {
107
109
  console.error(message);
108
110
  process.exit(0);
109
111
  }
110
- const instance = await run(_jsx(App, { connect: core.connect, version: version, offerTerminalSetup: terminalSetup }), { scheme });
112
+ const instance = await run(_jsx(App, { connect: core.connect, version: version, offerTerminalSetup: terminalSetup, updated: updated }), { scheme });
111
113
  await instance.waitUntilExit();
112
114
  for (const backend of options.backends)
113
115
  backend.close?.();
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Panel, Text, useInput, usePanel, useTheme } from '@jinion/tui';
3
+ import { useSetAtom } from 'jotai';
4
+ import { rulesRequest } from '@jinion/core/map/rules-request';
5
+ import { grouped, percent, plural } from '@jinion/core/lib/format';
6
+ import { draftAtom } from '../prompt/draft.js';
7
+ import { useMapOverview } from '../ui/use-map-overview.js';
8
+ import { PAGER_HINTS, usePager } from '../ui/use-pager.js';
9
+ const CHROME_ROWS = 6;
10
+ /** What the project map read: what the project is built with, how it is written, how it looks and what it offers. */
11
+ export function MapPanel() {
12
+ const theme = useTheme();
13
+ const { close } = usePanel();
14
+ const setDraft = useSetAtom(draftAtom);
15
+ const map = useMapOverview();
16
+ const overview = map.state === 'ready' ? map.overview : undefined;
17
+ const lines = overview ? linesOf(overview, theme) : [];
18
+ const pager = usePager(lines.length, { chrome: CHROME_ROWS });
19
+ useInput((input, key) => {
20
+ if (key.escape)
21
+ return close();
22
+ if (input === 'a' && overview?.unheld) {
23
+ setDraft(rulesRequest(overview.unheld));
24
+ return close();
25
+ }
26
+ pager.scroll(key);
27
+ });
28
+ const hints = [...(pager.range ? PAGER_HINTS : []), ...(overview?.unheld ? [['a', 'add the rules']] : []), ['Esc', 'close']];
29
+ return (_jsx(Panel, { title: "Project map", subtitle: pager.range, grow: true, hints: hints, children: map.state === 'reading' ? (_jsx(Text, { color: theme.muted, children: "Still reading the project. This takes a moment the first time." })) : map.state === 'none' ? (_jsx(Text, { color: theme.muted, children: "There is no map of this project." })) : (lines.slice(pager.top, pager.top + pager.view).map(({ key, node }) => (_jsx(Text, { wrap: "truncate-end", children: node }, key)))) }));
30
+ }
31
+ /** One row each, so the pager scrolls by rows: a heading, then its lines, a blank row between sections. */
32
+ function linesOf(overview, theme) {
33
+ const { built, pieces, habits, unheld, look, undecided } = overview;
34
+ const sections = [];
35
+ const muted = (text) => _jsx(Text, { color: theme.muted, children: text });
36
+ if (built.length > 0)
37
+ sections.push(['Built with', [built.join(', ')]]);
38
+ if (habits.length > 0) {
39
+ sections.push([
40
+ 'How it is written',
41
+ habits.map(({ text, count, total }) => (_jsxs(_Fragment, { children: [text.replaceAll('`', ''), " ", muted(`${percent(count, total)} of ${grouped(total)}`)] }))),
42
+ ]);
43
+ }
44
+ if (unheld) {
45
+ sections.push([
46
+ `Rules ${unheld.linter} doesn't have yet`,
47
+ [
48
+ ...unheld.rules.map(({ name, option }) => (_jsxs(_Fragment, { children: [name, option && muted(` ${option}`)] }))),
49
+ muted('Press a to ask the agent to add them.'),
50
+ ],
51
+ ]);
52
+ }
53
+ const looks = [];
54
+ if (look.tokens) {
55
+ const groups = look.tokens.groups.map(({ name, count }) => `${name} ${count}`).join(', ');
56
+ looks.push(_jsxs(_Fragment, { children: [plural(look.tokens.count, 'design token'), " ", muted(`in ${look.tokens.home}: ${groups}`)] }));
57
+ }
58
+ for (const family of look.families) {
59
+ const members = family.members.map(({ name, uses }) => `${name} ${uses}`).join(', ');
60
+ looks.push(_jsxs(_Fragment, { children: [family.name, " ", muted(`${members}${family.more > 0 ? `, +${family.more}` : ''}`)] }));
61
+ }
62
+ if (look.loose)
63
+ looks.push(muted(`${plural(look.loose.colors, 'color')} written out in ${plural(look.loose.files, 'file')} rather than taken from a token`));
64
+ if (undecided)
65
+ looks.push(muted('Nothing yet: the project has no component or styled markup, so its look is still to be decided.'));
66
+ if (looks.length > 0)
67
+ sections.push(['How it looks', looks]);
68
+ if (pieces.count > 0) {
69
+ sections.push([
70
+ `${plural(pieces.count, 'piece')} its files offer each other, in ${plural(pieces.files, 'file')}`,
71
+ pieces.folders.map(({ folder, names, more }) => (_jsxs(_Fragment, { children: [folder, "/ ", muted(`${names.join(', ')}${more > 0 ? `, and ${more} more` : ''}`)] }))),
72
+ ]);
73
+ }
74
+ return sections.flatMap(([title, rows], index) => [
75
+ ...(index > 0 ? [{ key: `${title}:gap`, node: ' ' }] : []),
76
+ { key: title, node: _jsx(Text, { bold: true, children: title }) },
77
+ ...rows.map((node, row) => ({ key: `${title}:${row}`, node })),
78
+ ]);
79
+ }
80
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/panels/map.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
- import { Box, ChoiceList, choiceIndent, Panel, Text, useChoiceList, useInput, usePanel, useTheme } from '@jinion/tui';
3
+ import { Box, ChoiceList, choiceIndent, Panel, PromptInput, Text, useChoiceList, useInput, usePanel, useTheme } from '@jinion/tui';
4
4
  import { errorMessage } from '@jinion/core/lib/errors';
5
+ import { shellWords } from '@jinion/core/lib/shell-words';
5
6
  import { plural } from '@jinion/core/lib/format';
6
7
  import { truncate } from '@jinion/core/lib/text';
7
8
  import { useAtomValue } from 'jotai';
@@ -20,15 +21,19 @@ export function McpPanel() {
20
21
  const [servers, setServers] = useState();
21
22
  const [failure, setFailure] = useState();
22
23
  const [signing, setSigning] = useState();
23
- // Bumped after a sign-in, so the list comes in again.
24
+ const [adding, setAdding] = useState();
25
+ const [removing, setRemoving] = useState();
26
+ // Bumped after a sign-in, an addition or a removal, so the list comes in again.
24
27
  const [loads, setLoads] = useState(0);
25
28
  // Servers the user toggled keep their check when the list comes in again.
26
29
  const touched = useRef(new Set());
27
30
  const signingName = useRef(undefined);
31
+ const canAdd = agent.features.addMcp === true;
32
+ const reload = () => setLoads((count) => count + 1);
28
33
  const list = useChoiceList({
29
34
  keys: (servers ?? []).map((server) => server.name),
30
35
  mode: 'multiple',
31
- isActive: !signing,
36
+ isActive: !signing && !adding,
32
37
  onCancel: close,
33
38
  onToggle: (name) => void touched.current.add(name),
34
39
  onSubmit: (checked) => {
@@ -41,13 +46,14 @@ export function McpPanel() {
41
46
  return {
42
47
  key: server.name,
43
48
  label: (_jsxs(Text, { children: [truncate(server.label, LABEL_WIDTH - 2).padEnd(LABEL_WIDTH), checked === server.enabled ? describe(server, theme) : _jsxs(Text, { color: theme.muted, children: [checked ? 'turns on' : 'turns off', " on save"] })] })),
44
- aside: server.source,
49
+ aside: removing?.name === server.name ? (_jsx(Text, { color: removing.refused ? theme.warning : theme.error, children: removing.refused ?? (removing.running ? 'removing…' : 'press d again to remove') })) : (server.source),
45
50
  editor: _jsx(Details, { server: server, indent: choiceIndent(list) }),
46
51
  };
47
52
  });
48
53
  const on = servers?.filter((server) => list.isChecked(server.name)).length ?? 0;
49
54
  const focused = servers?.find((server) => server.name === list.focus);
50
- const canSignIn = focused?.status === 'needs-auth' && focused.signIn !== 'elsewhere';
55
+ const canSignIn = focused !== undefined && canSignInTo(focused);
56
+ const canSignOut = focused?.signedIn === true;
51
57
  useEffect(() => {
52
58
  const stopLink = api.client.on('mcp/sign-in-link', ({ name, url }) => setSigning((now) => (now?.name === name ? { ...now, link: url } : now)));
53
59
  return () => {
@@ -76,11 +82,22 @@ export function McpPanel() {
76
82
  };
77
83
  }, [loads]);
78
84
  useInput((input) => {
85
+ if (removing?.running)
86
+ return;
87
+ if (input === 'd' && focused)
88
+ return remove(focused);
89
+ setRemoving(undefined);
90
+ if (input === 'a' && canAdd)
91
+ return setAdding({ step: 'name', name: '', where: '' });
92
+ if (input === 'o' && focused && canSignOut) {
93
+ const { name } = focused;
94
+ return api.act(api.request('mcp/sign-out', { name }).finally(reload));
95
+ }
79
96
  if (input !== 'l' || !focused || !canSignIn)
80
97
  return;
81
98
  const { name, label } = focused;
82
99
  signingName.current = name;
83
- setSigning({ name, label });
100
+ setSigning({ name, label, again: focused.signedIn });
84
101
  void api
85
102
  .request('mcp/sign-in', { name })
86
103
  .catch(() => { })
@@ -88,23 +105,87 @@ export function McpPanel() {
88
105
  if (signingName.current === name)
89
106
  signingName.current = undefined;
90
107
  setSigning(undefined);
91
- setLoads((count) => count + 1);
108
+ reload();
92
109
  });
93
- }, { isActive: !signing });
110
+ }, { isActive: !signing && !adding });
94
111
  useInput((_, key) => {
95
112
  if (key.escape && signing)
96
113
  api.act(api.request('mcp/sign-in-cancel', { name: signing.name }));
97
114
  }, { isActive: signing !== undefined });
115
+ useInput((_, key) => {
116
+ if (!key.escape || adding?.saving)
117
+ return;
118
+ setAdding(adding?.step === 'where' ? { ...adding, step: 'name', problem: undefined } : undefined);
119
+ }, { isActive: adding !== undefined });
120
+ // The first d asks, the second removes; one that wasn't added here says where it can be.
121
+ const remove = (server) => {
122
+ const refused = server.removable ? undefined : whereToRemove(server);
123
+ if (refused || removing?.name !== server.name)
124
+ return setRemoving({ name: server.name, refused });
125
+ setRemoving({ name: server.name, running: true });
126
+ api.act(api.request('mcp/remove', { name: server.name }).finally(() => {
127
+ setRemoving(undefined);
128
+ reload();
129
+ }));
130
+ };
131
+ const add = async ({ name, where }) => {
132
+ const words = shellWords(where.trim());
133
+ if (words.length === 0)
134
+ return setAdding({ step: 'where', name, where, problem: 'Say how it runs: a command, or its address.' });
135
+ const [command = '', ...args] = words;
136
+ const transport = /^https?:\/\//i.test(where.trim()) ? { type: 'http', url: where.trim() } : { command, args };
137
+ setAdding({ step: 'where', name, where, saving: true });
138
+ try {
139
+ await api.request('mcp/add', { name, transport });
140
+ setAdding(undefined);
141
+ reload();
142
+ }
143
+ catch (error) {
144
+ setAdding({ step: 'where', name, where, problem: errorMessage(error) });
145
+ }
146
+ };
147
+ if (adding) {
148
+ return (_jsxs(Panel, { title: "MCP servers", subtitle: "Add a server", hints: [
149
+ ['Enter', adding.step === 'name' ? 'next' : 'add'],
150
+ ['Esc', 'back'],
151
+ ], children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.muted, children: "name: " }), adding.step === 'name' ? (_jsx(PromptInput, { value: adding.name, onChange: (name) => setAdding({ ...adding, name, problem: undefined }), onSubmit: (value) => (value.trim() ? setAdding({ ...adding, step: 'where', name: value.trim() }) : undefined), placeholder: "a name, such as github", paddingX: 0 })) : (_jsx(Text, { children: adding.name }))] }), adding.step === 'where' && (_jsxs(Box, { children: [_jsx(Text, { color: theme.muted, children: "runs: " }), adding.saving ? (_jsx(Text, { children: adding.where })) : (_jsx(PromptInput, { value: adding.where, onChange: (where) => setAdding({ ...adding, where, problem: undefined }), onSubmit: (where) => void add({ ...adding, where }), placeholder: "a command, such as npx -y @playwright/mcp@latest, or an address, such as https://mcp.linear.app/mcp", paddingX: 0 }))] })), adding.problem && _jsx(Text, { color: theme.error, children: adding.problem })] }));
152
+ }
98
153
  if (signing) {
99
- return (_jsxs(Panel, { title: "MCP servers", subtitle: signing.label, hints: [['Esc', 'cancel']], children: [_jsxs(Text, { children: ["Signing in to ", _jsx(Text, { bold: true, children: signing.label }), ". Finish it in your browser."] }), signing.link && (_jsxs(Text, { children: [_jsx(Text, { color: theme.muted, children: "If the browser didn't open: " }), _jsx(Text, { color: theme.code, children: signing.link })] }))] }));
154
+ return (_jsxs(Panel, { title: "MCP servers", subtitle: signing.label, hints: [['Esc', 'cancel']], children: [_jsxs(Text, { children: ["Signing in to ", _jsx(Text, { bold: true, children: signing.label }), ". Finish it in your browser."] }), signing.again && (_jsxs(Text, { color: theme.muted, children: ["To use another account, sign out of ", signing.label, " in the browser first, or pick another workspace there."] })), signing.link && (_jsxs(Text, { children: [_jsx(Text, { color: theme.muted, children: "If the browser didn't open: " }), _jsx(Text, { color: theme.code, children: signing.link })] }))] }));
100
155
  }
101
156
  return (_jsx(Panel, { title: "MCP servers", subtitle: servers ? `${on} of ${servers.length} on` : undefined, header: _jsx(Text, { color: theme.muted, children: "Checked servers connect from the next turn. Their tools load when the agent needs them, so a server costs little context until it's used." }), hints: [
102
157
  ['Space', 'on/off'],
103
158
  ['Enter', 'save'],
104
- ...(canSignIn ? [['l', 'sign in']] : []),
159
+ ...(canSignIn ? [['l', focused?.signedIn ? 'sign in again' : 'sign in']] : []),
160
+ ...(canSignOut ? [['o', 'sign out']] : []),
161
+ ...(canAdd ? [['a', 'add']] : []),
162
+ ...(focused ? [['d', 'remove']] : []),
105
163
  ['Up/Down', 'move'],
106
164
  ['Esc', 'cancel'],
107
- ], children: failure ? (_jsxs(Text, { color: theme.error, children: ["Couldn't list the servers: ", failure] })) : servers ? (_jsx(ChoiceList, { list: list, choices: choices, limit: VISIBLE, empty: "No MCP servers yet. Add them with `claude mcp add`, in ~/.jinion/mcp.json or in the project's .mcp.json." })) : (_jsxs(Text, { color: theme.muted, children: ["Asking ", agent.name, " about its servers\u2026"] })) }));
165
+ ], children: failure ? (_jsxs(Text, { color: theme.error, children: ["Couldn't list the servers: ", failure] })) : servers ? (_jsx(ChoiceList, { list: list, choices: choices, limit: VISIBLE, empty: canAdd
166
+ ? 'No MCP servers yet. Press a to add one, with the command that starts it or its address.'
167
+ : `No MCP servers yet. Add them in ${agent.name}'s own settings.` })) : (_jsxs(Text, { color: theme.muted, children: ["Asking ", agent.name, " about its servers\u2026"] })) }));
168
+ }
169
+ function canSignInTo(server) {
170
+ return server.signIn !== 'elsewhere' && (server.status === 'needs-auth' || server.signedIn === true);
171
+ }
172
+ /** Where a server that wasn't added in Jinion is removed instead. */
173
+ function whereToRemove(server) {
174
+ if (server.source === 'project')
175
+ return "from the project's .mcp.json; remove it there";
176
+ if (server.source === 'claude code')
177
+ return 'claude mcp remove takes it away';
178
+ if (server.source === 'claude.ai')
179
+ return 'remove it in your claude.ai settings';
180
+ if (server.source === 'Codex config')
181
+ return 'codex mcp remove takes it away';
182
+ if (server.source.startsWith('plugin '))
183
+ return `comes with the ${server.source.slice('plugin '.length)} plugin`;
184
+ return "wasn't added in Jinion";
185
+ }
186
+ /** Where a server Jinion can't sign in to keeps its sign-in: claude.ai's settings or a plugin. */
187
+ function signedInAt(server) {
188
+ return server.source === 'claude.ai' ? 'your claude.ai settings' : `the ${server.source.replace(/^plugin /, '')} plugin`;
108
189
  }
109
190
  function describe(server, theme) {
110
191
  switch (server.status) {
@@ -124,6 +205,6 @@ function Details({ server, indent }) {
124
205
  const theme = useTheme();
125
206
  const tools = server.tools.slice(0, TOOLS_SHOWN).join(', ');
126
207
  const more = server.tools.length - TOOLS_SHOWN;
127
- return (_jsxs(Box, { flexDirection: "column", paddingLeft: indent, marginBottom: 1, children: [server.target && (_jsx(Text, { color: theme.muted, wrap: "truncate-end", children: server.target })), server.error && _jsx(Text, { color: theme.error, children: server.error }), server.status === 'needs-auth' && server.signIn !== 'elsewhere' && (_jsxs(Text, { color: theme.muted, children: ["Press l to sign in to ", server.label, " in the browser."] })), tools && (_jsxs(Text, { wrap: "truncate-end", children: [tools, more > 0 && _jsxs(Text, { color: theme.muted, children: [" \u2026 ", more, " more"] })] }))] }));
208
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: indent, marginBottom: 1, children: [server.target && (_jsx(Text, { color: theme.muted, wrap: "truncate-end", children: server.target })), server.error && _jsx(Text, { color: theme.error, children: server.error }), server.status === 'needs-auth' && server.signIn !== 'elsewhere' && (_jsxs(Text, { color: theme.muted, children: ["Press l to sign in to ", server.label, " in the browser."] })), server.signedIn && _jsx(Text, { color: theme.muted, children: "Press l to sign in again, with this account or another, or o to sign out." }), server.signIn === 'elsewhere' && server.status === 'connected' && _jsxs(Text, { color: theme.muted, children: ["Signed in through ", signedInAt(server), ", so sign out there."] }), tools && (_jsxs(Text, { wrap: "truncate-end", children: [tools, more > 0 && _jsxs(Text, { color: theme.muted, children: [" \u2026 ", more, " more"] })] }))] }));
128
209
  }
129
210
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/panels/mcp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/panels/mcp.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, ChoiceList, Panel, Text, useChoiceList, useInput, useTheme } from '@jinion/tui';
3
+ import { plural } from '@jinion/core/lib/format';
4
+ import { useEffect, useState } from 'react';
5
+ import { useApi } from '../../app/api.js';
6
+ import { useAsync } from '../../ui/use-async.js';
7
+ /** Onboarding's last step, in the prompt's place: what works already from Claude Code, its notes in one key, and what stays behind. */
8
+ export function ClaudeSetupPanel() {
9
+ const api = useApi();
10
+ const theme = useTheme();
11
+ const setup = useAsync(() => api.request('setup/claude', {}), []);
12
+ const [importing, setImporting] = useState(false);
13
+ const found = setup.state === 'done' ? setup.value : undefined;
14
+ const fresh = found ? found.notes.user + found.notes.project : 0;
15
+ const empty = found !== undefined && !anything(found);
16
+ const choices = fresh > 0 ? ['import', 'skip'] : ['continue'];
17
+ const done = () => api.act(api.request('setup/claude-done', {}));
18
+ const bring = async () => {
19
+ setImporting(true);
20
+ const { added } = await api.request('memory/import', {});
21
+ api.act(api.inSession('session/notice', { text: `Brought in ${plural(added, 'note')} from Claude Code. The agent sees them from the next conversation on.`, tone: 'success' }));
22
+ done();
23
+ };
24
+ const list = useChoiceList({
25
+ keys: choices,
26
+ mode: 'single',
27
+ isActive: found !== undefined && !importing,
28
+ onCancel: done,
29
+ onSubmit: ([choice]) => (choice === 'import' ? void bring().catch(done) : done()),
30
+ });
31
+ // Someone who never used Claude Code has nothing to bring, so the step isn't shown.
32
+ useEffect(() => {
33
+ if (empty || setup.state === 'failed')
34
+ done();
35
+ }, [empty, setup.state]);
36
+ useInput((input, key) => {
37
+ if (key.ctrl && input === 'c')
38
+ api.quit();
39
+ });
40
+ if (!found || empty) {
41
+ return (_jsx(Panel, { title: "Bring your setup from Claude Code", children: _jsx(Text, { color: theme.muted, children: "Looking at your Claude Code setup\u2026" }) }));
42
+ }
43
+ const works = [
44
+ found.login && `Claude Code's login${found.login.email ? `, as ${found.login.email}` : ''}${found.login.plan ? ` (${found.login.plan})` : ''}`,
45
+ found.skills > 0 && plural(found.skills, 'skill'),
46
+ found.plugins > 0 && plural(found.plugins, 'plugin'),
47
+ found.mcpServers > 0 && plural(found.mcpServers, 'MCP server'),
48
+ found.instructions && "This project's CLAUDE.md",
49
+ ].filter((line) => typeof line === 'string');
50
+ return (_jsxs(Panel, { title: "Bring your setup from Claude Code", header: _jsx(Text, { color: theme.muted, children: "Most of it already works in Jinion." }), hints: [['Enter', 'continue'], ...(choices.length > 1 ? [['Up/Down', 'move']] : []), ['Esc', 'not now']], children: [works.length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Works already" }), works.map((line) => (_jsxs(Text, { children: [_jsx(Text, { color: theme.success, children: "+" }), " ", line] }, line)))] })), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: "Your notes" }), _jsx(Text, { children: notesLine(found) })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: "Stays behind" }), _jsx(Text, { color: theme.muted, children: "Permission rules, hooks and conversations stay in Claude Code. Jinion asks for permission its own way." })] }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: importing ? (_jsx(Text, { color: theme.muted, children: "Bringing in your notes\u2026" })) : (_jsx(ChoiceList, { list: list, limit: choices.length, choices: fresh > 0
51
+ ? [
52
+ { key: 'import', label: _jsxs(Text, { children: ["Bring in ", plural(fresh, 'note')] }) },
53
+ { key: 'skip', label: _jsx(Text, { children: "Not now" }), description: 'Later, /memory import brings them in' },
54
+ ]
55
+ : [{ key: 'continue', label: _jsx(Text, { children: "Continue" }) }] })) })] }));
56
+ }
57
+ function anything(setup) {
58
+ return setup.login !== undefined || setup.skills + setup.plugins + setup.mcpServers + setup.notes.user + setup.notes.project + setup.notes.already > 0 || setup.instructions;
59
+ }
60
+ function notesLine({ notes }) {
61
+ const fresh = notes.user + notes.project;
62
+ const already = notes.already > 0 ? `, ${notes.already} already here` : '';
63
+ if (fresh === 0)
64
+ return notes.already > 0 ? 'They are all here already.' : 'Claude Code keeps no notes for you yet.';
65
+ const where = [notes.user > 0 && `${notes.user} for every project`, notes.project > 0 && `${notes.project} for this one`].filter(Boolean).join(', ');
66
+ return `${plural(fresh, 'note')} to bring in: ${where}${already}. Only these need a step; the rest above works as it is.`;
67
+ }
68
+ //# sourceMappingURL=claude-setup-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-setup-panel.js","sourceRoot":"","sources":["../../../src/panels/onboarding/claude-setup-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Panel, Text, useContentWidth, useInput, usePanel, useTheme } from '@jinion/tui';
3
+ import { useState } from 'react';
4
+ import { useApi } from '../app/api.js';
5
+ import { cliReleases } from '../app/release-notes.js';
6
+ import { PAGER_HINTS, usePager } from '../ui/use-pager.js';
7
+ const CHROME_ROWS = 6;
8
+ /** What each version brought, newest first, the one running marked; long notes wrap rather than being cut. */
9
+ export function ReleaseNotesPanel() {
10
+ const theme = useTheme();
11
+ const { close } = usePanel();
12
+ const width = useContentWidth();
13
+ const { version } = useApi().initialized.info;
14
+ const [releases] = useState(cliReleases);
15
+ const lines = linesOf(releases, version, Math.max(20, width - 4), theme);
16
+ const pager = usePager(lines.length, { chrome: CHROME_ROWS });
17
+ useInput((_, key) => {
18
+ if (key.escape)
19
+ return close();
20
+ pager.scroll(key);
21
+ });
22
+ const hints = [...(pager.range ? PAGER_HINTS : []), ['Esc', 'close']];
23
+ return (_jsx(Panel, { title: "Release notes", subtitle: pager.range, grow: true, hints: hints, children: releases.length === 0 ? (_jsx(Text, { color: theme.muted, children: "This build has no release notes." })) : (lines.slice(pager.top, pager.top + pager.view).map(({ key, node }) => (_jsx(Text, { wrap: "truncate-end", children: node }, key)))) }));
24
+ }
25
+ /** One row each, so the pager scrolls by rows: a version, its summary, then each change, a blank row between versions. */
26
+ function linesOf(releases, running, width, theme) {
27
+ return releases.flatMap(({ version, summary, changes }, index) => {
28
+ const rows = [];
29
+ if (index > 0)
30
+ rows.push({ key: `${version}:gap`, node: ' ' });
31
+ rows.push({
32
+ key: version,
33
+ node: (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, children: ["v", version] }), version === running && _jsx(Text, { color: theme.muted, children: " the one you have" })] })),
34
+ });
35
+ for (const [row, text] of (summary ? wrapped(summary, width) : []).entries())
36
+ rows.push({ key: `${version}:summary:${row}`, node: _jsx(Text, { color: theme.muted, children: text }) });
37
+ for (const [change, text] of changes.entries()) {
38
+ for (const [row, part] of wrapped(text, width - 2).entries())
39
+ rows.push({ key: `${version}:${change}:${row}`, node: `${row === 0 ? '- ' : ' '}${part}` });
40
+ }
41
+ return rows;
42
+ });
43
+ }
44
+ /** By words, the Markdown's backticks taken off as the map's panel does; notes are prose, so a word longer than the width is rare enough to cut. */
45
+ function wrapped(text, width) {
46
+ const rows = [];
47
+ let row = '';
48
+ for (const word of text.replaceAll('`', '').split(/\s+/).filter(Boolean)) {
49
+ if (row && row.length + 1 + word.length > width) {
50
+ rows.push(row);
51
+ row = word;
52
+ }
53
+ else
54
+ row = row ? `${row} ${word}` : word;
55
+ }
56
+ if (row)
57
+ rows.push(row);
58
+ return rows;
59
+ }
60
+ //# sourceMappingURL=release-notes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/panels/release-notes.tsx"],"names":[],"mappings":"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"}
@@ -83,6 +83,8 @@ export const jinionUserAtom = atom((get) => app(get).jinionUser ?? null);
83
83
  const noAnnouncements = [];
84
84
  /** What the Jinion team says now that this user hasn't put away. */
85
85
  export const announcementsAtom = atom((get) => app(get).announcements ?? noAnnouncements);
86
+ /** Whether onboarding offered Claude Code's setup, in this app or the desktop one; until then it comes before the app. */
87
+ export const claudeSetupOfferedAtom = atom((get) => app(get).claudeSetupOffered === true);
86
88
  /** The default for new sessions, which `ctrl+g` turns on and off. */
87
89
  export const worktreesAtom = atom((get) => app(get).worktrees);
88
90
  export const mentionAtom = atom((get) => skillMention(get(skillsAtom)));
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { promisify } from 'node:util';
6
6
  import { readJson, updateJson } from '@jinion/core/lib/json-file';
7
- import { jinionHome } from '@jinion/core/lib/paths';
7
+ import { settingsFile } from '../app/settings-file.js';
8
8
  const run = promisify(execFile);
9
9
  const DOMAIN = 'com.apple.Terminal';
10
10
  const PLIST_BUDDY = '/usr/libexec/PlistBuddy';
@@ -62,7 +62,4 @@ async function print(file, entry) {
62
62
  function metaKey(profile) {
63
63
  return `"Window Settings:${profile}:useOptionAsMetaKey"`;
64
64
  }
65
- function settingsFile() {
66
- return join(jinionHome(), 'settings.json');
67
- }
68
65
  //# sourceMappingURL=apple-terminal.js.map