@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.
- package/README.md +104 -0
- package/dist/commands/mcp.js +85 -0
- package/dist/generated/commands/index.js +43 -39
- package/dist/generated/commands/sessions/artifacts-get.js +20 -0
- package/dist/generated/commands/sessions/artifacts-list.js +19 -0
- package/dist/generated/tools/deploy/cancel.js +20 -0
- package/dist/generated/tools/deploy/messages.js +20 -0
- package/dist/generated/tools/deploy/run.js +52 -0
- package/dist/generated/tools/index.js +138 -0
- package/dist/generated/tools/preview/get.js +24 -0
- package/dist/generated/tools/preview/health.js +24 -0
- package/dist/generated/tools/preview/reset.js +23 -0
- package/dist/generated/tools/preview/share-create.js +24 -0
- package/dist/generated/tools/preview/share-delete.js +24 -0
- package/dist/generated/tools/preview/share-get.js +24 -0
- package/dist/generated/tools/preview/shared-artifact.js +25 -0
- package/dist/generated/tools/preview/shared.js +20 -0
- package/dist/generated/tools/projects/create.js +26 -0
- package/dist/generated/tools/projects/delete.js +20 -0
- package/dist/generated/tools/projects/env-vars-add.js +50 -0
- package/dist/generated/tools/projects/env-vars-remove.js +31 -0
- package/dist/generated/tools/projects/get.js +20 -0
- package/dist/generated/tools/projects/list.js +12 -0
- package/dist/generated/tools/projects/services-add.js +111 -0
- package/dist/generated/tools/projects/services-list.js +20 -0
- package/dist/generated/tools/projects/services-remove.js +25 -0
- package/dist/generated/tools/projects/services-update.js +104 -0
- package/dist/generated/tools/projects/settings-get.js +20 -0
- package/dist/generated/tools/projects/settings-import.js +208 -0
- package/dist/generated/tools/projects/settings-update.js +72 -0
- package/dist/generated/tools/projects/skills.js +32 -0
- package/dist/generated/tools/projects/update.js +24 -0
- package/dist/generated/tools/sessions/activate.js +25 -0
- package/dist/generated/tools/sessions/artifacts-get.js +30 -0
- package/dist/generated/tools/sessions/artifacts-list.js +25 -0
- package/dist/generated/tools/sessions/checklist-generate.js +25 -0
- package/dist/generated/tools/sessions/checklist-get.js +25 -0
- package/dist/generated/tools/sessions/comments-add.js +53 -0
- package/dist/generated/tools/sessions/comments-delete.js +30 -0
- package/dist/generated/tools/sessions/comments-list.js +25 -0
- package/dist/generated/tools/sessions/comments-update.js +62 -0
- package/dist/generated/tools/sessions/create.js +69 -0
- package/dist/generated/tools/sessions/delete.js +25 -0
- package/dist/generated/tools/sessions/diff-files.js +25 -0
- package/dist/generated/tools/sessions/diff-patch.js +64 -0
- package/dist/generated/tools/sessions/edit-prompt.js +69 -0
- package/dist/generated/tools/sessions/files-get.js +30 -0
- package/dist/generated/tools/sessions/files-list.js +25 -0
- package/dist/generated/tools/sessions/files-write.js +37 -0
- package/dist/generated/tools/sessions/get.js +25 -0
- package/dist/generated/tools/sessions/git-commit-message.js +25 -0
- package/dist/generated/tools/sessions/git-commit.js +29 -0
- package/dist/generated/tools/sessions/git-push.js +25 -0
- package/dist/generated/tools/sessions/git-state.js +25 -0
- package/dist/generated/tools/sessions/jobs-cancel.js +30 -0
- package/dist/generated/tools/sessions/jobs-get.js +30 -0
- package/dist/generated/tools/sessions/list.js +56 -0
- package/dist/generated/tools/sessions/messages.js +25 -0
- package/dist/generated/tools/sessions/search.js +17 -0
- package/dist/generated/tools/sessions/send.js +137 -0
- package/dist/generated/tools/sessions/update.js +63 -0
- package/dist/generated/tools/workspaces/access-status.js +28 -0
- package/dist/generated/tools/workspaces/ai-provider-get.js +20 -0
- package/dist/generated/tools/workspaces/ai-provider-remove.js +39 -0
- package/dist/generated/tools/workspaces/ai-provider-set.js +106 -0
- package/dist/generated/tools/workspaces/credits.js +20 -0
- package/dist/generated/tools/workspaces/get.js +20 -0
- package/dist/generated/tools/workspaces/getting-started-get.js +20 -0
- package/dist/generated/tools/workspaces/getting-started-update.js +27 -0
- package/dist/generated/tools/workspaces/list.js +12 -0
- package/dist/generated/tools/workspaces/members.js +24 -0
- package/dist/generated/tools/workspaces/sandbox-limit.js +20 -0
- package/dist/generated/tools/workspaces/stop-sandboxes.js +31 -0
- package/dist/generated/tools/workspaces/usage.js +28 -0
- package/dist/program.js +4 -2
- package/dist/runtime/mcp-attachments.js +110 -0
- package/dist/runtime/mcp-composite-support.js +49 -0
- package/dist/runtime/mcp-composite.js +309 -0
- package/dist/runtime/mcp-guard.js +74 -0
- package/dist/runtime/mcp-invoke.js +123 -0
- package/dist/runtime/mcp-open-pr.js +83 -0
- package/dist/runtime/mcp-redact.js +31 -0
- package/dist/runtime/mcp-server.js +219 -0
- package/dist/runtime/mcp-tool.js +6 -0
- package/openapi.json +134 -0
- package/package.json +2 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { operation } from '../../commands/projects/settings-import.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "projects_settings_import",
|
|
4
|
+
"toolset": "projects",
|
|
5
|
+
"description": "Replace the services and environment from a kosuke.config.json document. Cross-service rules (unique ports, after references, one preview endpoint) are checked by the handler, not by the schema.",
|
|
6
|
+
"inputSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"projectId": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Project id."
|
|
12
|
+
},
|
|
13
|
+
"hostSetupCommand": {
|
|
14
|
+
"type": [
|
|
15
|
+
"string",
|
|
16
|
+
"null"
|
|
17
|
+
],
|
|
18
|
+
"description": "Shell command that runs once on first deploy (or when its content changes) to provision the host: install runtimes and system packages. Re-runs only when edited."
|
|
19
|
+
},
|
|
20
|
+
"setupCommand": {
|
|
21
|
+
"type": [
|
|
22
|
+
"string",
|
|
23
|
+
"null"
|
|
24
|
+
],
|
|
25
|
+
"description": "Shell command that runs at repository root on every deploy, strictly BEFORE any service starts. Services from this config (databases included) are not reachable from it. Use it for installing dependencies; run migrations and seeds at the front of the dependent service's startCommand instead."
|
|
26
|
+
},
|
|
27
|
+
"warmupCommand": {
|
|
28
|
+
"type": [
|
|
29
|
+
"string",
|
|
30
|
+
"null"
|
|
31
|
+
],
|
|
32
|
+
"description": "Shell command that runs inside the sandbox once services are healthy. Typically authenticates and curls heavy routes to warm up compilation cache."
|
|
33
|
+
},
|
|
34
|
+
"agentWorkDir": {
|
|
35
|
+
"type": [
|
|
36
|
+
"string",
|
|
37
|
+
"null"
|
|
38
|
+
],
|
|
39
|
+
"description": "Relative path from the repository root where the AI agent operates. Useful for monorepos where the agent should work only in a subdirectory (e.g. \"packages/frontend\"). Defaults to repository root."
|
|
40
|
+
},
|
|
41
|
+
"sessionBaseBranch": {
|
|
42
|
+
"type": [
|
|
43
|
+
"string",
|
|
44
|
+
"null"
|
|
45
|
+
],
|
|
46
|
+
"description": "Git branch new coding sessions branch from (e.g. \"main\"). Null/omitted uses the repository default branch."
|
|
47
|
+
},
|
|
48
|
+
"prTargetBranch": {
|
|
49
|
+
"type": [
|
|
50
|
+
"string",
|
|
51
|
+
"null"
|
|
52
|
+
],
|
|
53
|
+
"description": "Git branch that submitted PRs target (e.g. \"main\"). Null/omitted uses the repository default branch."
|
|
54
|
+
},
|
|
55
|
+
"sandboxTier": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "Sandbox resource tier provisioned for the preview: SMALL, MEDIUM, LARGE, or XLARGE. Omitted leaves the current tier. A first deploy boots on XLARGE (unknown footprint) — measure actual peak usage and set the right-sized tier here so later sandboxes use it.",
|
|
58
|
+
"enum": [
|
|
59
|
+
"SMALL",
|
|
60
|
+
"MEDIUM",
|
|
61
|
+
"LARGE",
|
|
62
|
+
"XLARGE"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"services": {
|
|
66
|
+
"description": "Map of service name → configuration. Everything is a service — apps, workers, databases (Postgres/Redis as \"process\"), and container stacks (Supabase as \"docker-stack\"). Names must be lowercase alphanumeric with inner hyphens (they become DNS labels and systemd unit names).",
|
|
67
|
+
"default": {},
|
|
68
|
+
"type": "object",
|
|
69
|
+
"propertyNames": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"minLength": 1,
|
|
72
|
+
"maxLength": 63,
|
|
73
|
+
"pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?$"
|
|
74
|
+
},
|
|
75
|
+
"additionalProperties": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"directory": {
|
|
79
|
+
"default": ".",
|
|
80
|
+
"description": "Relative path to the service directory within the repository (e.g. \"api\", \"apps/web\"). Defaults to repository root.",
|
|
81
|
+
"type": "string",
|
|
82
|
+
"maxLength": 255
|
|
83
|
+
},
|
|
84
|
+
"kind": {
|
|
85
|
+
"default": "process",
|
|
86
|
+
"description": "Run mode. \"process\": a plain command supervised directly (apps, workers, Postgres, Redis). \"docker-stack\": a multi-container docker-compose stack (e.g. Supabase) with up/down commands.",
|
|
87
|
+
"type": "string",
|
|
88
|
+
"enum": [
|
|
89
|
+
"process",
|
|
90
|
+
"docker-stack"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"endpoints": {
|
|
94
|
+
"default": [],
|
|
95
|
+
"description": "Exposed endpoints. A service has 0..N (0 = background, no port); port/type/frontend/health are per endpoint. List the primary user-facing endpoint FIRST: it answers {{service.url}} and drives the readiness probe.",
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"name": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"minLength": 1,
|
|
103
|
+
"maxLength": 63,
|
|
104
|
+
"pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?$",
|
|
105
|
+
"description": "Endpoint name, unique within the service (e.g. \"api\", \"studio\"). Lowercase alphanumeric with inner hyphens — non-primary endpoint names become part of the preview host."
|
|
106
|
+
},
|
|
107
|
+
"port": {
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"minimum": 1,
|
|
110
|
+
"maximum": 65535,
|
|
111
|
+
"description": "Port this endpoint listens on."
|
|
112
|
+
},
|
|
113
|
+
"exposure": {
|
|
114
|
+
"default": "internal",
|
|
115
|
+
"description": "\"internal\": sandbox-only (no URL). \"public\": browser-reachable URL, not rendered. \"preview\": public URL AND shown in the preview panel.",
|
|
116
|
+
"type": "string",
|
|
117
|
+
"enum": [
|
|
118
|
+
"internal",
|
|
119
|
+
"public",
|
|
120
|
+
"preview"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"healthRoute": {
|
|
124
|
+
"description": "HTTP readiness path (e.g. \"/api/health\"), probed with an HTTP GET. Set ONLY on HTTP services. Omit for for non-http services (e.g. datastores like Postgres/Redis/MySQL/Mongo/…). An HTTP probe against their binary wire protocol never succeeds and hangs the unit's boot.",
|
|
125
|
+
"type": "string",
|
|
126
|
+
"maxLength": 255,
|
|
127
|
+
"pattern": "^\\/.*"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"required": [
|
|
131
|
+
"name",
|
|
132
|
+
"port"
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"startCommand": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"minLength": 1,
|
|
139
|
+
"maxLength": 500,
|
|
140
|
+
"description": "Shell command to start the service (e.g. \"npm run dev\"). The service MUST bind the first endpoint's port: pass it explicitly via a framework flag (e.g. \"next dev -p 3000\") or inline env for apps that only read process.env.PORT (e.g. \"PORT=3000 npm run dev\"). Steps that need a live dependency (migrations, seeds) belong at the front of this command; they re-run on every restart, so keep them idempotent. This command may span multiple lines — prefer that over a long single-line `&&` chain when there are several steps. For \"docker-stack\" services this is the up command (e.g. \"supabase start\")."
|
|
141
|
+
},
|
|
142
|
+
"stopCommand": {
|
|
143
|
+
"description": "Optional command to stop the service (e.g. \"docker compose down\").",
|
|
144
|
+
"type": "string",
|
|
145
|
+
"maxLength": 500
|
|
146
|
+
},
|
|
147
|
+
"after": {
|
|
148
|
+
"default": [],
|
|
149
|
+
"description": "Other service names this service must start after. Ordering is readiness-gated — the service waits until its dependencies are accepting connections.",
|
|
150
|
+
"type": "array",
|
|
151
|
+
"items": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"minLength": 1,
|
|
154
|
+
"maxLength": 100
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"envFiles": {
|
|
158
|
+
"default": [],
|
|
159
|
+
"description": "docker-stack only: paths (relative to `directory`) to write the resolved env into as a `.env` file. Empty defaults to a single `.env`. Example: Supabase needs [\".env\", \"supabase/functions/.env\"] — the root `.env` feeds config.toml's env() interpolation, while supabase/functions/.env is read by the Edge Functions",
|
|
160
|
+
"type": "array",
|
|
161
|
+
"items": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"minLength": 1,
|
|
164
|
+
"maxLength": 255
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"required": [
|
|
169
|
+
"startCommand"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"environment": {
|
|
174
|
+
"description": "Map of environment variable name → value. Injected into all services at startup. Values support service-URL placeholders like {{serviceName.url}} / {{serviceName.url_int}} resolved at sandbox boot.",
|
|
175
|
+
"default": {},
|
|
176
|
+
"type": "object",
|
|
177
|
+
"propertyNames": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"minLength": 1,
|
|
180
|
+
"maxLength": 255,
|
|
181
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
|
|
182
|
+
},
|
|
183
|
+
"additionalProperties": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"properties": {
|
|
186
|
+
"value": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "The environment variable value. Supports {{placeholder}} syntax resolved at sandbox startup. Available placeholders: {{<service_name>.url}} — public HTTPS URL of a service (only for public services). {{<service_name>.url_int}} — internal localhost URL of a service (e.g. http://localhost:3000). "
|
|
189
|
+
},
|
|
190
|
+
"isSecret": {
|
|
191
|
+
"default": false,
|
|
192
|
+
"description": "Whether this variable contains sensitive data. Secret values are masked in the UI and encrypted at rest.",
|
|
193
|
+
"type": "boolean"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"required": [
|
|
197
|
+
"value"
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"required": [
|
|
203
|
+
"projectId"
|
|
204
|
+
],
|
|
205
|
+
"additionalProperties": false
|
|
206
|
+
},
|
|
207
|
+
operation,
|
|
208
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { operation } from '../../commands/projects/settings-update.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "projects_settings_update",
|
|
4
|
+
"toolset": "projects",
|
|
5
|
+
"description": "Change setup commands, branches, working directory or sandbox tier.",
|
|
6
|
+
"inputSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"projectId": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Project id."
|
|
12
|
+
},
|
|
13
|
+
"hostSetupCommand": {
|
|
14
|
+
"type": [
|
|
15
|
+
"string",
|
|
16
|
+
"null"
|
|
17
|
+
],
|
|
18
|
+
"description": "Shell command that runs once on first deploy (or when its content changes) to provision the host: install runtimes and system packages. Re-runs only when edited."
|
|
19
|
+
},
|
|
20
|
+
"setupCommand": {
|
|
21
|
+
"type": [
|
|
22
|
+
"string",
|
|
23
|
+
"null"
|
|
24
|
+
],
|
|
25
|
+
"description": "Shell command that runs at repository root on every deploy, strictly BEFORE any service starts. Services from this config (databases included) are not reachable from it. Use it for installing dependencies; run migrations and seeds at the front of the dependent service's startCommand instead."
|
|
26
|
+
},
|
|
27
|
+
"warmupCommand": {
|
|
28
|
+
"type": [
|
|
29
|
+
"string",
|
|
30
|
+
"null"
|
|
31
|
+
],
|
|
32
|
+
"description": "Shell command that runs inside the sandbox once services are healthy. Typically authenticates and curls heavy routes to warm up compilation cache."
|
|
33
|
+
},
|
|
34
|
+
"agentWorkDir": {
|
|
35
|
+
"type": [
|
|
36
|
+
"string",
|
|
37
|
+
"null"
|
|
38
|
+
],
|
|
39
|
+
"description": "Relative path from the repository root where the AI agent operates. Useful for monorepos where the agent should work only in a subdirectory (e.g. \"packages/frontend\"). Defaults to repository root."
|
|
40
|
+
},
|
|
41
|
+
"sessionBaseBranch": {
|
|
42
|
+
"type": [
|
|
43
|
+
"string",
|
|
44
|
+
"null"
|
|
45
|
+
],
|
|
46
|
+
"description": "Git branch new coding sessions branch from (e.g. \"main\"). Null/omitted uses the repository default branch."
|
|
47
|
+
},
|
|
48
|
+
"prTargetBranch": {
|
|
49
|
+
"type": [
|
|
50
|
+
"string",
|
|
51
|
+
"null"
|
|
52
|
+
],
|
|
53
|
+
"description": "Git branch that submitted PRs target (e.g. \"main\"). Null/omitted uses the repository default branch."
|
|
54
|
+
},
|
|
55
|
+
"sandboxTier": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "Sandbox resource tier provisioned for the preview: SMALL, MEDIUM, LARGE, or XLARGE. Omitted leaves the current tier. A first deploy boots on XLARGE (unknown footprint) — measure actual peak usage and set the right-sized tier here so later sandboxes use it.",
|
|
58
|
+
"enum": [
|
|
59
|
+
"SMALL",
|
|
60
|
+
"MEDIUM",
|
|
61
|
+
"LARGE",
|
|
62
|
+
"XLARGE"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"required": [
|
|
67
|
+
"projectId"
|
|
68
|
+
],
|
|
69
|
+
"additionalProperties": false
|
|
70
|
+
},
|
|
71
|
+
operation,
|
|
72
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { operation } from '../../commands/projects/skills.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "projects_skills",
|
|
4
|
+
"toolset": "projects",
|
|
5
|
+
"description": "List the skills the agent can invoke in this project, for one provider.",
|
|
6
|
+
"inputSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"projectId": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Project id."
|
|
12
|
+
},
|
|
13
|
+
"provider": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": [
|
|
16
|
+
"anthropic",
|
|
17
|
+
"openai"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"sessionId": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Prefer that chat session's sandbox when listing live. Silently ignored if it is not this project's."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"projectId",
|
|
27
|
+
"provider"
|
|
28
|
+
],
|
|
29
|
+
"additionalProperties": false
|
|
30
|
+
},
|
|
31
|
+
operation,
|
|
32
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { operation } from '../../commands/projects/update.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "projects_update",
|
|
4
|
+
"toolset": "projects",
|
|
5
|
+
"description": "Rename a project.",
|
|
6
|
+
"inputSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"projectId": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Project id."
|
|
12
|
+
},
|
|
13
|
+
"name": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": [
|
|
18
|
+
"projectId",
|
|
19
|
+
"name"
|
|
20
|
+
],
|
|
21
|
+
"additionalProperties": false
|
|
22
|
+
},
|
|
23
|
+
operation,
|
|
24
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { operation } from '../../commands/sessions/activate.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_activate",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Start a backlog session: claim a sandbox and run its saved prompt as the first turn.",
|
|
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/artifacts-get.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_artifacts_get",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Read one artifact of the session: a markdown or html one carries its body, an image or a video a presigned url, its media type and its size.",
|
|
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
|
+
"artifactId": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Artifact id."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": [
|
|
23
|
+
"projectId",
|
|
24
|
+
"sessionId",
|
|
25
|
+
"artifactId"
|
|
26
|
+
],
|
|
27
|
+
"additionalProperties": false
|
|
28
|
+
},
|
|
29
|
+
operation,
|
|
30
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { operation } from '../../commands/sessions/artifacts-list.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_artifacts_list",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "List the session's artifacts, most recently changed first. Rows only: a body or a file url comes from reading one.",
|
|
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/checklist-generate.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_checklist_generate",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Generate testing checklist items from the branch's changes on GitHub.",
|
|
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/checklist-get.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_checklist_get",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Read the testing checklist 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,53 @@
|
|
|
1
|
+
import { operation } from '../../commands/sessions/comments-add.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_comments_add",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Leave a review comment on a range of lines in the diff.",
|
|
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
|
+
"filePath": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"side": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"enum": [
|
|
23
|
+
"old",
|
|
24
|
+
"new"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"startLineNumber": {
|
|
28
|
+
"type": "integer"
|
|
29
|
+
},
|
|
30
|
+
"endLineNumber": {
|
|
31
|
+
"type": "integer"
|
|
32
|
+
},
|
|
33
|
+
"body": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
"lineSnapshot": {
|
|
37
|
+
"type": "string"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": [
|
|
41
|
+
"projectId",
|
|
42
|
+
"sessionId",
|
|
43
|
+
"filePath",
|
|
44
|
+
"side",
|
|
45
|
+
"startLineNumber",
|
|
46
|
+
"endLineNumber",
|
|
47
|
+
"body",
|
|
48
|
+
"lineSnapshot"
|
|
49
|
+
],
|
|
50
|
+
"additionalProperties": false
|
|
51
|
+
},
|
|
52
|
+
operation,
|
|
53
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { operation } from '../../commands/sessions/comments-delete.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_comments_delete",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Delete your own comment.",
|
|
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
|
+
"commentId": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Comment id."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": [
|
|
23
|
+
"projectId",
|
|
24
|
+
"sessionId",
|
|
25
|
+
"commentId"
|
|
26
|
+
],
|
|
27
|
+
"additionalProperties": false
|
|
28
|
+
},
|
|
29
|
+
operation,
|
|
30
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { operation } from '../../commands/sessions/comments-list.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_comments_list",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "List the review comments left on the diff.",
|
|
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,62 @@
|
|
|
1
|
+
import { operation } from '../../commands/sessions/comments-update.js';
|
|
2
|
+
export const tool = {
|
|
3
|
+
"name": "sessions_comments_update",
|
|
4
|
+
"toolset": "sessions",
|
|
5
|
+
"description": "Edit the body of your own comment, or resolve or reopen any comment. One of the two per call.",
|
|
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
|
+
"commentId": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Comment id."
|
|
20
|
+
},
|
|
21
|
+
"body": {
|
|
22
|
+
"description": "The whole request body.",
|
|
23
|
+
"anyOf": [
|
|
24
|
+
{
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"body": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1,
|
|
30
|
+
"maxLength": 4000
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": [
|
|
34
|
+
"body"
|
|
35
|
+
],
|
|
36
|
+
"additionalProperties": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "object",
|
|
40
|
+
"properties": {
|
|
41
|
+
"resolved": {
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"required": [
|
|
46
|
+
"resolved"
|
|
47
|
+
],
|
|
48
|
+
"additionalProperties": false
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": [
|
|
54
|
+
"projectId",
|
|
55
|
+
"sessionId",
|
|
56
|
+
"commentId",
|
|
57
|
+
"body"
|
|
58
|
+
],
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
},
|
|
61
|
+
operation,
|
|
62
|
+
};
|