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.
Files changed (53) hide show
  1. package/dist/commands/command-helpers.d.ts +91 -0
  2. package/dist/commands/command-helpers.d.ts.map +1 -0
  3. package/dist/commands/command-helpers.js +125 -0
  4. package/dist/commands/command-helpers.js.map +1 -0
  5. package/dist/commands/command-manager.d.ts +64 -0
  6. package/dist/commands/command-manager.d.ts.map +1 -0
  7. package/dist/commands/command-manager.js +374 -0
  8. package/dist/commands/command-manager.js.map +1 -0
  9. package/dist/commands/index.d.ts +5 -0
  10. package/dist/commands/index.d.ts.map +1 -0
  11. package/dist/commands/index.js +9 -0
  12. package/dist/commands/index.js.map +1 -0
  13. package/dist/extension.d.ts +18 -0
  14. package/dist/extension.d.ts.map +1 -0
  15. package/dist/extension.js +75 -0
  16. package/dist/extension.js.map +1 -0
  17. package/dist/index.d.ts +13 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +33 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/katashiro-extension.d.ts +51 -0
  22. package/dist/katashiro-extension.d.ts.map +1 -0
  23. package/dist/katashiro-extension.js +123 -0
  24. package/dist/katashiro-extension.js.map +1 -0
  25. package/dist/ui/index.d.ts +6 -0
  26. package/dist/ui/index.d.ts.map +1 -0
  27. package/dist/ui/index.js +11 -0
  28. package/dist/ui/index.js.map +1 -0
  29. package/dist/ui/output-channel-manager.d.ts +57 -0
  30. package/dist/ui/output-channel-manager.d.ts.map +1 -0
  31. package/dist/ui/output-channel-manager.js +126 -0
  32. package/dist/ui/output-channel-manager.js.map +1 -0
  33. package/dist/ui/status-bar-manager.d.ts +68 -0
  34. package/dist/ui/status-bar-manager.d.ts.map +1 -0
  35. package/dist/ui/status-bar-manager.js +167 -0
  36. package/dist/ui/status-bar-manager.js.map +1 -0
  37. package/dist/views/history-view-provider.d.ts +77 -0
  38. package/dist/views/history-view-provider.d.ts.map +1 -0
  39. package/dist/views/history-view-provider.js +204 -0
  40. package/dist/views/history-view-provider.js.map +1 -0
  41. package/dist/views/index.d.ts +7 -0
  42. package/dist/views/index.d.ts.map +1 -0
  43. package/dist/views/index.js +16 -0
  44. package/dist/views/index.js.map +1 -0
  45. package/dist/views/knowledge-view-provider.d.ts +60 -0
  46. package/dist/views/knowledge-view-provider.d.ts.map +1 -0
  47. package/dist/views/knowledge-view-provider.js +169 -0
  48. package/dist/views/knowledge-view-provider.js.map +1 -0
  49. package/dist/views/research-view-provider.d.ts +48 -0
  50. package/dist/views/research-view-provider.d.ts.map +1 -0
  51. package/dist/views/research-view-provider.js +141 -0
  52. package/dist/views/research-view-provider.js.map +1 -0
  53. 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.1",
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": "workspace:*",
171
- "@nahisaho/katashiro-collector": "workspace:*",
172
- "@nahisaho/katashiro-analyzer": "workspace:*",
173
- "@nahisaho/katashiro-generator": "workspace:*",
174
- "@nahisaho/katashiro-knowledge": "workspace:*",
175
- "@nahisaho/katashiro-feedback": "workspace:*",
176
- "@nahisaho/katashiro-mcp-server": "workspace:*"
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
+ }