claude-scope 0.1.8 → 0.2.0
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/dist/claude-scope.cjs +764 -0
- package/package.json +9 -6
- package/dist/constants.d.ts +0 -56
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -57
- package/dist/constants.js.map +0 -1
- package/dist/core/renderer.d.ts +0 -51
- package/dist/core/renderer.d.ts.map +0 -1
- package/dist/core/renderer.js +0 -75
- package/dist/core/renderer.js.map +0 -1
- package/dist/core/types.d.ts +0 -56
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -5
- package/dist/core/types.js.map +0 -1
- package/dist/core/widget-registry.d.ts +0 -40
- package/dist/core/widget-registry.d.ts.map +0 -1
- package/dist/core/widget-registry.js +0 -75
- package/dist/core/widget-registry.js.map +0 -1
- package/dist/core/widget-types.d.ts +0 -30
- package/dist/core/widget-types.d.ts.map +0 -1
- package/dist/core/widget-types.js +0 -30
- package/dist/core/widget-types.js.map +0 -1
- package/dist/data/stdin-provider.d.ts +0 -44
- package/dist/data/stdin-provider.d.ts.map +0 -1
- package/dist/data/stdin-provider.js +0 -72
- package/dist/data/stdin-provider.js.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/providers/git-provider.d.ts +0 -71
- package/dist/providers/git-provider.d.ts.map +0 -1
- package/dist/providers/git-provider.js +0 -73
- package/dist/providers/git-provider.js.map +0 -1
- package/dist/schemas/stdin-schema.d.ts +0 -84
- package/dist/schemas/stdin-schema.d.ts.map +0 -1
- package/dist/schemas/stdin-schema.js +0 -48
- package/dist/schemas/stdin-schema.js.map +0 -1
- package/dist/types.d.ts +0 -31
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
- package/dist/ui/utils/colors.d.ts +0 -52
- package/dist/ui/utils/colors.d.ts.map +0 -1
- package/dist/ui/utils/colors.js +0 -54
- package/dist/ui/utils/colors.js.map +0 -1
- package/dist/ui/utils/formatters.d.ts +0 -56
- package/dist/ui/utils/formatters.d.ts.map +0 -1
- package/dist/ui/utils/formatters.js +0 -114
- package/dist/ui/utils/formatters.js.map +0 -1
- package/dist/validation/combinators.d.ts +0 -10
- package/dist/validation/combinators.d.ts.map +0 -1
- package/dist/validation/combinators.js +0 -49
- package/dist/validation/combinators.js.map +0 -1
- package/dist/validation/core.d.ts +0 -30
- package/dist/validation/core.d.ts.map +0 -1
- package/dist/validation/core.js +0 -2
- package/dist/validation/core.js.map +0 -1
- package/dist/validation/index.d.ts +0 -4
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -4
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/result.d.ts +0 -5
- package/dist/validation/result.d.ts.map +0 -1
- package/dist/validation/result.js +0 -11
- package/dist/validation/result.js.map +0 -1
- package/dist/validation/validators.d.ts +0 -7
- package/dist/validation/validators.d.ts.map +0 -1
- package/dist/validation/validators.js +0 -41
- package/dist/validation/validators.js.map +0 -1
- package/dist/widgets/context-widget.d.ts +0 -13
- package/dist/widgets/context-widget.d.ts.map +0 -1
- package/dist/widgets/context-widget.js +0 -31
- package/dist/widgets/context-widget.js.map +0 -1
- package/dist/widgets/core/stdin-data-widget.d.ts +0 -93
- package/dist/widgets/core/stdin-data-widget.d.ts.map +0 -1
- package/dist/widgets/core/stdin-data-widget.js +0 -84
- package/dist/widgets/core/stdin-data-widget.js.map +0 -1
- package/dist/widgets/cost-widget.d.ts +0 -13
- package/dist/widgets/cost-widget.d.ts.map +0 -1
- package/dist/widgets/cost-widget.js +0 -18
- package/dist/widgets/cost-widget.js.map +0 -1
- package/dist/widgets/duration-widget.d.ts +0 -13
- package/dist/widgets/duration-widget.d.ts.map +0 -1
- package/dist/widgets/duration-widget.js +0 -18
- package/dist/widgets/duration-widget.js.map +0 -1
- package/dist/widgets/git/git-changes-widget.d.ts +0 -38
- package/dist/widgets/git/git-changes-widget.d.ts.map +0 -1
- package/dist/widgets/git/git-changes-widget.js +0 -91
- package/dist/widgets/git/git-changes-widget.js.map +0 -1
- package/dist/widgets/git/git-widget.d.ts +0 -37
- package/dist/widgets/git/git-widget.d.ts.map +0 -1
- package/dist/widgets/git/git-widget.js +0 -67
- package/dist/widgets/git/git-widget.js.map +0 -1
- package/dist/widgets/model-widget.d.ts +0 -13
- package/dist/widgets/model-widget.d.ts.map +0 -1
- package/dist/widgets/model-widget.js +0 -15
- package/dist/widgets/model-widget.js.map +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Duration Widget
|
|
3
|
-
*
|
|
4
|
-
* Displays elapsed session time
|
|
5
|
-
*/
|
|
6
|
-
import { StdinDataWidget } from './core/stdin-data-widget.js';
|
|
7
|
-
import { createWidgetMetadata } from '../core/widget-types.js';
|
|
8
|
-
import { formatDuration } from '../ui/utils/formatters.js';
|
|
9
|
-
export class DurationWidget extends StdinDataWidget {
|
|
10
|
-
id = 'duration';
|
|
11
|
-
metadata = createWidgetMetadata('Duration', 'Displays elapsed session time');
|
|
12
|
-
renderWithData(data, context) {
|
|
13
|
-
if (!data.cost || data.cost.total_duration_ms === undefined)
|
|
14
|
-
return null;
|
|
15
|
-
return formatDuration(data.cost.total_duration_ms);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=duration-widget.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"duration-widget.js","sourceRoot":"","sources":["../../src/widgets/duration-widget.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,OAAO,cAAe,SAAQ,eAAe;IACxC,EAAE,GAAG,UAAU,CAAC;IAChB,QAAQ,GAAG,oBAAoB,CACtC,UAAU,EACV,+BAA+B,CAChC,CAAC;IAEQ,cAAc,CAAC,IAAe,EAAE,OAAsB;QAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git Changes Widget
|
|
3
|
-
*
|
|
4
|
-
* Displays git diff statistics (insertions/deletions)
|
|
5
|
-
*
|
|
6
|
-
* NOTE: This widget implements IWidget directly (not extending StdinDataWidget)
|
|
7
|
-
* because it requires async git operations with custom lifecycle management.
|
|
8
|
-
*/
|
|
9
|
-
import type { IWidget, WidgetContext, RenderContext, StdinData } from '../../core/types.js';
|
|
10
|
-
import type { IGit } from '../../providers/git-provider.js';
|
|
11
|
-
/**
|
|
12
|
-
* Widget displaying git diff statistics
|
|
13
|
-
*
|
|
14
|
-
* Uses Dependency Injection for IGit to enable:
|
|
15
|
-
* - Easy testing with MockGit
|
|
16
|
-
* - No tight coupling to git implementation
|
|
17
|
-
* - Clean separation of concerns
|
|
18
|
-
*/
|
|
19
|
-
export declare class GitChangesWidget implements IWidget {
|
|
20
|
-
readonly id = "git-changes";
|
|
21
|
-
readonly metadata: import("../../core/types.js").IWidgetMetadata;
|
|
22
|
-
private gitFactory;
|
|
23
|
-
private git;
|
|
24
|
-
private enabled;
|
|
25
|
-
private cwd;
|
|
26
|
-
/**
|
|
27
|
-
* @param gitFactory - Optional factory function for creating IGit instances
|
|
28
|
-
* If not provided, uses default createGit (production)
|
|
29
|
-
* Tests can inject MockGit factory here
|
|
30
|
-
*/
|
|
31
|
-
constructor(gitFactory?: (cwd: string) => IGit);
|
|
32
|
-
initialize(context: WidgetContext): Promise<void>;
|
|
33
|
-
update(data: StdinData): Promise<void>;
|
|
34
|
-
render(context: RenderContext): Promise<string | null>;
|
|
35
|
-
isEnabled(): boolean;
|
|
36
|
-
cleanup(): Promise<void>;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=git-changes-widget.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-changes-widget.d.ts","sourceRoot":"","sources":["../../../src/widgets/git/git-changes-widget.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAG5D;;;;;;;GAOG;AACH,qBAAa,gBAAiB,YAAW,OAAO;IAC9C,QAAQ,CAAC,EAAE,iBAAiB;IAC5B,QAAQ,CAAC,QAAQ,gDAGf;IAEF,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,GAAG,CAAuB;IAElC;;;;OAIG;gBACS,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAIxC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8C5D,SAAS,IAAI,OAAO;IAId,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git Changes Widget
|
|
3
|
-
*
|
|
4
|
-
* Displays git diff statistics (insertions/deletions)
|
|
5
|
-
*
|
|
6
|
-
* NOTE: This widget implements IWidget directly (not extending StdinDataWidget)
|
|
7
|
-
* because it requires async git operations with custom lifecycle management.
|
|
8
|
-
*/
|
|
9
|
-
import { createWidgetMetadata } from '../../core/widget-types.js';
|
|
10
|
-
import { createGit } from '../../providers/git-provider.js';
|
|
11
|
-
/**
|
|
12
|
-
* Widget displaying git diff statistics
|
|
13
|
-
*
|
|
14
|
-
* Uses Dependency Injection for IGit to enable:
|
|
15
|
-
* - Easy testing with MockGit
|
|
16
|
-
* - No tight coupling to git implementation
|
|
17
|
-
* - Clean separation of concerns
|
|
18
|
-
*/
|
|
19
|
-
export class GitChangesWidget {
|
|
20
|
-
id = 'git-changes';
|
|
21
|
-
metadata = createWidgetMetadata('Git Changes', 'Displays git diff statistics');
|
|
22
|
-
gitFactory;
|
|
23
|
-
git = null;
|
|
24
|
-
enabled = true;
|
|
25
|
-
cwd = null;
|
|
26
|
-
/**
|
|
27
|
-
* @param gitFactory - Optional factory function for creating IGit instances
|
|
28
|
-
* If not provided, uses default createGit (production)
|
|
29
|
-
* Tests can inject MockGit factory here
|
|
30
|
-
*/
|
|
31
|
-
constructor(gitFactory) {
|
|
32
|
-
this.gitFactory = gitFactory || createGit;
|
|
33
|
-
}
|
|
34
|
-
async initialize(context) {
|
|
35
|
-
this.enabled = context.config?.enabled !== false;
|
|
36
|
-
}
|
|
37
|
-
async update(data) {
|
|
38
|
-
// Re-initialize git if cwd changed
|
|
39
|
-
if (data.cwd !== this.cwd) {
|
|
40
|
-
this.cwd = data.cwd;
|
|
41
|
-
this.git = this.gitFactory(data.cwd);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async render(context) {
|
|
45
|
-
if (!this.enabled || !this.git || !this.cwd) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
let changes;
|
|
49
|
-
try {
|
|
50
|
-
const summary = await this.git.diffSummary(['--shortstat']);
|
|
51
|
-
let insertions = 0;
|
|
52
|
-
let deletions = 0;
|
|
53
|
-
if (summary.files && summary.files.length > 0) {
|
|
54
|
-
for (const file of summary.files) {
|
|
55
|
-
if (typeof file.insertions === 'number') {
|
|
56
|
-
insertions += file.insertions;
|
|
57
|
-
}
|
|
58
|
-
if (typeof file.deletions === 'number') {
|
|
59
|
-
deletions += file.deletions;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (insertions === 0 && deletions === 0) {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
changes = { insertions, deletions };
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
// Log specific error for debugging but return null (graceful degradation)
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
if (!changes)
|
|
73
|
-
return null;
|
|
74
|
-
if (changes.insertions === 0 && changes.deletions === 0) {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
const parts = [];
|
|
78
|
-
if (changes.insertions > 0)
|
|
79
|
-
parts.push(`+${changes.insertions}`);
|
|
80
|
-
if (changes.deletions > 0)
|
|
81
|
-
parts.push(`-${changes.deletions}`);
|
|
82
|
-
return parts.join(',');
|
|
83
|
-
}
|
|
84
|
-
isEnabled() {
|
|
85
|
-
return this.enabled;
|
|
86
|
-
}
|
|
87
|
-
async cleanup() {
|
|
88
|
-
// No cleanup needed for native git implementation
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=git-changes-widget.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-changes-widget.js","sourceRoot":"","sources":["../../../src/widgets/git/git-changes-widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git status widget
|
|
3
|
-
* Displays current git branch
|
|
4
|
-
*
|
|
5
|
-
* NOTE: This widget implements IWidget directly (not extending StdinDataWidget)
|
|
6
|
-
* because it requires async git operations with custom lifecycle management.
|
|
7
|
-
*/
|
|
8
|
-
import type { IWidget, WidgetContext, RenderContext, StdinData } from '../../core/types.js';
|
|
9
|
-
import type { IGit } from '../../providers/git-provider.js';
|
|
10
|
-
/**
|
|
11
|
-
* Widget displaying git branch information
|
|
12
|
-
*
|
|
13
|
-
* Uses Dependency Injection for IGit to enable:
|
|
14
|
-
* - Easy testing with MockGit
|
|
15
|
-
* - No tight coupling to git implementation
|
|
16
|
-
* - Clean separation of concerns
|
|
17
|
-
*/
|
|
18
|
-
export declare class GitWidget implements IWidget {
|
|
19
|
-
readonly id = "git";
|
|
20
|
-
readonly metadata: import("../../core/types.js").IWidgetMetadata;
|
|
21
|
-
private gitFactory;
|
|
22
|
-
private git;
|
|
23
|
-
private enabled;
|
|
24
|
-
private cwd;
|
|
25
|
-
/**
|
|
26
|
-
* @param gitFactory - Optional factory function for creating IGit instances
|
|
27
|
-
* If not provided, uses default createGit (production)
|
|
28
|
-
* Tests can inject MockGit factory here
|
|
29
|
-
*/
|
|
30
|
-
constructor(gitFactory?: (cwd: string) => IGit);
|
|
31
|
-
initialize(context: WidgetContext): Promise<void>;
|
|
32
|
-
render(context: RenderContext): Promise<string | null>;
|
|
33
|
-
update(data: StdinData): Promise<void>;
|
|
34
|
-
isEnabled(): boolean;
|
|
35
|
-
cleanup(): Promise<void>;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=git-widget.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-widget.d.ts","sourceRoot":"","sources":["../../../src/widgets/git/git-widget.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAG5D;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,OAAO;IACvC,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,QAAQ,gDAGf;IAEF,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,GAAG,CAAuB;IAElC;;;;OAIG;gBACS,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAIxC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBtD,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,SAAS,IAAI,OAAO;IAId,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git status widget
|
|
3
|
-
* Displays current git branch
|
|
4
|
-
*
|
|
5
|
-
* NOTE: This widget implements IWidget directly (not extending StdinDataWidget)
|
|
6
|
-
* because it requires async git operations with custom lifecycle management.
|
|
7
|
-
*/
|
|
8
|
-
import { createWidgetMetadata } from '../../core/widget-types.js';
|
|
9
|
-
import { createGit } from '../../providers/git-provider.js';
|
|
10
|
-
/**
|
|
11
|
-
* Widget displaying git branch information
|
|
12
|
-
*
|
|
13
|
-
* Uses Dependency Injection for IGit to enable:
|
|
14
|
-
* - Easy testing with MockGit
|
|
15
|
-
* - No tight coupling to git implementation
|
|
16
|
-
* - Clean separation of concerns
|
|
17
|
-
*/
|
|
18
|
-
export class GitWidget {
|
|
19
|
-
id = 'git';
|
|
20
|
-
metadata = createWidgetMetadata('Git Widget', 'Displays current git branch');
|
|
21
|
-
gitFactory;
|
|
22
|
-
git = null;
|
|
23
|
-
enabled = true;
|
|
24
|
-
cwd = null;
|
|
25
|
-
/**
|
|
26
|
-
* @param gitFactory - Optional factory function for creating IGit instances
|
|
27
|
-
* If not provided, uses default createGit (production)
|
|
28
|
-
* Tests can inject MockGit factory here
|
|
29
|
-
*/
|
|
30
|
-
constructor(gitFactory) {
|
|
31
|
-
this.gitFactory = gitFactory || createGit;
|
|
32
|
-
}
|
|
33
|
-
async initialize(context) {
|
|
34
|
-
this.enabled = context.config?.enabled !== false;
|
|
35
|
-
}
|
|
36
|
-
async render(context) {
|
|
37
|
-
if (!this.enabled || !this.git || !this.cwd) {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
const status = await this.git.status();
|
|
42
|
-
const branch = status.current || null;
|
|
43
|
-
if (!branch) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
return ` ${branch}`;
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
// Log specific error for debugging but return null (graceful degradation)
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
async update(data) {
|
|
54
|
-
// Re-initialize git if cwd changed
|
|
55
|
-
if (data.cwd !== this.cwd) {
|
|
56
|
-
this.cwd = data.cwd;
|
|
57
|
-
this.git = this.gitFactory(data.cwd);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
isEnabled() {
|
|
61
|
-
return this.enabled;
|
|
62
|
-
}
|
|
63
|
-
async cleanup() {
|
|
64
|
-
// No cleanup needed for native git implementation
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=git-widget.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-widget.js","sourceRoot":"","sources":["../../../src/widgets/git/git-widget.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IACX,EAAE,GAAG,KAAK,CAAC;IACX,QAAQ,GAAG,oBAAoB,CACtC,YAAY,EACZ,6BAA6B,CAC9B,CAAC;IAEM,UAAU,CAAwB;IAClC,GAAG,GAAgB,IAAI,CAAC;IACxB,OAAO,GAAG,IAAI,CAAC;IACf,GAAG,GAAkB,IAAI,CAAC;IAElC;;;;OAIG;IACH,YAAY,UAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,SAAS,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAsB;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;YAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,mCAAmC;QACnC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,kDAAkD;IACpD,CAAC;CACF"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model Widget
|
|
3
|
-
*
|
|
4
|
-
* Displays the current Claude model name
|
|
5
|
-
*/
|
|
6
|
-
import { StdinDataWidget } from './core/stdin-data-widget.js';
|
|
7
|
-
import type { RenderContext, StdinData } from '../types.js';
|
|
8
|
-
export declare class ModelWidget extends StdinDataWidget {
|
|
9
|
-
readonly id = "model";
|
|
10
|
-
readonly metadata: import("../core/types.js").IWidgetMetadata;
|
|
11
|
-
protected renderWithData(data: StdinData, context: RenderContext): string | null;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=model-widget.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/model-widget.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE5D,qBAAa,WAAY,SAAQ,eAAe;IAC9C,QAAQ,CAAC,EAAE,WAAW;IACtB,QAAQ,CAAC,QAAQ,6CAGf;IAEF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;CAGjF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model Widget
|
|
3
|
-
*
|
|
4
|
-
* Displays the current Claude model name
|
|
5
|
-
*/
|
|
6
|
-
import { StdinDataWidget } from './core/stdin-data-widget.js';
|
|
7
|
-
import { createWidgetMetadata } from '../core/widget-types.js';
|
|
8
|
-
export class ModelWidget extends StdinDataWidget {
|
|
9
|
-
id = 'model';
|
|
10
|
-
metadata = createWidgetMetadata('Model', 'Displays the current Claude model name');
|
|
11
|
-
renderWithData(data, context) {
|
|
12
|
-
return data.model.display_name;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=model-widget.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-widget.js","sourceRoot":"","sources":["../../src/widgets/model-widget.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,OAAO,WAAY,SAAQ,eAAe;IACrC,EAAE,GAAG,OAAO,CAAC;IACb,QAAQ,GAAG,oBAAoB,CACtC,OAAO,EACP,wCAAwC,CACzC,CAAC;IAEQ,cAAc,CAAC,IAAe,EAAE,OAAsB;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;IACjC,CAAC;CACF"}
|