jupyterlab_claude_code_extension 1.2.37 → 1.2.38
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/lib/index.js +4 -4
- package/lib/widget.d.ts +4 -3
- package/lib/widget.js +4 -3
- package/package.json +1 -1
- package/src/index.ts +4 -4
- package/src/widget.ts +5 -4
package/lib/index.js
CHANGED
|
@@ -45,10 +45,10 @@ const plugin = {
|
|
|
45
45
|
labShell.add(widget, currentSidebar, { rank: 600 });
|
|
46
46
|
const apply = () => {
|
|
47
47
|
const mode = settings.get('presentationMode').composite;
|
|
48
|
-
// '
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
widget.setPresentationMode(mode === 'path' ? 'path' : '
|
|
48
|
+
// 'folder' was the previous name for this mode; any value other
|
|
49
|
+
// than 'path' is treated as 'name', so a saved 'folder' still maps
|
|
50
|
+
// to the name mode.
|
|
51
|
+
widget.setPresentationMode(mode === 'path' ? 'path' : 'name');
|
|
52
52
|
const limit = settings.get('recentLimit').composite;
|
|
53
53
|
if (typeof limit === 'number') {
|
|
54
54
|
widget.setRecentLimit(limit);
|
package/lib/widget.d.ts
CHANGED
|
@@ -3,11 +3,12 @@ import { IDefaultFileBrowser } from '@jupyterlab/filebrowser';
|
|
|
3
3
|
import { ITerminalTracker } from '@jupyterlab/terminal';
|
|
4
4
|
import { Widget } from '@lumino/widgets';
|
|
5
5
|
import { Message } from '@lumino/messaging';
|
|
6
|
-
export type PresentationMode = '
|
|
6
|
+
export type PresentationMode = 'name' | 'path';
|
|
7
7
|
export declare class ClaudeCodeSessionsWidget extends Widget {
|
|
8
8
|
constructor(app: JupyterFrontEnd, rootDir: string, terminalTracker?: ITerminalTracker | null, fileBrowser?: IDefaultFileBrowser | null);
|
|
9
9
|
refresh(): void;
|
|
10
|
-
/** Choose how rows are labelled: by
|
|
10
|
+
/** Choose how rows are labelled: by name (session name, initially the
|
|
11
|
+
* folder name), or by path. */
|
|
11
12
|
setPresentationMode(mode: PresentationMode): void;
|
|
12
13
|
/** Set how many rows the Recent section displays. */
|
|
13
14
|
setRecentLimit(n: number): void;
|
|
@@ -88,7 +89,7 @@ export declare class ClaudeCodeSessionsWidget extends Widget {
|
|
|
88
89
|
*/
|
|
89
90
|
private _showLaunchSpinner;
|
|
90
91
|
private _wireTerminalDisposal;
|
|
91
|
-
/** Apply the presentation-mode setting (basename collisions for
|
|
92
|
+
/** Apply the presentation-mode setting (basename collisions for name
|
|
92
93
|
* mode are resolved separately in ``_disambiguate``). */
|
|
93
94
|
private _displayName;
|
|
94
95
|
private _basename;
|
package/lib/widget.js
CHANGED
|
@@ -13,7 +13,7 @@ const BRANCH_WATCH_INTERVAL_MS = 2000;
|
|
|
13
13
|
const BRANCH_WATCH_MAX_ATTEMPTS = 90; // ~3 minutes
|
|
14
14
|
const DEFAULT_RECENT_LIMIT = 10;
|
|
15
15
|
const EXPANDED_STORAGE_KEY = 'jupyterlab_claude_code_extension:expanded';
|
|
16
|
-
const DEFAULT_PRESENTATION_MODE = '
|
|
16
|
+
const DEFAULT_PRESENTATION_MODE = 'name';
|
|
17
17
|
const SECTION_LABELS = {
|
|
18
18
|
favourites: 'Favorites',
|
|
19
19
|
recent: 'Recent',
|
|
@@ -114,7 +114,8 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
114
114
|
this._setLoading(false);
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
-
/** Choose how rows are labelled: by
|
|
117
|
+
/** Choose how rows are labelled: by name (session name, initially the
|
|
118
|
+
* folder name), or by path. */
|
|
118
119
|
setPresentationMode(mode) {
|
|
119
120
|
if (this._presentationMode === mode) {
|
|
120
121
|
return;
|
|
@@ -738,7 +739,7 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
738
739
|
});
|
|
739
740
|
}
|
|
740
741
|
// -------------------------------------------------------------- rendering
|
|
741
|
-
/** Apply the presentation-mode setting (basename collisions for
|
|
742
|
+
/** Apply the presentation-mode setting (basename collisions for name
|
|
742
743
|
* mode are resolved separately in ``_disambiguate``). */
|
|
743
744
|
_displayName(s) {
|
|
744
745
|
const folder = this._basename(s.project_path) || s.encoded_path;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_claude_code_extension",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.38",
|
|
4
4
|
"description": "Browse, resume, and manage your Claude Code CLI sessions from a JupyterLab side panel. One click reactivates the right terminal - no duplicate tabs, live remote-control indicator, and favourites for the projects you keep coming back to.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
package/src/index.ts
CHANGED
|
@@ -77,10 +77,10 @@ const plugin: JupyterFrontEndPlugin<void> = {
|
|
|
77
77
|
|
|
78
78
|
const apply = (): void => {
|
|
79
79
|
const mode = settings.get('presentationMode').composite as string;
|
|
80
|
-
// '
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
widget.setPresentationMode(mode === 'path' ? 'path' : '
|
|
80
|
+
// 'folder' was the previous name for this mode; any value other
|
|
81
|
+
// than 'path' is treated as 'name', so a saved 'folder' still maps
|
|
82
|
+
// to the name mode.
|
|
83
|
+
widget.setPresentationMode(mode === 'path' ? 'path' : 'name');
|
|
84
84
|
const limit = settings.get('recentLimit').composite as number;
|
|
85
85
|
if (typeof limit === 'number') {
|
|
86
86
|
widget.setRecentLimit(limit);
|
package/src/widget.ts
CHANGED
|
@@ -50,9 +50,9 @@ const EXPANDED_STORAGE_KEY = 'jupyterlab_claude_code_extension:expanded';
|
|
|
50
50
|
|
|
51
51
|
type SectionKey = 'favourites' | 'recent' | 'all';
|
|
52
52
|
|
|
53
|
-
export type PresentationMode = '
|
|
53
|
+
export type PresentationMode = 'name' | 'path';
|
|
54
54
|
|
|
55
|
-
const DEFAULT_PRESENTATION_MODE: PresentationMode = '
|
|
55
|
+
const DEFAULT_PRESENTATION_MODE: PresentationMode = 'name';
|
|
56
56
|
|
|
57
57
|
const SECTION_LABELS: Record<SectionKey, string> = {
|
|
58
58
|
favourites: 'Favorites',
|
|
@@ -155,7 +155,8 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
/** Choose how rows are labelled: by
|
|
158
|
+
/** Choose how rows are labelled: by name (session name, initially the
|
|
159
|
+
* folder name), or by path. */
|
|
159
160
|
setPresentationMode(mode: PresentationMode): void {
|
|
160
161
|
if (this._presentationMode === mode) {
|
|
161
162
|
return;
|
|
@@ -869,7 +870,7 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
869
870
|
|
|
870
871
|
// -------------------------------------------------------------- rendering
|
|
871
872
|
|
|
872
|
-
/** Apply the presentation-mode setting (basename collisions for
|
|
873
|
+
/** Apply the presentation-mode setting (basename collisions for name
|
|
873
874
|
* mode are resolved separately in ``_disambiguate``). */
|
|
874
875
|
private _displayName(s: ISession): string {
|
|
875
876
|
const folder = this._basename(s.project_path) || s.encoded_path;
|