@troykelly/openclaw-projects 0.0.37 → 0.0.38
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/api-client.js +1 -1
- package/dist/api-client.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/gateway/oauth-rpc-methods.js +11 -11
- package/dist/gateway/oauth-rpc-methods.js.map +1 -1
- package/dist/gateway/rpc-methods.js +1 -1
- package/dist/gateway/rpc-methods.js.map +1 -1
- package/dist/hooks.js +5 -5
- package/dist/hooks.js.map +1 -1
- package/dist/register-openclaw.d.ts.map +1 -1
- package/dist/register-openclaw.js +85 -50
- package/dist/register-openclaw.js.map +1 -1
- package/dist/services/api-source-service.js +9 -9
- package/dist/services/api-source-service.js.map +1 -1
- package/dist/services/notification-service.js +1 -1
- package/dist/services/notification-service.js.map +1 -1
- package/dist/tool-guidance/catalog.d.ts.map +1 -1
- package/dist/tool-guidance/catalog.js +15 -3
- package/dist/tool-guidance/catalog.js.map +1 -1
- package/dist/tools/contacts.js +3 -3
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/context-search.d.ts +4 -4
- package/dist/tools/context-search.d.ts.map +1 -1
- package/dist/tools/context-search.js +38 -8
- package/dist/tools/context-search.js.map +1 -1
- package/dist/tools/dev-prompts.d.ts +214 -0
- package/dist/tools/dev-prompts.d.ts.map +1 -0
- package/dist/tools/dev-prompts.js +415 -0
- package/dist/tools/dev-prompts.js.map +1 -0
- package/dist/tools/dev-session-search.d.ts +76 -0
- package/dist/tools/dev-session-search.d.ts.map +1 -0
- package/dist/tools/dev-session-search.js +118 -0
- package/dist/tools/dev-session-search.js.map +1 -0
- package/dist/tools/dev-sessions.d.ts +24 -4
- package/dist/tools/dev-sessions.d.ts.map +1 -1
- package/dist/tools/dev-sessions.js +68 -11
- package/dist/tools/dev-sessions.js.map +1 -1
- package/dist/tools/email-send.js +1 -1
- package/dist/tools/email-send.js.map +1 -1
- package/dist/tools/entity-links.js +8 -8
- package/dist/tools/entity-links.js.map +1 -1
- package/dist/tools/file-share.js +1 -1
- package/dist/tools/file-share.js.map +1 -1
- package/dist/tools/index.d.ts +3 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory-forget.js +3 -3
- package/dist/tools/memory-forget.js.map +1 -1
- package/dist/tools/memory-recall.js +1 -1
- package/dist/tools/memory-recall.js.map +1 -1
- package/dist/tools/memory-store.js +1 -1
- package/dist/tools/memory-store.js.map +1 -1
- package/dist/tools/message-search.js +1 -1
- package/dist/tools/message-search.js.map +1 -1
- package/dist/tools/notebooks.js +3 -3
- package/dist/tools/notebooks.js.map +1 -1
- package/dist/tools/notes.js +5 -5
- package/dist/tools/notes.js.map +1 -1
- package/dist/tools/project-search.js +1 -1
- package/dist/tools/project-search.js.map +1 -1
- package/dist/tools/projects.js +3 -3
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/relationships.js +2 -2
- package/dist/tools/relationships.js.map +1 -1
- package/dist/tools/skill-store.js +11 -11
- package/dist/tools/skill-store.js.map +1 -1
- package/dist/tools/sms-send.js +1 -1
- package/dist/tools/sms-send.js.map +1 -1
- package/dist/tools/terminal-connections.js +8 -8
- package/dist/tools/terminal-connections.js.map +1 -1
- package/dist/tools/terminal-search.js +2 -2
- package/dist/tools/terminal-search.js.map +1 -1
- package/dist/tools/terminal-sessions.js +7 -7
- package/dist/tools/terminal-sessions.js.map +1 -1
- package/dist/tools/terminal-tunnels.js +3 -3
- package/dist/tools/terminal-tunnels.js.map +1 -1
- package/dist/tools/threads.js +2 -2
- package/dist/tools/threads.js.map +1 -1
- package/dist/tools/todo-search.js +1 -1
- package/dist/tools/todo-search.js.map +1 -1
- package/dist/tools/todos.js +3 -3
- package/dist/tools/todos.js.map +1 -1
- package/dist/utils/auto-linker.js +5 -5
- package/dist/utils/auto-linker.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-prompts.js","sourceRoot":"","sources":["../../src/tools/dev-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev session search tool.
|
|
3
|
+
* Issue #1987 — Provides semantic search across dev sessions.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import type { ApiClient } from '../api-client.js';
|
|
7
|
+
import type { Logger } from '../logger.js';
|
|
8
|
+
import type { PluginConfig } from '../config.js';
|
|
9
|
+
/** Tool configuration */
|
|
10
|
+
export interface DevSessionSearchToolOptions {
|
|
11
|
+
client: ApiClient;
|
|
12
|
+
logger: Logger;
|
|
13
|
+
config: PluginConfig;
|
|
14
|
+
user_id: string;
|
|
15
|
+
}
|
|
16
|
+
/** Dev session search result from API */
|
|
17
|
+
export interface DevSessionSearchItem {
|
|
18
|
+
id: string;
|
|
19
|
+
session_name: string;
|
|
20
|
+
status: string;
|
|
21
|
+
node: string;
|
|
22
|
+
task_summary?: string | null;
|
|
23
|
+
task_prompt?: string | null;
|
|
24
|
+
completion_summary?: string | null;
|
|
25
|
+
branch?: string | null;
|
|
26
|
+
repo_org?: string | null;
|
|
27
|
+
repo_name?: string | null;
|
|
28
|
+
similarity?: number;
|
|
29
|
+
match_source?: string;
|
|
30
|
+
created_at?: string;
|
|
31
|
+
completed_at?: string | null;
|
|
32
|
+
}
|
|
33
|
+
/** Failure result */
|
|
34
|
+
export interface DevSessionSearchFailure {
|
|
35
|
+
success: false;
|
|
36
|
+
error: string;
|
|
37
|
+
}
|
|
38
|
+
/** Parameters for dev_session_search */
|
|
39
|
+
export declare const DevSessionSearchParamsSchema: z.ZodObject<{
|
|
40
|
+
query: z.ZodString;
|
|
41
|
+
status: z.ZodOptional<z.ZodString>;
|
|
42
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
query: string;
|
|
45
|
+
status?: string | undefined;
|
|
46
|
+
limit?: number | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
query: string;
|
|
49
|
+
status?: string | undefined;
|
|
50
|
+
limit?: number | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
export type DevSessionSearchParams = z.infer<typeof DevSessionSearchParamsSchema>;
|
|
53
|
+
/** Successful search result */
|
|
54
|
+
export interface DevSessionSearchSuccess {
|
|
55
|
+
success: true;
|
|
56
|
+
data: {
|
|
57
|
+
content: string;
|
|
58
|
+
details: {
|
|
59
|
+
sessions: DevSessionSearchItem[];
|
|
60
|
+
total: number;
|
|
61
|
+
user_id: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export type DevSessionSearchResult = DevSessionSearchSuccess | DevSessionSearchFailure;
|
|
66
|
+
export interface DevSessionSearchTool {
|
|
67
|
+
name: string;
|
|
68
|
+
description: string;
|
|
69
|
+
parameters: typeof DevSessionSearchParamsSchema;
|
|
70
|
+
execute: (params: DevSessionSearchParams) => Promise<DevSessionSearchResult>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates the dev_session_search tool.
|
|
74
|
+
*/
|
|
75
|
+
export declare function createDevSessionSearchTool(options: DevSessionSearchToolOptions): DevSessionSearchTool;
|
|
76
|
+
//# sourceMappingURL=dev-session-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-session-search.d.ts","sourceRoot":"","sources":["../../src/tools/dev-session-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAsBjD,yBAAyB;AACzB,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,qBAAqB;AACrB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAID,wCAAwC;AACxC,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,+BAA+B;AAC/B,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,QAAQ,EAAE,oBAAoB,EAAE,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,uBAAuB,CAAC;AAEvF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,4BAA4B,CAAC;IAChD,OAAO,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CA8FrG"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev session search tool.
|
|
3
|
+
* Issue #1987 — Provides semantic search across dev sessions.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { sanitizeErrorMessage } from '../utils/sanitize.js';
|
|
7
|
+
/** UUID validation regex */
|
|
8
|
+
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
9
|
+
/**
|
|
10
|
+
* Validate UUID format.
|
|
11
|
+
*/
|
|
12
|
+
function isValidUuid(id) {
|
|
13
|
+
return UUID_REGEX.test(id);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Sanitize query input.
|
|
17
|
+
*/
|
|
18
|
+
function sanitizeQuery(query) {
|
|
19
|
+
return query.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '').trim();
|
|
20
|
+
}
|
|
21
|
+
// ==================== dev_session_search ====================
|
|
22
|
+
/** Parameters for dev_session_search */
|
|
23
|
+
export const DevSessionSearchParamsSchema = z.object({
|
|
24
|
+
query: z.string().min(1, 'Search query is required').max(500, 'Query must be 500 characters or less'),
|
|
25
|
+
status: z.string().max(50).optional(),
|
|
26
|
+
limit: z.number().int().min(1).max(50).optional(),
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Creates the dev_session_search tool.
|
|
30
|
+
*/
|
|
31
|
+
export function createDevSessionSearchTool(options) {
|
|
32
|
+
const { client, logger, user_id } = options;
|
|
33
|
+
return {
|
|
34
|
+
name: 'dev_session_search',
|
|
35
|
+
description: 'Searches dev sessions semantically by task summary, prompt, and completion notes. Use to find past coding sessions by topic or context. For cross-entity search, prefer context_search. Read-only.',
|
|
36
|
+
parameters: DevSessionSearchParamsSchema,
|
|
37
|
+
async execute(params) {
|
|
38
|
+
const parseResult = DevSessionSearchParamsSchema.safeParse(params);
|
|
39
|
+
if (!parseResult.success) {
|
|
40
|
+
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
41
|
+
return { success: false, error: errorMessage };
|
|
42
|
+
}
|
|
43
|
+
const { query, status, limit = 10 } = parseResult.data;
|
|
44
|
+
const sanitizedQuery = sanitizeQuery(query);
|
|
45
|
+
if (sanitizedQuery.length === 0) {
|
|
46
|
+
return { success: false, error: 'Search query cannot be empty' };
|
|
47
|
+
}
|
|
48
|
+
logger.info('dev_session_search invoked', {
|
|
49
|
+
user_id,
|
|
50
|
+
queryLength: sanitizedQuery.length,
|
|
51
|
+
status,
|
|
52
|
+
limit,
|
|
53
|
+
});
|
|
54
|
+
try {
|
|
55
|
+
const queryParams = new URLSearchParams({
|
|
56
|
+
q: sanitizedQuery,
|
|
57
|
+
limit: String(limit),
|
|
58
|
+
});
|
|
59
|
+
if (status)
|
|
60
|
+
queryParams.set('status', status);
|
|
61
|
+
const response = await client.get(`/dev-sessions/search?${queryParams.toString()}`, { user_id, user_email: user_id });
|
|
62
|
+
if (!response.success) {
|
|
63
|
+
logger.error('dev_session_search API error', {
|
|
64
|
+
user_id,
|
|
65
|
+
status: response.error.status,
|
|
66
|
+
code: response.error.code,
|
|
67
|
+
});
|
|
68
|
+
return { success: false, error: response.error.message || 'Failed to search dev sessions' };
|
|
69
|
+
}
|
|
70
|
+
const sessions = response.data.items ?? [];
|
|
71
|
+
const total = response.data.total ?? sessions.length;
|
|
72
|
+
if (sessions.length === 0) {
|
|
73
|
+
return {
|
|
74
|
+
success: true,
|
|
75
|
+
data: {
|
|
76
|
+
content: 'No matching dev sessions found.',
|
|
77
|
+
details: { sessions: [], total: 0, user_id },
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const content = sessions
|
|
82
|
+
.map((s) => {
|
|
83
|
+
const parts = [`**${s.session_name}** [${s.status}]`];
|
|
84
|
+
if (s.node)
|
|
85
|
+
parts.push(`on ${s.node}`);
|
|
86
|
+
if (s.branch)
|
|
87
|
+
parts.push(`branch: ${s.branch}`);
|
|
88
|
+
if (s.repo_org && s.repo_name)
|
|
89
|
+
parts.push(`repo: ${s.repo_org}/${s.repo_name}`);
|
|
90
|
+
if (s.similarity !== undefined)
|
|
91
|
+
parts.push(`(${(Number(s.similarity) * 100).toFixed(0)}% match)`);
|
|
92
|
+
if (s.task_summary)
|
|
93
|
+
parts.push(`\n Task: ${s.task_summary.substring(0, 200)}${s.task_summary.length > 200 ? '...' : ''}`);
|
|
94
|
+
if (s.completion_summary)
|
|
95
|
+
parts.push(`\n Completed: ${s.completion_summary.substring(0, 200)}${s.completion_summary.length > 200 ? '...' : ''}`);
|
|
96
|
+
return `- ${parts.join(' ')} (ID: ${s.id})`;
|
|
97
|
+
})
|
|
98
|
+
.join('\n\n');
|
|
99
|
+
logger.debug('dev_session_search completed', { user_id, count: sessions.length });
|
|
100
|
+
return {
|
|
101
|
+
success: true,
|
|
102
|
+
data: {
|
|
103
|
+
content,
|
|
104
|
+
details: { sessions, total, user_id },
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
logger.error('dev_session_search failed', {
|
|
110
|
+
user_id,
|
|
111
|
+
error: error instanceof Error ? error.message : String(error),
|
|
112
|
+
});
|
|
113
|
+
return { success: false, error: sanitizeErrorMessage(error) };
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=dev-session-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-session-search.js","sourceRoot":"","sources":["../../src/tools/dev-session-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,16 @@ export interface DevSessionToolOptions {
|
|
|
14
14
|
config: PluginConfig;
|
|
15
15
|
user_id: string;
|
|
16
16
|
}
|
|
17
|
+
/** Linked terminal session info (Issue #1988) */
|
|
18
|
+
export interface LinkedTerminal {
|
|
19
|
+
terminal_session_id: string;
|
|
20
|
+
linked_at: string;
|
|
21
|
+
tmux_session_name?: string;
|
|
22
|
+
status?: string;
|
|
23
|
+
connection_id?: string;
|
|
24
|
+
started_at?: string | null;
|
|
25
|
+
terminated_at?: string | null;
|
|
26
|
+
}
|
|
17
27
|
/** Dev session from API */
|
|
18
28
|
export interface DevSession {
|
|
19
29
|
id: string;
|
|
@@ -39,6 +49,7 @@ export interface DevSession {
|
|
|
39
49
|
completed_at?: string | null;
|
|
40
50
|
created_at?: string;
|
|
41
51
|
updated_at?: string;
|
|
52
|
+
terminals?: LinkedTerminal[];
|
|
42
53
|
}
|
|
43
54
|
/** Failure result */
|
|
44
55
|
export interface DevSessionFailure {
|
|
@@ -59,15 +70,17 @@ export declare const DevSessionCreateParamsSchema: z.ZodObject<{
|
|
|
59
70
|
task_prompt: z.ZodOptional<z.ZodString>;
|
|
60
71
|
linked_issues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
61
72
|
linked_prs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
73
|
+
connection_id: z.ZodOptional<z.ZodString>;
|
|
62
74
|
}, "strip", z.ZodTypeAny, {
|
|
63
75
|
session_name: string;
|
|
64
76
|
node: string;
|
|
77
|
+
connection_id?: string | undefined;
|
|
65
78
|
project_id?: string | undefined;
|
|
79
|
+
branch?: string | undefined;
|
|
66
80
|
container?: string | undefined;
|
|
67
81
|
container_user?: string | undefined;
|
|
68
82
|
repo_org?: string | undefined;
|
|
69
83
|
repo_name?: string | undefined;
|
|
70
|
-
branch?: string | undefined;
|
|
71
84
|
task_summary?: string | undefined;
|
|
72
85
|
task_prompt?: string | undefined;
|
|
73
86
|
linked_issues?: string[] | undefined;
|
|
@@ -75,12 +88,13 @@ export declare const DevSessionCreateParamsSchema: z.ZodObject<{
|
|
|
75
88
|
}, {
|
|
76
89
|
session_name: string;
|
|
77
90
|
node: string;
|
|
91
|
+
connection_id?: string | undefined;
|
|
78
92
|
project_id?: string | undefined;
|
|
93
|
+
branch?: string | undefined;
|
|
79
94
|
container?: string | undefined;
|
|
80
95
|
container_user?: string | undefined;
|
|
81
96
|
repo_org?: string | undefined;
|
|
82
97
|
repo_name?: string | undefined;
|
|
83
|
-
branch?: string | undefined;
|
|
84
98
|
task_summary?: string | undefined;
|
|
85
99
|
task_prompt?: string | undefined;
|
|
86
100
|
linked_issues?: string[] | undefined;
|
|
@@ -204,14 +218,15 @@ export declare const DevSessionUpdateParamsSchema: z.ZodObject<{
|
|
|
204
218
|
linked_issues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
205
219
|
linked_prs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
206
220
|
webhook_id: z.ZodOptional<z.ZodString>;
|
|
221
|
+
terminal_session_id: z.ZodOptional<z.ZodString>;
|
|
207
222
|
}, "strip", z.ZodTypeAny, {
|
|
208
223
|
session_id: string;
|
|
209
224
|
status?: string | undefined;
|
|
225
|
+
branch?: string | undefined;
|
|
210
226
|
container?: string | undefined;
|
|
211
227
|
container_user?: string | undefined;
|
|
212
228
|
repo_org?: string | undefined;
|
|
213
229
|
repo_name?: string | undefined;
|
|
214
|
-
branch?: string | undefined;
|
|
215
230
|
task_summary?: string | undefined;
|
|
216
231
|
task_prompt?: string | undefined;
|
|
217
232
|
linked_issues?: string[] | undefined;
|
|
@@ -221,14 +236,15 @@ export declare const DevSessionUpdateParamsSchema: z.ZodObject<{
|
|
|
221
236
|
last_capture_at?: string | undefined;
|
|
222
237
|
completion_summary?: string | undefined;
|
|
223
238
|
webhook_id?: string | undefined;
|
|
239
|
+
terminal_session_id?: string | undefined;
|
|
224
240
|
}, {
|
|
225
241
|
session_id: string;
|
|
226
242
|
status?: string | undefined;
|
|
243
|
+
branch?: string | undefined;
|
|
227
244
|
container?: string | undefined;
|
|
228
245
|
container_user?: string | undefined;
|
|
229
246
|
repo_org?: string | undefined;
|
|
230
247
|
repo_name?: string | undefined;
|
|
231
|
-
branch?: string | undefined;
|
|
232
248
|
task_summary?: string | undefined;
|
|
233
249
|
task_prompt?: string | undefined;
|
|
234
250
|
linked_issues?: string[] | undefined;
|
|
@@ -238,6 +254,7 @@ export declare const DevSessionUpdateParamsSchema: z.ZodObject<{
|
|
|
238
254
|
last_capture_at?: string | undefined;
|
|
239
255
|
completion_summary?: string | undefined;
|
|
240
256
|
webhook_id?: string | undefined;
|
|
257
|
+
terminal_session_id?: string | undefined;
|
|
241
258
|
}>;
|
|
242
259
|
export type DevSessionUpdateParams = z.infer<typeof DevSessionUpdateParamsSchema>;
|
|
243
260
|
/** Successful update result */
|
|
@@ -266,12 +283,15 @@ export declare function createDevSessionUpdateTool(options: DevSessionToolOption
|
|
|
266
283
|
export declare const DevSessionCompleteParamsSchema: z.ZodObject<{
|
|
267
284
|
session_id: z.ZodString;
|
|
268
285
|
completion_summary: z.ZodOptional<z.ZodString>;
|
|
286
|
+
terminate_terminals: z.ZodOptional<z.ZodBoolean>;
|
|
269
287
|
}, "strip", z.ZodTypeAny, {
|
|
270
288
|
session_id: string;
|
|
271
289
|
completion_summary?: string | undefined;
|
|
290
|
+
terminate_terminals?: boolean | undefined;
|
|
272
291
|
}, {
|
|
273
292
|
session_id: string;
|
|
274
293
|
completion_summary?: string | undefined;
|
|
294
|
+
terminate_terminals?: boolean | undefined;
|
|
275
295
|
}>;
|
|
276
296
|
export type DevSessionCompleteParams = z.infer<typeof DevSessionCompleteParamsSchema>;
|
|
277
297
|
/** Successful complete result */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-sessions.d.ts","sourceRoot":"","sources":["../../src/tools/dev-sessions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA0BjD,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-sessions.d.ts","sourceRoot":"","sources":["../../src/tools/dev-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ export const DevSessionCreateParamsSchema = z.object({
|
|
|
38
38
|
task_prompt: z.string().max(10000).optional(),
|
|
39
39
|
linked_issues: z.array(z.string()).optional(),
|
|
40
40
|
linked_prs: z.array(z.string()).optional(),
|
|
41
|
+
connection_id: z.string().optional().describe('Terminal connection UUID. If provided, auto-creates and links a terminal session.'),
|
|
41
42
|
});
|
|
42
43
|
/**
|
|
43
44
|
* Creates the dev_session_create tool.
|
|
@@ -54,14 +55,18 @@ export function createDevSessionCreateTool(options) {
|
|
|
54
55
|
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
55
56
|
return { success: false, error: errorMessage };
|
|
56
57
|
}
|
|
57
|
-
const { session_name, node, project_id, container, container_user, repo_org, repo_name, branch, task_summary, task_prompt, linked_issues, linked_prs } = parseResult.data;
|
|
58
|
+
const { session_name, node, project_id, container, container_user, repo_org, repo_name, branch, task_summary, task_prompt, linked_issues, linked_prs, connection_id } = parseResult.data;
|
|
58
59
|
if (project_id && !isValidUuid(project_id)) {
|
|
59
60
|
return { success: false, error: 'Invalid project_id format. Expected UUID.' };
|
|
60
61
|
}
|
|
62
|
+
if (connection_id && !isValidUuid(connection_id)) {
|
|
63
|
+
return { success: false, error: 'Invalid connection_id format. Expected UUID.' };
|
|
64
|
+
}
|
|
61
65
|
logger.info('dev_session_create invoked', {
|
|
62
66
|
user_id,
|
|
63
67
|
sessionName: session_name,
|
|
64
68
|
node,
|
|
69
|
+
hasConnectionId: !!connection_id,
|
|
65
70
|
});
|
|
66
71
|
try {
|
|
67
72
|
const body = {
|
|
@@ -89,7 +94,7 @@ export function createDevSessionCreateTool(options) {
|
|
|
89
94
|
body.linked_issues = linked_issues;
|
|
90
95
|
if (linked_prs)
|
|
91
96
|
body.linked_prs = linked_prs;
|
|
92
|
-
const response = await client.post('/
|
|
97
|
+
const response = await client.post('/dev-sessions', body, { user_id });
|
|
93
98
|
if (!response.success) {
|
|
94
99
|
logger.error('dev_session_create API error', {
|
|
95
100
|
user_id,
|
|
@@ -100,15 +105,50 @@ export function createDevSessionCreateTool(options) {
|
|
|
100
105
|
return { success: false, error: response.error.message || 'Failed to create dev session' };
|
|
101
106
|
}
|
|
102
107
|
const session = response.data;
|
|
108
|
+
// Issue #1988: auto-create and link terminal session if connection_id provided
|
|
109
|
+
let linkedTerminalId;
|
|
110
|
+
if (connection_id) {
|
|
111
|
+
try {
|
|
112
|
+
const termResponse = await client.post('/terminal/sessions', { connection_id, tmux_session_name: `dev-${session.id.slice(0, 8)}` }, { user_id });
|
|
113
|
+
if (termResponse.success) {
|
|
114
|
+
linkedTerminalId = termResponse.data.id;
|
|
115
|
+
// Link terminal session to dev session
|
|
116
|
+
await client.post(`/dev-sessions/${session.id}/terminals`, { terminal_session_id: linkedTerminalId }, { user_id });
|
|
117
|
+
logger.debug('dev_session_create linked terminal', {
|
|
118
|
+
sessionId: session.id,
|
|
119
|
+
terminalSessionId: linkedTerminalId,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
logger.warn('dev_session_create terminal creation failed', {
|
|
124
|
+
sessionId: session.id,
|
|
125
|
+
connectionId: connection_id,
|
|
126
|
+
error: termResponse.error.message,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch (termErr) {
|
|
131
|
+
logger.warn('dev_session_create terminal auto-link failed', {
|
|
132
|
+
sessionId: session.id,
|
|
133
|
+
connectionId: connection_id,
|
|
134
|
+
error: termErr instanceof Error ? termErr.message : String(termErr),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
103
138
|
logger.debug('dev_session_create completed', {
|
|
104
139
|
user_id,
|
|
105
140
|
sessionId: session.id,
|
|
106
141
|
sessionName: session.session_name,
|
|
142
|
+
linkedTerminalId,
|
|
107
143
|
});
|
|
144
|
+
const contentParts = [`Created dev session "${session.session_name}" on ${node} (ID: ${session.id}) — status: ${session.status}`];
|
|
145
|
+
if (linkedTerminalId) {
|
|
146
|
+
contentParts.push(`Linked terminal session: ${linkedTerminalId}`);
|
|
147
|
+
}
|
|
108
148
|
return {
|
|
109
149
|
success: true,
|
|
110
150
|
data: {
|
|
111
|
-
content:
|
|
151
|
+
content: contentParts.join('\n'),
|
|
112
152
|
details: {
|
|
113
153
|
session_id: session.id,
|
|
114
154
|
session_name: session.session_name,
|
|
@@ -169,7 +209,7 @@ export function createDevSessionListTool(options) {
|
|
|
169
209
|
queryParams.set('node', node);
|
|
170
210
|
if (project_id)
|
|
171
211
|
queryParams.set('project_id', project_id);
|
|
172
|
-
const response = await client.get(`/
|
|
212
|
+
const response = await client.get(`/dev-sessions?${queryParams.toString()}`, { user_id, user_email: user_id });
|
|
173
213
|
if (!response.success) {
|
|
174
214
|
logger.error('dev_session_list API error', {
|
|
175
215
|
user_id,
|
|
@@ -228,7 +268,7 @@ export function createDevSessionGetTool(options) {
|
|
|
228
268
|
const { client, logger, user_id } = options;
|
|
229
269
|
return {
|
|
230
270
|
name: 'dev_session_get',
|
|
231
|
-
description: 'Gets detailed information about a specific dev session including task summary, branch, context percentage,
|
|
271
|
+
description: 'Gets detailed information about a specific dev session including task summary, branch, context percentage, linked issues/PRs, and linked terminal sessions. Use to resume or review a session. Read-only.',
|
|
232
272
|
parameters: DevSessionGetParamsSchema,
|
|
233
273
|
async execute(params) {
|
|
234
274
|
const parseResult = DevSessionGetParamsSchema.safeParse(params);
|
|
@@ -242,7 +282,7 @@ export function createDevSessionGetTool(options) {
|
|
|
242
282
|
}
|
|
243
283
|
logger.info('dev_session_get invoked', { user_id, sessionId: session_id });
|
|
244
284
|
try {
|
|
245
|
-
const response = await client.get(`/
|
|
285
|
+
const response = await client.get(`/dev-sessions/${session_id}`, { user_id, user_email: user_id });
|
|
246
286
|
if (!response.success) {
|
|
247
287
|
if (response.error.code === 'NOT_FOUND') {
|
|
248
288
|
return { success: false, error: 'Dev session not found.' };
|
|
@@ -274,6 +314,13 @@ export function createDevSessionGetTool(options) {
|
|
|
274
314
|
lines.push(`Created: ${session.created_at}`);
|
|
275
315
|
if (session.completed_at)
|
|
276
316
|
lines.push(`Completed: ${session.completed_at}`);
|
|
317
|
+
// Issue #1988: include linked terminal sessions
|
|
318
|
+
if (session.terminals && session.terminals.length > 0) {
|
|
319
|
+
lines.push(`Terminals (${session.terminals.length}):`);
|
|
320
|
+
for (const t of session.terminals) {
|
|
321
|
+
lines.push(` - ${t.tmux_session_name ?? t.terminal_session_id} [${t.status ?? 'unknown'}]`);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
277
324
|
logger.debug('dev_session_get completed', { user_id, sessionId: session_id });
|
|
278
325
|
return {
|
|
279
326
|
success: true,
|
|
@@ -313,6 +360,7 @@ export const DevSessionUpdateParamsSchema = z.object({
|
|
|
313
360
|
linked_issues: z.array(z.string()).optional(),
|
|
314
361
|
linked_prs: z.array(z.string()).optional(),
|
|
315
362
|
webhook_id: z.string().max(200).optional(),
|
|
363
|
+
terminal_session_id: z.string().optional().describe('Terminal session UUID to link to this dev session.'),
|
|
316
364
|
});
|
|
317
365
|
/**
|
|
318
366
|
* Creates the dev_session_update tool.
|
|
@@ -321,7 +369,7 @@ export function createDevSessionUpdateTool(options) {
|
|
|
321
369
|
const { client, logger, user_id } = options;
|
|
322
370
|
return {
|
|
323
371
|
name: 'dev_session_update',
|
|
324
|
-
description: 'Updates a dev session with new status, task summary, context percentage, or capture data. Only provided fields are modified. Use to track progress during ongoing work. Does not complete the session (use dev_session_complete).',
|
|
372
|
+
description: 'Updates a dev session with new status, task summary, context percentage, or capture data. Only provided fields are modified. Optionally links a terminal session. Use to track progress during ongoing work. Does not complete the session (use dev_session_complete).',
|
|
325
373
|
parameters: DevSessionUpdateParamsSchema,
|
|
326
374
|
async execute(params) {
|
|
327
375
|
const parseResult = DevSessionUpdateParamsSchema.safeParse(params);
|
|
@@ -333,6 +381,9 @@ export function createDevSessionUpdateTool(options) {
|
|
|
333
381
|
if (!isValidUuid(session_id)) {
|
|
334
382
|
return { success: false, error: 'Invalid session ID format. Expected UUID.' };
|
|
335
383
|
}
|
|
384
|
+
if (updates.terminal_session_id && !isValidUuid(updates.terminal_session_id)) {
|
|
385
|
+
return { success: false, error: 'Invalid terminal_session_id format. Expected UUID.' };
|
|
386
|
+
}
|
|
336
387
|
logger.info('dev_session_update invoked', {
|
|
337
388
|
user_id,
|
|
338
389
|
sessionId: session_id,
|
|
@@ -370,7 +421,9 @@ export function createDevSessionUpdateTool(options) {
|
|
|
370
421
|
body.linked_prs = updates.linked_prs;
|
|
371
422
|
if (updates.webhook_id)
|
|
372
423
|
body.webhook_id = updates.webhook_id;
|
|
373
|
-
|
|
424
|
+
if (updates.terminal_session_id)
|
|
425
|
+
body.terminal_session_id = updates.terminal_session_id;
|
|
426
|
+
const response = await client.patch(`/dev-sessions/${session_id}`, body, { user_id });
|
|
374
427
|
if (!response.success) {
|
|
375
428
|
if (response.error.code === 'NOT_FOUND') {
|
|
376
429
|
return { success: false, error: 'Dev session not found.' };
|
|
@@ -412,6 +465,7 @@ export function createDevSessionUpdateTool(options) {
|
|
|
412
465
|
export const DevSessionCompleteParamsSchema = z.object({
|
|
413
466
|
session_id: z.string().min(1, 'Session ID is required'),
|
|
414
467
|
completion_summary: z.string().max(5000).optional(),
|
|
468
|
+
terminate_terminals: z.boolean().optional().describe('If true, terminates all linked terminal sessions when completing.'),
|
|
415
469
|
});
|
|
416
470
|
/**
|
|
417
471
|
* Creates the dev_session_complete tool.
|
|
@@ -420,7 +474,7 @@ export function createDevSessionCompleteTool(options) {
|
|
|
420
474
|
const { client, logger, user_id } = options;
|
|
421
475
|
return {
|
|
422
476
|
name: 'dev_session_complete',
|
|
423
|
-
description: 'Marks a dev session as completed and records the completion timestamp. Optionally include a summary
|
|
477
|
+
description: 'Marks a dev session as completed and records the completion timestamp. Optionally include a summary and terminate linked terminal sessions. Use dev_session_update for incremental progress updates instead.',
|
|
424
478
|
parameters: DevSessionCompleteParamsSchema,
|
|
425
479
|
async execute(params) {
|
|
426
480
|
const parseResult = DevSessionCompleteParamsSchema.safeParse(params);
|
|
@@ -428,7 +482,7 @@ export function createDevSessionCompleteTool(options) {
|
|
|
428
482
|
const errorMessage = parseResult.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
429
483
|
return { success: false, error: errorMessage };
|
|
430
484
|
}
|
|
431
|
-
const { session_id, completion_summary } = parseResult.data;
|
|
485
|
+
const { session_id, completion_summary, terminate_terminals } = parseResult.data;
|
|
432
486
|
if (!isValidUuid(session_id)) {
|
|
433
487
|
return { success: false, error: 'Invalid session ID format. Expected UUID.' };
|
|
434
488
|
}
|
|
@@ -436,12 +490,15 @@ export function createDevSessionCompleteTool(options) {
|
|
|
436
490
|
user_id,
|
|
437
491
|
sessionId: session_id,
|
|
438
492
|
hasSummary: !!completion_summary,
|
|
493
|
+
terminateTerminals: !!terminate_terminals,
|
|
439
494
|
});
|
|
440
495
|
try {
|
|
441
496
|
const body = { user_email: user_id };
|
|
442
497
|
if (completion_summary)
|
|
443
498
|
body.completion_summary = stripHtml(completion_summary);
|
|
444
|
-
|
|
499
|
+
if (terminate_terminals)
|
|
500
|
+
body.terminate_terminals = true;
|
|
501
|
+
const response = await client.post(`/dev-sessions/${session_id}/complete`, body, { user_id });
|
|
445
502
|
if (!response.success) {
|
|
446
503
|
if (response.error.code === 'NOT_FOUND') {
|
|
447
504
|
return { success: false, error: 'Dev session not found.' };
|