katashiro-vscode 2.0.1 → 2.0.2
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/commands/command-helpers.d.ts +91 -0
- package/dist/commands/command-helpers.d.ts.map +1 -0
- package/dist/commands/command-helpers.js +125 -0
- package/dist/commands/command-helpers.js.map +1 -0
- package/dist/commands/command-manager.d.ts +64 -0
- package/dist/commands/command-manager.d.ts.map +1 -0
- package/dist/commands/command-manager.js +374 -0
- package/dist/commands/command-manager.js.map +1 -0
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +9 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/extension.d.ts +18 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +75 -0
- package/dist/extension.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/katashiro-extension.d.ts +51 -0
- package/dist/katashiro-extension.d.ts.map +1 -0
- package/dist/katashiro-extension.js +123 -0
- package/dist/katashiro-extension.js.map +1 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +11 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/output-channel-manager.d.ts +57 -0
- package/dist/ui/output-channel-manager.d.ts.map +1 -0
- package/dist/ui/output-channel-manager.js +126 -0
- package/dist/ui/output-channel-manager.js.map +1 -0
- package/dist/ui/status-bar-manager.d.ts +68 -0
- package/dist/ui/status-bar-manager.d.ts.map +1 -0
- package/dist/ui/status-bar-manager.js +167 -0
- package/dist/ui/status-bar-manager.js.map +1 -0
- package/dist/views/history-view-provider.d.ts +77 -0
- package/dist/views/history-view-provider.d.ts.map +1 -0
- package/dist/views/history-view-provider.js +204 -0
- package/dist/views/history-view-provider.js.map +1 -0
- package/dist/views/index.d.ts +7 -0
- package/dist/views/index.d.ts.map +1 -0
- package/dist/views/index.js +16 -0
- package/dist/views/index.js.map +1 -0
- package/dist/views/knowledge-view-provider.d.ts +60 -0
- package/dist/views/knowledge-view-provider.d.ts.map +1 -0
- package/dist/views/knowledge-view-provider.js +169 -0
- package/dist/views/knowledge-view-provider.js.map +1 -0
- package/dist/views/research-view-provider.d.ts +48 -0
- package/dist/views/research-view-provider.d.ts.map +1 -0
- package/dist/views/research-view-provider.js +141 -0
- package/dist/views/research-view-provider.js.map +1 -0
- package/package.json +18 -19
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* KnowledgeViewProvider - Knowledge Graph panel tree view
|
|
4
|
+
*
|
|
5
|
+
* @module katashiro
|
|
6
|
+
* @task TSK-072
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.KnowledgeViewProvider = exports.KnowledgeItem = void 0;
|
|
43
|
+
const vscode = __importStar(require("vscode"));
|
|
44
|
+
/**
|
|
45
|
+
* Knowledge item for tree view
|
|
46
|
+
*/
|
|
47
|
+
class KnowledgeItem extends vscode.TreeItem {
|
|
48
|
+
label;
|
|
49
|
+
collapsibleState;
|
|
50
|
+
itemType;
|
|
51
|
+
description;
|
|
52
|
+
constructor(label, collapsibleState, itemType, description) {
|
|
53
|
+
super(label, collapsibleState);
|
|
54
|
+
this.label = label;
|
|
55
|
+
this.collapsibleState = collapsibleState;
|
|
56
|
+
this.itemType = itemType;
|
|
57
|
+
this.description = description;
|
|
58
|
+
this.description = description;
|
|
59
|
+
this.contextValue = itemType;
|
|
60
|
+
// Set icon based on type
|
|
61
|
+
switch (itemType) {
|
|
62
|
+
case 'category':
|
|
63
|
+
this.iconPath = new vscode.ThemeIcon('folder');
|
|
64
|
+
break;
|
|
65
|
+
case 'node':
|
|
66
|
+
this.iconPath = new vscode.ThemeIcon('circle-filled');
|
|
67
|
+
break;
|
|
68
|
+
case 'edge':
|
|
69
|
+
this.iconPath = new vscode.ThemeIcon('arrow-right');
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.KnowledgeItem = KnowledgeItem;
|
|
75
|
+
/**
|
|
76
|
+
* KnowledgeViewProvider
|
|
77
|
+
*
|
|
78
|
+
* Provides tree data for the Knowledge Graph panel
|
|
79
|
+
*/
|
|
80
|
+
class KnowledgeViewProvider {
|
|
81
|
+
_onDidChangeTreeData = new vscode.EventEmitter();
|
|
82
|
+
onDidChangeTreeData = this._onDidChangeTreeData.event;
|
|
83
|
+
nodes = [];
|
|
84
|
+
edges = [];
|
|
85
|
+
/**
|
|
86
|
+
* Refresh the tree view
|
|
87
|
+
*/
|
|
88
|
+
refresh() {
|
|
89
|
+
this._onDidChangeTreeData.fire();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Add a node
|
|
93
|
+
*/
|
|
94
|
+
addNode(id, label, type) {
|
|
95
|
+
this.nodes.push({ id, label, type });
|
|
96
|
+
this.refresh();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Add an edge
|
|
100
|
+
*/
|
|
101
|
+
addEdge(source, target, relation) {
|
|
102
|
+
this.edges.push({ source, target, relation });
|
|
103
|
+
this.refresh();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Clear all data
|
|
107
|
+
*/
|
|
108
|
+
clear() {
|
|
109
|
+
this.nodes = [];
|
|
110
|
+
this.edges = [];
|
|
111
|
+
this.refresh();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get statistics
|
|
115
|
+
*/
|
|
116
|
+
getStats() {
|
|
117
|
+
return {
|
|
118
|
+
nodes: this.nodes.length,
|
|
119
|
+
edges: this.edges.length,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Get tree item
|
|
124
|
+
*/
|
|
125
|
+
getTreeItem(element) {
|
|
126
|
+
return element;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get children
|
|
130
|
+
*/
|
|
131
|
+
getChildren(element) {
|
|
132
|
+
if (!element) {
|
|
133
|
+
// Root level - categories
|
|
134
|
+
const stats = this.getStats();
|
|
135
|
+
return Promise.resolve([
|
|
136
|
+
new KnowledgeItem('Nodes', vscode.TreeItemCollapsibleState.Collapsed, 'category', `${stats.nodes} items`),
|
|
137
|
+
new KnowledgeItem('Edges', vscode.TreeItemCollapsibleState.Collapsed, 'category', `${stats.edges} items`),
|
|
138
|
+
new KnowledgeItem('Actions', vscode.TreeItemCollapsibleState.Collapsed, 'category'),
|
|
139
|
+
]);
|
|
140
|
+
}
|
|
141
|
+
// Children based on category
|
|
142
|
+
switch (element.label) {
|
|
143
|
+
case 'Nodes':
|
|
144
|
+
if (this.nodes.length === 0) {
|
|
145
|
+
return Promise.resolve([
|
|
146
|
+
new KnowledgeItem('No nodes yet', vscode.TreeItemCollapsibleState.None, 'node', 'Start researching to add knowledge'),
|
|
147
|
+
]);
|
|
148
|
+
}
|
|
149
|
+
return Promise.resolve(this.nodes.map((node) => new KnowledgeItem(node.label, vscode.TreeItemCollapsibleState.None, 'node', node.type)));
|
|
150
|
+
case 'Edges':
|
|
151
|
+
if (this.edges.length === 0) {
|
|
152
|
+
return Promise.resolve([
|
|
153
|
+
new KnowledgeItem('No edges yet', vscode.TreeItemCollapsibleState.None, 'edge', 'Connections between nodes'),
|
|
154
|
+
]);
|
|
155
|
+
}
|
|
156
|
+
return Promise.resolve(this.edges.map((edge) => new KnowledgeItem(`${edge.source} → ${edge.target}`, vscode.TreeItemCollapsibleState.None, 'edge', edge.relation)));
|
|
157
|
+
case 'Actions':
|
|
158
|
+
return Promise.resolve([
|
|
159
|
+
new KnowledgeItem('View Graph', vscode.TreeItemCollapsibleState.None, 'category'),
|
|
160
|
+
new KnowledgeItem('Export', vscode.TreeItemCollapsibleState.None, 'category'),
|
|
161
|
+
new KnowledgeItem('Clear All', vscode.TreeItemCollapsibleState.None, 'category'),
|
|
162
|
+
]);
|
|
163
|
+
default:
|
|
164
|
+
return Promise.resolve([]);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.KnowledgeViewProvider = KnowledgeViewProvider;
|
|
169
|
+
//# sourceMappingURL=knowledge-view-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-view-provider.js","sourceRoot":"","sources":["../../src/views/knowledge-view-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ResearchViewProvider - Research panel tree view
|
|
3
|
+
*
|
|
4
|
+
* @module katashiro
|
|
5
|
+
* @task TSK-072
|
|
6
|
+
*/
|
|
7
|
+
import * as vscode from 'vscode';
|
|
8
|
+
/**
|
|
9
|
+
* Research item for tree view
|
|
10
|
+
*/
|
|
11
|
+
export declare class ResearchItem extends vscode.TreeItem {
|
|
12
|
+
readonly label: string;
|
|
13
|
+
readonly collapsibleState: vscode.TreeItemCollapsibleState;
|
|
14
|
+
readonly description?: string | undefined;
|
|
15
|
+
readonly command?: vscode.Command | undefined;
|
|
16
|
+
constructor(label: string, collapsibleState: vscode.TreeItemCollapsibleState, description?: string | undefined, command?: vscode.Command | undefined);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* ResearchViewProvider
|
|
20
|
+
*
|
|
21
|
+
* Provides tree data for the Research panel
|
|
22
|
+
*/
|
|
23
|
+
export declare class ResearchViewProvider implements vscode.TreeDataProvider<ResearchItem> {
|
|
24
|
+
private _onDidChangeTreeData;
|
|
25
|
+
readonly onDidChangeTreeData: vscode.Event<void | ResearchItem | null | undefined>;
|
|
26
|
+
private recentSearches;
|
|
27
|
+
/**
|
|
28
|
+
* Refresh the tree view
|
|
29
|
+
*/
|
|
30
|
+
refresh(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Add a recent search
|
|
33
|
+
*/
|
|
34
|
+
addSearch(query: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Get tree item
|
|
37
|
+
*/
|
|
38
|
+
getTreeItem(element: ResearchItem): vscode.TreeItem;
|
|
39
|
+
/**
|
|
40
|
+
* Get children
|
|
41
|
+
*/
|
|
42
|
+
getChildren(element?: ResearchItem): Thenable<ResearchItem[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Format timestamp
|
|
45
|
+
*/
|
|
46
|
+
private formatTime;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=research-view-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research-view-provider.d.ts","sourceRoot":"","sources":["../../src/views/research-view-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM,CAAC,QAAQ;aAE7B,KAAK,EAAE,MAAM;aACb,gBAAgB,EAAE,MAAM,CAAC,wBAAwB;aACjD,WAAW,CAAC,EAAE,MAAM;aACpB,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO;gBAHxB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,CAAC,wBAAwB,EACjD,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,YAAA;CAM3C;AAED;;;;GAIG;AACH,qBAAa,oBACX,YAAW,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC;IAEhD,OAAO,CAAC,oBAAoB,CAExB;IACJ,QAAQ,CAAC,mBAAmB,uDAAmC;IAE/D,OAAO,CAAC,cAAc,CAAiD;IAEvE;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,QAAQ;IAInD;;OAEG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAwD7D;;OAEG;IACH,OAAO,CAAC,UAAU;CAanB"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ResearchViewProvider - Research panel tree view
|
|
4
|
+
*
|
|
5
|
+
* @module katashiro
|
|
6
|
+
* @task TSK-072
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.ResearchViewProvider = exports.ResearchItem = void 0;
|
|
43
|
+
const vscode = __importStar(require("vscode"));
|
|
44
|
+
/**
|
|
45
|
+
* Research item for tree view
|
|
46
|
+
*/
|
|
47
|
+
class ResearchItem extends vscode.TreeItem {
|
|
48
|
+
label;
|
|
49
|
+
collapsibleState;
|
|
50
|
+
description;
|
|
51
|
+
command;
|
|
52
|
+
constructor(label, collapsibleState, description, command) {
|
|
53
|
+
super(label, collapsibleState);
|
|
54
|
+
this.label = label;
|
|
55
|
+
this.collapsibleState = collapsibleState;
|
|
56
|
+
this.description = description;
|
|
57
|
+
this.command = command;
|
|
58
|
+
this.description = description;
|
|
59
|
+
this.command = command;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ResearchItem = ResearchItem;
|
|
63
|
+
/**
|
|
64
|
+
* ResearchViewProvider
|
|
65
|
+
*
|
|
66
|
+
* Provides tree data for the Research panel
|
|
67
|
+
*/
|
|
68
|
+
class ResearchViewProvider {
|
|
69
|
+
_onDidChangeTreeData = new vscode.EventEmitter();
|
|
70
|
+
onDidChangeTreeData = this._onDidChangeTreeData.event;
|
|
71
|
+
recentSearches = [];
|
|
72
|
+
/**
|
|
73
|
+
* Refresh the tree view
|
|
74
|
+
*/
|
|
75
|
+
refresh() {
|
|
76
|
+
this._onDidChangeTreeData.fire();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Add a recent search
|
|
80
|
+
*/
|
|
81
|
+
addSearch(query) {
|
|
82
|
+
this.recentSearches.unshift({ query, timestamp: new Date() });
|
|
83
|
+
if (this.recentSearches.length > 10) {
|
|
84
|
+
this.recentSearches.pop();
|
|
85
|
+
}
|
|
86
|
+
this.refresh();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get tree item
|
|
90
|
+
*/
|
|
91
|
+
getTreeItem(element) {
|
|
92
|
+
return element;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get children
|
|
96
|
+
*/
|
|
97
|
+
getChildren(element) {
|
|
98
|
+
if (!element) {
|
|
99
|
+
// Root level items
|
|
100
|
+
return Promise.resolve([
|
|
101
|
+
new ResearchItem('New Search', vscode.TreeItemCollapsibleState.None, '', {
|
|
102
|
+
command: 'katashiro.webSearch',
|
|
103
|
+
title: 'New Search',
|
|
104
|
+
}),
|
|
105
|
+
new ResearchItem('Research Topic', vscode.TreeItemCollapsibleState.None, '', {
|
|
106
|
+
command: 'katashiro.researchTopic',
|
|
107
|
+
title: 'Research Topic',
|
|
108
|
+
}),
|
|
109
|
+
new ResearchItem('Recent Searches', vscode.TreeItemCollapsibleState.Expanded),
|
|
110
|
+
]);
|
|
111
|
+
}
|
|
112
|
+
// Recent searches children
|
|
113
|
+
if (element.label === 'Recent Searches') {
|
|
114
|
+
if (this.recentSearches.length === 0) {
|
|
115
|
+
return Promise.resolve([
|
|
116
|
+
new ResearchItem('No recent searches', vscode.TreeItemCollapsibleState.None, 'Start a new search'),
|
|
117
|
+
]);
|
|
118
|
+
}
|
|
119
|
+
return Promise.resolve(this.recentSearches.map((search) => new ResearchItem(search.query, vscode.TreeItemCollapsibleState.None, this.formatTime(search.timestamp))));
|
|
120
|
+
}
|
|
121
|
+
return Promise.resolve([]);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Format timestamp
|
|
125
|
+
*/
|
|
126
|
+
formatTime(date) {
|
|
127
|
+
const now = new Date();
|
|
128
|
+
const diffMs = now.getTime() - date.getTime();
|
|
129
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
130
|
+
if (diffMins < 1)
|
|
131
|
+
return 'just now';
|
|
132
|
+
if (diffMins < 60)
|
|
133
|
+
return `${diffMins}m ago`;
|
|
134
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
135
|
+
if (diffHours < 24)
|
|
136
|
+
return `${diffHours}h ago`;
|
|
137
|
+
return date.toLocaleDateString();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.ResearchViewProvider = ResearchViewProvider;
|
|
141
|
+
//# sourceMappingURL=research-view-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research-view-provider.js","sourceRoot":"","sources":["../../src/views/research-view-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "katashiro-vscode",
|
|
3
3
|
"displayName": "KATASHIRO",
|
|
4
4
|
"description": "AI-powered research assistant with web search, content analysis, and knowledge graph",
|
|
5
|
-
"version": "2.0.
|
|
5
|
+
"version": "2.0.2",
|
|
6
6
|
"publisher": "nahisaho",
|
|
7
7
|
"icon": "media/icon.png",
|
|
8
8
|
"repository": {
|
|
@@ -157,28 +157,27 @@
|
|
|
157
157
|
]
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
|
-
"scripts": {
|
|
161
|
-
"vscode:prepublish": "npm run build",
|
|
162
|
-
"build": "tsc",
|
|
163
|
-
"watch": "tsc -watch",
|
|
164
|
-
"clean": "rm -rf dist",
|
|
165
|
-
"test": "vitest run",
|
|
166
|
-
"package": "vsce package",
|
|
167
|
-
"publish": "vsce publish"
|
|
168
|
-
},
|
|
169
160
|
"dependencies": {
|
|
170
|
-
"@nahisaho/katashiro-core": "
|
|
171
|
-
"@nahisaho/katashiro-collector": "
|
|
172
|
-
"@nahisaho/katashiro-
|
|
173
|
-
"@nahisaho/katashiro-
|
|
174
|
-
"@nahisaho/katashiro-
|
|
175
|
-
"@nahisaho/katashiro-
|
|
176
|
-
"@nahisaho/katashiro-
|
|
161
|
+
"@nahisaho/katashiro-core": "2.0.2",
|
|
162
|
+
"@nahisaho/katashiro-collector": "2.0.2",
|
|
163
|
+
"@nahisaho/katashiro-generator": "2.0.2",
|
|
164
|
+
"@nahisaho/katashiro-knowledge": "2.0.2",
|
|
165
|
+
"@nahisaho/katashiro-feedback": "2.0.2",
|
|
166
|
+
"@nahisaho/katashiro-mcp-server": "2.0.2",
|
|
167
|
+
"@nahisaho/katashiro-analyzer": "2.0.2"
|
|
177
168
|
},
|
|
178
169
|
"devDependencies": {
|
|
179
170
|
"@types/vscode": "^1.85.0",
|
|
180
171
|
"@vscode/vsce": "^2.22.0"
|
|
181
172
|
},
|
|
182
173
|
"author": "nahisaho",
|
|
183
|
-
"license": "MIT"
|
|
184
|
-
|
|
174
|
+
"license": "MIT",
|
|
175
|
+
"scripts": {
|
|
176
|
+
"vscode:prepublish": "npm run build",
|
|
177
|
+
"build": "tsc",
|
|
178
|
+
"watch": "tsc -watch",
|
|
179
|
+
"clean": "rm -rf dist",
|
|
180
|
+
"test": "vitest run",
|
|
181
|
+
"package": "vsce package"
|
|
182
|
+
}
|
|
183
|
+
}
|