@shardflux/mcp 0.5.0 → 0.5.1
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/CHANGELOG.md +10 -1
- package/README.md +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
Every tool, field and variable the README shows is available from the version named here. Below 1.0, a minor release
|
|
4
4
|
may break compatibility; breaking changes are marked **Breaking**. Versions before 0.3.0 were not published.
|
|
5
5
|
|
|
6
|
-
## 0.5.
|
|
6
|
+
## 0.5.1
|
|
7
|
+
|
|
8
|
+
Needs `@shardflux/sdk` 0.11.0 (the workspace version).
|
|
9
|
+
|
|
10
|
+
`workspace_suspend` takes `after_seconds` from 0 to 3600 (before: 30 to 3600): 0 suspends the workspace as soon as it
|
|
11
|
+
is idle (a few seconds of activity flush grace after its last work); a running command or a keepalive still postpones
|
|
12
|
+
it. The result's `message` then says `the workspace is suspended as soon as it is idle`. Out of range is still
|
|
13
|
+
`invalid_arguments` before any request.
|
|
14
|
+
|
|
15
|
+
## 0.5.0
|
|
7
16
|
|
|
8
17
|
Needs `@shardflux/sdk` 0.11.0 (the workspace version).
|
|
9
18
|
|
package/README.md
CHANGED
|
@@ -238,7 +238,7 @@ The management tools:
|
|
|
238
238
|
| `workspace_list` | List the project's workspaces, with `prefix`, `state`, `lifetime`, `purpose`, `include_deleted`, `limit` and `cursor`. By default only persistent standard workspaces are listed. |
|
|
239
239
|
| `workspace_status` | One workspace plus its five most recent operations. |
|
|
240
240
|
| `workspace_suspend`, `workspace_resume` | Lifecycle operation. Returns at once unless `wait: true` (then once it finished, through the SDK's own `wait`). |
|
|
241
|
-
| `workspace_suspend` with `after_seconds` | (0.4.1) Suspend when idle: the workspace is suspended once it has been idle for `after_seconds` (
|
|
241
|
+
| `workspace_suspend` with `after_seconds` | (0.4.1) Suspend when idle: the workspace is suspended once it has been idle for `after_seconds` (0-3600; 0 = as soon as it is idle, 0.5.1+), instead of now. The description tells the agent to use it when it finishes its work, so the workspace stops using RAM soon after. Its next tool call on the workspace cancels it; a running command or a keepalive postpones it. Returns `suspend_request` (`not_before`: the earliest suspend) and a `message`; `operation` when a suspend was already in progress. Not with `wait`. `workspace_status` shows a pending request as `workspace.suspend_request`. Not for file-first workspaces. |
|
|
242
242
|
| `workspace_fork` | Fork into `new_key`. |
|
|
243
243
|
| `operation_wait` | Keep waiting for an operation. |
|
|
244
244
|
| `usage_summary` | The organization's usage summary for the current period: meters, allowances with their cap state, `allowance_exhausted` with `exhausted_reason`, and (0.4.1+, an API with opt-in overage) `spend_cap`: the overage state, cap, charges, lines per allowance and the date the cap is projected to be reached. |
|
package/dist/server.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
|
3
3
|
import type { ClientVersionStatus, JsonSchema, LifecycleTiming, Operation, TemplateBuild, TemplateDetail, TemplateOwner, ToolName, WorkspaceMode, WorkspaceTool, WorkspaceView } from '@shardflux/sdk';
|
|
4
4
|
import type { McpConfig } from './config.js';
|
|
5
5
|
import type { ToolErrorInfo } from './errors.js';
|
|
6
|
-
export declare const MCP_SERVER_VERSION = "0.5.
|
|
6
|
+
export declare const MCP_SERVER_VERSION = "0.5.1";
|
|
7
7
|
/** The package this server is distributed as: its entry in GET /v1/client-versions (contracts §30.4). */
|
|
8
8
|
export declare const MCP_PACKAGE = "@shardflux/mcp";
|
|
9
9
|
export declare const ALL_TOOL_PERMISSIONS: readonly ToolName[];
|
package/dist/server.js
CHANGED
|
@@ -53,7 +53,7 @@ import { parse as parseYaml } from 'yaml';
|
|
|
53
53
|
import { DEFAULT_WAKE_TIMEOUT_MS } from "./config.js";
|
|
54
54
|
import { ToolError, describeToolError, redact } from "./errors.js";
|
|
55
55
|
import { makeFetch } from "./http.js";
|
|
56
|
-
export const MCP_SERVER_VERSION = '0.5.
|
|
56
|
+
export const MCP_SERVER_VERSION = '0.5.1';
|
|
57
57
|
/** The package this server is distributed as: its entry in GET /v1/client-versions (contracts §30.4). */
|
|
58
58
|
export const MCP_PACKAGE = '@shardflux/mcp';
|
|
59
59
|
const USER_AGENT = `shardflux-mcp/${MCP_SERVER_VERSION} shardflux-sdk-ts/${SDK_VERSION}`;
|
|
@@ -651,9 +651,9 @@ export function createShardfluxMcpServer(config, opts = {}) {
|
|
|
651
651
|
workspace_key: workspaceKeyProp(pinned),
|
|
652
652
|
after_seconds: {
|
|
653
653
|
type: 'integer',
|
|
654
|
-
minimum:
|
|
654
|
+
minimum: 0,
|
|
655
655
|
maximum: 3600,
|
|
656
|
-
description: 'Suspend once the workspace has been idle this many seconds (
|
|
656
|
+
description: 'Suspend once the workspace has been idle this many seconds (0-3600; 0 = as soon as it is idle) instead of now. Omit to suspend now.',
|
|
657
657
|
},
|
|
658
658
|
wait: { type: 'boolean', description: 'Wait until the suspend finishes (default false). Not with after_seconds.' },
|
|
659
659
|
}, keyRequired),
|
|
@@ -681,7 +681,7 @@ export function createShardfluxMcpServer(config, opts = {}) {
|
|
|
681
681
|
operation: r.operation ? summarizeOperation(r.operation) : null,
|
|
682
682
|
workspace: summarizeWorkspace(ws.data),
|
|
683
683
|
message: r.suspendRequest
|
|
684
|
-
? `Suspend scheduled: the workspace is suspended once it has been idle for ${r.suspendRequest.after_seconds} s (not before ${r.suspendRequest.not_before}). Your next tool call on it cancels this; a running command or keepalive postpones it.`
|
|
684
|
+
? `Suspend scheduled: the workspace is suspended ${r.suspendRequest.after_seconds === 0 ? 'as soon as it is idle' : `once it has been idle for ${r.suspendRequest.after_seconds} s`} (not before ${r.suspendRequest.not_before}). Your next tool call on it cancels this; a running command or keepalive postpones it.`
|
|
685
685
|
: `A suspend is already in progress (operation ${r.operation.id}, ${r.operation.state}); nothing was scheduled.`,
|
|
686
686
|
};
|
|
687
687
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardflux/mcp",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"mcpName": "dev.shardflux/mcp",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Shardflux MCP server (stdio): give Claude, Cursor, Codex or any MCP client persistent cloud workspaces to run commands, edit files, use git and a browser in. Uses your scoped Shardflux API key.",
|