idea-manager 1.8.0 → 1.9.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/.next/build-manifest.json +2 -2
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/archive/route.js +12 -3
- package/.next/server/app/api/archive/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/filesystem/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/filesystem/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/global-memo/route.js +9 -0
- package/.next/server/app/api/global-memo/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/advisor/route.js +34 -0
- package/.next/server/app/api/projects/[id]/advisor/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/projects/[id]/apply-distribute/route.js +5 -5
- package/.next/server/app/api/projects/[id]/apply-distribute/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/auto-distribute/route.js +3 -3
- package/.next/server/app/api/projects/[id]/auto-distribute/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/brainstorm/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/git-sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route.js +12 -3
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.js +3 -3
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route.js +9 -0
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route.js +3 -3
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.js +12 -3
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route.js +12 -3
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/route.js +12 -3
- package/.next/server/app/api/projects/[id]/sub-projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/search/route.js +9 -0
- package/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sync/route.js +9 -0
- package/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js +6 -6
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +13 -12
- package/.next/server/chunks/117.js +9 -0
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +2 -2
- package/.next/static/chunks/374-769431701aab500f.js +1 -0
- package/.next/static/chunks/app/_global-error/page-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/archive/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/filesystem/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/filesystem/tree/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/global-memo/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/health/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/advisor/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/apply-distribute/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/auto-distribute/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/brainstorm/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/git-sync/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/projects/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/search/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/sync/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/update/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/api/version/route-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/app/{page-9a1dc101e82c397c.js → page-e935ee928da68ca2.js} +7 -7
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3ff8f59aaa75b8f8.js +1 -0
- package/.next/static/css/e4c7cd5a570312d9.css +3 -0
- package/README.ja.md +2 -0
- package/README.ko.md +3 -1
- package/README.md +3 -1
- package/README.zh.md +2 -0
- package/package.json +1 -1
- package/src/app/api/projects/[id]/advisor/route.ts +71 -0
- package/src/components/workspace/ProjectAdvisor.tsx +194 -0
- package/src/components/workspace/WorkspacePanel.tsx +23 -0
- package/src/lib/ai/project-context.ts +111 -0
- package/src/lib/db/queries/project-conversations.ts +29 -0
- package/src/lib/db/schema.ts +11 -0
- package/src/types/index.ts +8 -0
- package/.next/static/chunks/374-23189d7e246ad164.js +0 -1
- package/.next/static/chunks/app/_global-error/page-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/archive/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/filesystem/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/filesystem/tree/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/global-memo/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/health/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/apply-distribute/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/auto-distribute/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/brainstorm/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/git-sync/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/projects/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/search/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/sync/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/update/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/app/api/version/route-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e6a77f238d2cdbb9.js +0 -1
- package/.next/static/css/eab748b03f49c43a.css +0 -3
- /package/.next/static/{Fy-Z5gkec2a0fese1C5rW → pxqzEiwniZAUDOUTb5SnX}/_buildManifest.js +0 -0
- /package/.next/static/{Fy-Z5gkec2a0fese1C5rW → pxqzEiwniZAUDOUTb5SnX}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getDb } from '../index';
|
|
2
|
+
import { generateId } from '../../utils/id';
|
|
3
|
+
import type { IProjectConversation } from '../../../types';
|
|
4
|
+
|
|
5
|
+
export function getProjectConversations(projectId: string, limit = 50): IProjectConversation[] {
|
|
6
|
+
const db = getDb();
|
|
7
|
+
return db.prepare(
|
|
8
|
+
`SELECT * FROM project_conversations WHERE project_id = ? ORDER BY created_at DESC LIMIT ?`
|
|
9
|
+
).all(projectId, limit).reverse() as IProjectConversation[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function addProjectConversation(
|
|
13
|
+
projectId: string,
|
|
14
|
+
role: 'assistant' | 'user' | 'system',
|
|
15
|
+
content: string,
|
|
16
|
+
): IProjectConversation {
|
|
17
|
+
const db = getDb();
|
|
18
|
+
const id = generateId();
|
|
19
|
+
const now = new Date().toISOString();
|
|
20
|
+
db.prepare(
|
|
21
|
+
'INSERT INTO project_conversations (id, project_id, role, content, created_at) VALUES (?, ?, ?, ?, ?)'
|
|
22
|
+
).run(id, projectId, role, content, now);
|
|
23
|
+
return db.prepare('SELECT * FROM project_conversations WHERE id = ?').get(id) as IProjectConversation;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function clearProjectConversations(projectId: string): void {
|
|
27
|
+
const db = getDb();
|
|
28
|
+
db.prepare('DELETE FROM project_conversations WHERE project_id = ?').run(projectId);
|
|
29
|
+
}
|
package/src/lib/db/schema.ts
CHANGED
|
@@ -95,6 +95,17 @@ export function initSchema(db: any): void {
|
|
|
95
95
|
);
|
|
96
96
|
`);
|
|
97
97
|
|
|
98
|
+
db.exec(`
|
|
99
|
+
CREATE TABLE IF NOT EXISTS project_conversations (
|
|
100
|
+
id TEXT PRIMARY KEY,
|
|
101
|
+
project_id TEXT NOT NULL,
|
|
102
|
+
role TEXT NOT NULL CHECK(role IN ('assistant','user','system')),
|
|
103
|
+
content TEXT NOT NULL,
|
|
104
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
105
|
+
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
|
|
106
|
+
);
|
|
107
|
+
`);
|
|
108
|
+
|
|
98
109
|
// tasks archive migration
|
|
99
110
|
const taskCols = db.prepare("PRAGMA table_info(tasks)").all() as { name: string }[];
|
|
100
111
|
if (!taskCols.some(c => c.name === 'is_archived')) {
|
package/src/types/index.ts
CHANGED
|
@@ -70,6 +70,14 @@ export interface ITaskConversation {
|
|
|
70
70
|
created_at: string;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
export interface IProjectConversation {
|
|
74
|
+
id: string;
|
|
75
|
+
project_id: string;
|
|
76
|
+
role: 'assistant' | 'user' | 'system';
|
|
77
|
+
content: string;
|
|
78
|
+
created_at: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
73
81
|
export interface IGitSyncResult {
|
|
74
82
|
projectId: string;
|
|
75
83
|
projectName: string;
|