@kosuke-ai/cli 1.0.1-next.4 → 1.0.1-next.6

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 (86) hide show
  1. package/README.md +104 -0
  2. package/dist/commands/mcp.js +85 -0
  3. package/dist/generated/commands/index.js +43 -39
  4. package/dist/generated/commands/sessions/artifacts-get.js +20 -0
  5. package/dist/generated/commands/sessions/artifacts-list.js +19 -0
  6. package/dist/generated/tools/deploy/cancel.js +20 -0
  7. package/dist/generated/tools/deploy/messages.js +20 -0
  8. package/dist/generated/tools/deploy/run.js +52 -0
  9. package/dist/generated/tools/index.js +138 -0
  10. package/dist/generated/tools/preview/get.js +24 -0
  11. package/dist/generated/tools/preview/health.js +24 -0
  12. package/dist/generated/tools/preview/reset.js +23 -0
  13. package/dist/generated/tools/preview/share-create.js +24 -0
  14. package/dist/generated/tools/preview/share-delete.js +24 -0
  15. package/dist/generated/tools/preview/share-get.js +24 -0
  16. package/dist/generated/tools/preview/shared-artifact.js +25 -0
  17. package/dist/generated/tools/preview/shared.js +20 -0
  18. package/dist/generated/tools/projects/create.js +26 -0
  19. package/dist/generated/tools/projects/delete.js +20 -0
  20. package/dist/generated/tools/projects/env-vars-add.js +50 -0
  21. package/dist/generated/tools/projects/env-vars-remove.js +31 -0
  22. package/dist/generated/tools/projects/get.js +20 -0
  23. package/dist/generated/tools/projects/list.js +12 -0
  24. package/dist/generated/tools/projects/services-add.js +111 -0
  25. package/dist/generated/tools/projects/services-list.js +20 -0
  26. package/dist/generated/tools/projects/services-remove.js +25 -0
  27. package/dist/generated/tools/projects/services-update.js +104 -0
  28. package/dist/generated/tools/projects/settings-get.js +20 -0
  29. package/dist/generated/tools/projects/settings-import.js +208 -0
  30. package/dist/generated/tools/projects/settings-update.js +72 -0
  31. package/dist/generated/tools/projects/skills.js +32 -0
  32. package/dist/generated/tools/projects/update.js +24 -0
  33. package/dist/generated/tools/sessions/activate.js +25 -0
  34. package/dist/generated/tools/sessions/artifacts-get.js +30 -0
  35. package/dist/generated/tools/sessions/artifacts-list.js +25 -0
  36. package/dist/generated/tools/sessions/checklist-generate.js +25 -0
  37. package/dist/generated/tools/sessions/checklist-get.js +25 -0
  38. package/dist/generated/tools/sessions/comments-add.js +53 -0
  39. package/dist/generated/tools/sessions/comments-delete.js +30 -0
  40. package/dist/generated/tools/sessions/comments-list.js +25 -0
  41. package/dist/generated/tools/sessions/comments-update.js +62 -0
  42. package/dist/generated/tools/sessions/create.js +69 -0
  43. package/dist/generated/tools/sessions/delete.js +25 -0
  44. package/dist/generated/tools/sessions/diff-files.js +25 -0
  45. package/dist/generated/tools/sessions/diff-patch.js +64 -0
  46. package/dist/generated/tools/sessions/edit-prompt.js +69 -0
  47. package/dist/generated/tools/sessions/files-get.js +30 -0
  48. package/dist/generated/tools/sessions/files-list.js +25 -0
  49. package/dist/generated/tools/sessions/files-write.js +37 -0
  50. package/dist/generated/tools/sessions/get.js +25 -0
  51. package/dist/generated/tools/sessions/git-commit-message.js +25 -0
  52. package/dist/generated/tools/sessions/git-commit.js +29 -0
  53. package/dist/generated/tools/sessions/git-push.js +25 -0
  54. package/dist/generated/tools/sessions/git-state.js +25 -0
  55. package/dist/generated/tools/sessions/jobs-cancel.js +30 -0
  56. package/dist/generated/tools/sessions/jobs-get.js +30 -0
  57. package/dist/generated/tools/sessions/list.js +56 -0
  58. package/dist/generated/tools/sessions/messages.js +25 -0
  59. package/dist/generated/tools/sessions/search.js +17 -0
  60. package/dist/generated/tools/sessions/send.js +137 -0
  61. package/dist/generated/tools/sessions/update.js +63 -0
  62. package/dist/generated/tools/workspaces/access-status.js +28 -0
  63. package/dist/generated/tools/workspaces/ai-provider-get.js +20 -0
  64. package/dist/generated/tools/workspaces/ai-provider-remove.js +39 -0
  65. package/dist/generated/tools/workspaces/ai-provider-set.js +106 -0
  66. package/dist/generated/tools/workspaces/credits.js +20 -0
  67. package/dist/generated/tools/workspaces/get.js +20 -0
  68. package/dist/generated/tools/workspaces/getting-started-get.js +20 -0
  69. package/dist/generated/tools/workspaces/getting-started-update.js +27 -0
  70. package/dist/generated/tools/workspaces/list.js +12 -0
  71. package/dist/generated/tools/workspaces/members.js +24 -0
  72. package/dist/generated/tools/workspaces/sandbox-limit.js +20 -0
  73. package/dist/generated/tools/workspaces/stop-sandboxes.js +31 -0
  74. package/dist/generated/tools/workspaces/usage.js +28 -0
  75. package/dist/program.js +4 -2
  76. package/dist/runtime/mcp-attachments.js +110 -0
  77. package/dist/runtime/mcp-composite-support.js +49 -0
  78. package/dist/runtime/mcp-composite.js +309 -0
  79. package/dist/runtime/mcp-guard.js +74 -0
  80. package/dist/runtime/mcp-invoke.js +123 -0
  81. package/dist/runtime/mcp-open-pr.js +83 -0
  82. package/dist/runtime/mcp-redact.js +31 -0
  83. package/dist/runtime/mcp-server.js +219 -0
  84. package/dist/runtime/mcp-tool.js +6 -0
  85. package/openapi.json +134 -0
  86. package/package.json +2 -1
@@ -0,0 +1,69 @@
1
+ import { operation } from '../../commands/sessions/create.js';
2
+ export const tool = {
3
+ "name": "sessions_create",
4
+ "toolset": "sessions",
5
+ "description": "Start a chat session, or file a backlog one with status=backlog. Title or content is required; a backlog session needs content. Attachments ride along as multipart.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "title": {
14
+ "type": "string"
15
+ },
16
+ "content": {
17
+ "type": "string"
18
+ },
19
+ "model": {
20
+ "type": "string"
21
+ },
22
+ "status": {
23
+ "type": "string",
24
+ "enum": [
25
+ "backlog"
26
+ ]
27
+ },
28
+ "ownerId": {
29
+ "type": "string"
30
+ },
31
+ "priority": {
32
+ "type": "string",
33
+ "enum": [
34
+ "urgent",
35
+ "high",
36
+ "medium",
37
+ "low",
38
+ "none"
39
+ ]
40
+ },
41
+ "startBranch": {
42
+ "type": "string"
43
+ },
44
+ "attachments": {
45
+ "type": "array",
46
+ "maxItems": 10,
47
+ "description": "Files to attach, at most 10 of 10 MiB each. Each is a path on this machine; the request is sent as multipart when any are given.",
48
+ "items": {
49
+ "type": "object",
50
+ "properties": {
51
+ "path": {
52
+ "type": "string",
53
+ "description": "Path of a file to attach."
54
+ }
55
+ },
56
+ "required": [
57
+ "path"
58
+ ],
59
+ "additionalProperties": false
60
+ }
61
+ }
62
+ },
63
+ "required": [
64
+ "projectId"
65
+ ],
66
+ "additionalProperties": false
67
+ },
68
+ operation,
69
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/delete.js';
2
+ export const tool = {
3
+ "name": "sessions_delete",
4
+ "toolset": "sessions",
5
+ "description": "Delete a chat session.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/diff-files.js';
2
+ export const tool = {
3
+ "name": "sessions_diff_files",
4
+ "toolset": "sessions",
5
+ "description": "List the files the session's branch changes against its base, with totals.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,64 @@
1
+ import { operation } from '../../commands/sessions/diff-patch.js';
2
+ export const tool = {
3
+ "name": "sessions_diff_patch",
4
+ "toolset": "sessions",
5
+ "description": "Read patches: a page (cursor), one file (path, with hunkOffset/hunkEnd), or one file with both sides (path and contents=1). path and cursor are mutually exclusive.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "path": {
18
+ "type": "string",
19
+ "description": "One file. Cannot be combined with cursor."
20
+ },
21
+ "paths": {
22
+ "type": "string",
23
+ "description": "JSON array of file paths to refresh."
24
+ },
25
+ "afterPath": {
26
+ "type": "string",
27
+ "description": "Renew pagination strictly after this loaded path."
28
+ },
29
+ "cursor": {
30
+ "type": "string",
31
+ "description": "Opaque page cursor from meta.pagination.nextCursor. Cannot be combined with path."
32
+ },
33
+ "contents": {
34
+ "type": "string",
35
+ "description": "Return both sides of the file named by path. Only the literal '1' counts.",
36
+ "enum": [
37
+ "1"
38
+ ]
39
+ },
40
+ "base": {
41
+ "type": "string",
42
+ "description": "Commit id to diff against instead of the current base. Must be provided with head."
43
+ },
44
+ "head": {
45
+ "type": "string",
46
+ "description": "Commit id for the comparison head. Must be provided with base."
47
+ },
48
+ "hunkOffset": {
49
+ "type": "integer",
50
+ "description": "First hunk to return for path. A value that is not a non-negative integer is ignored."
51
+ },
52
+ "hunkEnd": {
53
+ "type": "integer",
54
+ "description": "Hunk to stop before, for path. Ignored the same way as hunkOffset."
55
+ }
56
+ },
57
+ "required": [
58
+ "projectId",
59
+ "sessionId"
60
+ ],
61
+ "additionalProperties": false
62
+ },
63
+ operation,
64
+ };
@@ -0,0 +1,69 @@
1
+ import { operation } from '../../commands/sessions/edit-prompt.js';
2
+ export const tool = {
3
+ "name": "sessions_edit_prompt",
4
+ "toolset": "sessions",
5
+ "description": "Rewrite the saved prompt of a backlog session, keeping or replacing its attachments. Multipart only.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "content": {
18
+ "type": "string",
19
+ "description": "The saved prompt."
20
+ },
21
+ "model": {
22
+ "type": "string"
23
+ },
24
+ "ownerId": {
25
+ "type": "string",
26
+ "description": "A member id to assign, or an empty string to unassign."
27
+ },
28
+ "priority": {
29
+ "type": "string",
30
+ "enum": [
31
+ "urgent",
32
+ "high",
33
+ "medium",
34
+ "low",
35
+ "none"
36
+ ]
37
+ },
38
+ "retainedAttachmentIds": {
39
+ "type": "string",
40
+ "description": "JSON array of attachment ids to keep. Attachments not listed are removed."
41
+ },
42
+ "attachments": {
43
+ "type": "array",
44
+ "maxItems": 10,
45
+ "description": "Files to attach, at most 10 of 10 MiB each. Each is a path on this machine; the request is sent as multipart when any are given.",
46
+ "items": {
47
+ "type": "object",
48
+ "properties": {
49
+ "path": {
50
+ "type": "string",
51
+ "description": "Path of a file to attach."
52
+ }
53
+ },
54
+ "required": [
55
+ "path"
56
+ ],
57
+ "additionalProperties": false
58
+ }
59
+ }
60
+ },
61
+ "required": [
62
+ "projectId",
63
+ "sessionId",
64
+ "content"
65
+ ],
66
+ "additionalProperties": false
67
+ },
68
+ operation,
69
+ };
@@ -0,0 +1,30 @@
1
+ import { operation } from '../../commands/sessions/files-get.js';
2
+ export const tool = {
3
+ "name": "sessions_files_get",
4
+ "toolset": "sessions",
5
+ "description": "Read one file from the session's sandbox.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "path": {
18
+ "type": "string",
19
+ "description": "Repository-relative path of the file to read."
20
+ }
21
+ },
22
+ "required": [
23
+ "projectId",
24
+ "sessionId",
25
+ "path"
26
+ ],
27
+ "additionalProperties": false
28
+ },
29
+ operation,
30
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/files-list.js';
2
+ export const tool = {
3
+ "name": "sessions_files_list",
4
+ "toolset": "sessions",
5
+ "description": "List the files in the session's sandbox. Empty when the sandbox is not running.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,37 @@
1
+ import { operation } from '../../commands/sessions/files-write.js';
2
+ export const tool = {
3
+ "name": "sessions_files_write",
4
+ "toolset": "sessions",
5
+ "description": "Write one file in the session's sandbox. Refused while a turn is running, and for binary content.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "path": {
18
+ "type": "string"
19
+ },
20
+ "content": {
21
+ "type": "string"
22
+ },
23
+ "clientId": {
24
+ "type": "string"
25
+ }
26
+ },
27
+ "required": [
28
+ "projectId",
29
+ "sessionId",
30
+ "path",
31
+ "content",
32
+ "clientId"
33
+ ],
34
+ "additionalProperties": false
35
+ },
36
+ operation,
37
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/get.js';
2
+ export const tool = {
3
+ "name": "sessions_get",
4
+ "toolset": "sessions",
5
+ "description": "Read one chat session with its latest job and pull request.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/git-commit-message.js';
2
+ export const tool = {
3
+ "name": "sessions_git_commit_message",
4
+ "toolset": "sessions",
5
+ "description": "Draft a commit message for the uncommitted changes. Needs a running sandbox.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,29 @@
1
+ import { operation } from '../../commands/sessions/git-commit.js';
2
+ export const tool = {
3
+ "name": "sessions_git_commit",
4
+ "toolset": "sessions",
5
+ "description": "Commit the uncommitted changes in the sandbox. Refused while a turn is running.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "message": {
18
+ "type": "string"
19
+ }
20
+ },
21
+ "required": [
22
+ "projectId",
23
+ "sessionId",
24
+ "message"
25
+ ],
26
+ "additionalProperties": false
27
+ },
28
+ operation,
29
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/git-push.js';
2
+ export const tool = {
3
+ "name": "sessions_git_push",
4
+ "toolset": "sessions",
5
+ "description": "Push the session's branch to GitHub. Refused while a turn is running.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/git-state.js';
2
+ export const tool = {
3
+ "name": "sessions_git_state",
4
+ "toolset": "sessions",
5
+ "description": "Read the branch state of the session's sandbox: dirty files, ahead/behind, base.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,30 @@
1
+ import { operation } from '../../commands/sessions/jobs-cancel.js';
2
+ export const tool = {
3
+ "name": "sessions_jobs_cancel",
4
+ "toolset": "sessions",
5
+ "description": "Stop a running turn. Return pending text and preserve messages with files or context for draft restoration.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "jobId": {
18
+ "type": "string",
19
+ "description": "Job id."
20
+ }
21
+ },
22
+ "required": [
23
+ "projectId",
24
+ "sessionId",
25
+ "jobId"
26
+ ],
27
+ "additionalProperties": false
28
+ },
29
+ operation,
30
+ };
@@ -0,0 +1,30 @@
1
+ import { operation } from '../../commands/sessions/jobs-get.js';
2
+ export const tool = {
3
+ "name": "sessions_jobs_get",
4
+ "toolset": "sessions",
5
+ "description": "Read one turn's job: its status, error and timestamps.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ },
17
+ "jobId": {
18
+ "type": "string",
19
+ "description": "Job id."
20
+ }
21
+ },
22
+ "required": [
23
+ "projectId",
24
+ "sessionId",
25
+ "jobId"
26
+ ],
27
+ "additionalProperties": false
28
+ },
29
+ operation,
30
+ };
@@ -0,0 +1,56 @@
1
+ import { operation } from '../../commands/sessions/list.js';
2
+ export const tool = {
3
+ "name": "sessions_list",
4
+ "toolset": "sessions",
5
+ "description": "List chat sessions. Without limit the whole list comes back as data; with it, one page plus meta.pagination. status, priorities and owners are comma-separated strings.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "status": {
14
+ "type": "string",
15
+ "description": "Comma-separated statuses to include (backlog, active, under-review, archived, completed). Any other value is rejected."
16
+ },
17
+ "priorities": {
18
+ "type": "string",
19
+ "description": "Comma-separated priorities to include (urgent, high, medium, low, none)."
20
+ },
21
+ "search": {
22
+ "type": "string",
23
+ "description": "Case-insensitive match on the title."
24
+ },
25
+ "limit": {
26
+ "type": "integer",
27
+ "description": "Page size. Values above 100 are clamped, not rejected. When set, the response carries meta.pagination."
28
+ },
29
+ "cursor": {
30
+ "type": "string",
31
+ "description": "Opaque cursor from a previous page (meta.pagination.nextCursor). Requires limit, and must come from a page with the same sortByPriority."
32
+ },
33
+ "sortByPriority": {
34
+ "type": "boolean",
35
+ "description": "Order by priority then creation time instead of by last activity."
36
+ },
37
+ "excludeArchived": {
38
+ "type": "boolean",
39
+ "description": "Drop archived sessions. Ignored when status is set."
40
+ },
41
+ "excludeBacklog": {
42
+ "type": "boolean",
43
+ "description": "Drop backlog sessions."
44
+ },
45
+ "owners": {
46
+ "type": "string",
47
+ "description": "Comma-separated owner user ids, plus the sentinels 'none' (unowned) and 'any' (owned by anyone)."
48
+ }
49
+ },
50
+ "required": [
51
+ "projectId"
52
+ ],
53
+ "additionalProperties": false
54
+ },
55
+ operation,
56
+ };
@@ -0,0 +1,25 @@
1
+ import { operation } from '../../commands/sessions/messages.js';
2
+ export const tool = {
3
+ "name": "sessions_messages",
4
+ "toolset": "sessions",
5
+ "description": "Read the whole conversation of a chat session.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "projectId": {
10
+ "type": "string",
11
+ "description": "Project id."
12
+ },
13
+ "sessionId": {
14
+ "type": "string",
15
+ "description": "Session id."
16
+ }
17
+ },
18
+ "required": [
19
+ "projectId",
20
+ "sessionId"
21
+ ],
22
+ "additionalProperties": false
23
+ },
24
+ operation,
25
+ };
@@ -0,0 +1,17 @@
1
+ import { operation } from '../../commands/sessions/search.js';
2
+ export const tool = {
3
+ "name": "sessions_search",
4
+ "toolset": "sessions",
5
+ "description": "Search chat sessions by title. With an auth token this spans every workspace you belong to; a browser session searches its active workspace.",
6
+ "inputSchema": {
7
+ "type": "object",
8
+ "properties": {
9
+ "q": {
10
+ "type": "string",
11
+ "description": "Search text, trimmed. Empty or absent returns the most recent sessions."
12
+ }
13
+ },
14
+ "additionalProperties": false
15
+ },
16
+ operation,
17
+ };