@geminilight/mindos 0.6.0 → 0.6.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/app/app/api/ask/route.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { readSettings } from '@/lib/settings';
|
|
|
24
24
|
import { MindOSError, apiError, ErrorCodes } from '@/lib/errors';
|
|
25
25
|
import { metrics } from '@/lib/metrics';
|
|
26
26
|
import { assertNotProtected } from '@/lib/core';
|
|
27
|
+
import { scanExtensionPaths } from '@/lib/pi-integration/extensions';
|
|
27
28
|
import type { Message as FrontendMessage } from '@/lib/types';
|
|
28
29
|
|
|
29
30
|
// ---------------------------------------------------------------------------
|
|
@@ -417,6 +418,7 @@ export async function POST(req: NextRequest) {
|
|
|
417
418
|
path.join(projectRoot, 'skills'),
|
|
418
419
|
path.join(getMindRoot(), '.skills'),
|
|
419
420
|
],
|
|
421
|
+
additionalExtensionPaths: scanExtensionPaths(),
|
|
420
422
|
});
|
|
421
423
|
await resourceLoader.reload();
|
|
422
424
|
|
|
@@ -111,7 +111,7 @@ export default function ActivityBar({
|
|
|
111
111
|
// Browser/CLI: check npm registry
|
|
112
112
|
const dismissed = localStorage.getItem('mindos_update_dismissed');
|
|
113
113
|
const latest = localStorage.getItem('mindos_update_latest');
|
|
114
|
-
if (latest && latest !== dismissed) { setHasUpdate(true);
|
|
114
|
+
if (latest && latest !== dismissed) { setHasUpdate(true); }
|
|
115
115
|
const timer = setTimeout(async () => {
|
|
116
116
|
try {
|
|
117
117
|
const res = await fetch('/api/update-check');
|
|
@@ -120,6 +120,7 @@ export default function ActivityBar({
|
|
|
120
120
|
if (!data.hasUpdate) {
|
|
121
121
|
localStorage.removeItem('mindos_update_latest');
|
|
122
122
|
localStorage.removeItem('mindos_update_dismissed');
|
|
123
|
+
setHasUpdate(false);
|
|
123
124
|
return;
|
|
124
125
|
}
|
|
125
126
|
const d = localStorage.getItem('mindos_update_dismissed');
|
|
@@ -258,6 +258,11 @@ function BrowserUpdateTab() {
|
|
|
258
258
|
const data = await apiFetch<UpdateInfo>('/api/update-check');
|
|
259
259
|
setInfo(data);
|
|
260
260
|
if (!originalVersion.current) originalVersion.current = data.current;
|
|
261
|
+
if (!data.hasUpdate) {
|
|
262
|
+
localStorage.removeItem('mindos_update_latest');
|
|
263
|
+
localStorage.removeItem('mindos_update_dismissed');
|
|
264
|
+
window.dispatchEvent(new Event('mindos:update-dismissed'));
|
|
265
|
+
}
|
|
261
266
|
setState('idle');
|
|
262
267
|
} catch {
|
|
263
268
|
setState('error');
|
|
@@ -1,6 +1,28 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import os from 'os';
|
|
1
3
|
import path from 'path';
|
|
2
4
|
import { DefaultResourceLoader, SettingsManager } from '@mariozechner/pi-coding-agent';
|
|
3
5
|
|
|
6
|
+
export function getMindosExtensionsDir(): string {
|
|
7
|
+
return path.join(os.homedir(), '.mindos', 'extensions');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** Scan ~/.mindos/extensions/ for .ts files and index.ts in subdirs */
|
|
11
|
+
export function scanExtensionPaths(): string[] {
|
|
12
|
+
const dir = getMindosExtensionsDir();
|
|
13
|
+
if (!fs.existsSync(dir)) return [];
|
|
14
|
+
const paths: string[] = [];
|
|
15
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
16
|
+
if (entry.isFile() && entry.name.endsWith('.ts')) {
|
|
17
|
+
paths.push(path.join(dir, entry.name));
|
|
18
|
+
} else if (entry.isDirectory()) {
|
|
19
|
+
const indexPath = path.join(dir, entry.name, 'index.ts');
|
|
20
|
+
if (fs.existsSync(indexPath)) paths.push(indexPath);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return paths;
|
|
24
|
+
}
|
|
25
|
+
|
|
4
26
|
export interface ExtensionSummary {
|
|
5
27
|
name: string;
|
|
6
28
|
path: string;
|
|
@@ -22,6 +44,7 @@ export async function getExtensionsList(
|
|
|
22
44
|
systemPromptOverride: () => '',
|
|
23
45
|
appendSystemPromptOverride: () => [],
|
|
24
46
|
additionalSkillPaths: [],
|
|
47
|
+
additionalExtensionPaths: scanExtensionPaths(),
|
|
25
48
|
});
|
|
26
49
|
|
|
27
50
|
try {
|
package/package.json
CHANGED