@henols/vice-mcp 0.1.6 → 0.1.7
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/package.json +1 -1
- package/repo-root.ts +1 -1
- package/vice-probe.ts +1 -1
- package/vice-proxy.ts +6 -6
- package/vice.ts +1 -1
package/package.json
CHANGED
package/repo-root.ts
CHANGED
|
@@ -95,7 +95,7 @@ function isInside(child: string, parent: string): boolean {
|
|
|
95
95
|
* below are unchanged.
|
|
96
96
|
* 1. `env.CONTAINER_WORKSPACE_PATH`, when set AND `from` resolves inside
|
|
97
97
|
* it -- this devcontainer sets it (`.devcontainer/devcontainer.json`'s
|
|
98
|
-
* `containerEnv`, value `/workspaces/
|
|
98
|
+
* `containerEnv`, value `/workspaces/c64-project`), and it is the most
|
|
99
99
|
* explicit signal available.
|
|
100
100
|
* 2. Otherwise, walk up from `from` toward the filesystem root, returning
|
|
101
101
|
* the first directory containing a `.git` entry (`existsSync` on the
|
package/vice-probe.ts
CHANGED
|
@@ -171,7 +171,7 @@ export async function probeInstance({
|
|
|
171
171
|
params: {
|
|
172
172
|
protocolVersion: "2024-11-05",
|
|
173
173
|
capabilities: {},
|
|
174
|
-
clientInfo: { name: "
|
|
174
|
+
clientInfo: { name: "vice-probe", version: "1.0" },
|
|
175
175
|
},
|
|
176
176
|
});
|
|
177
177
|
if (!initRes.ok) {
|
package/vice-proxy.ts
CHANGED
|
@@ -202,7 +202,7 @@ function isPlainObject(value: unknown): value is Record<string, unknown> {
|
|
|
202
202
|
// which already executed by the time this file's own body starts, but every
|
|
203
203
|
// subsequent async operation this file performs is covered.
|
|
204
204
|
//
|
|
205
|
-
// There are TWO correct exit paths, not one (spike-findings
|
|
205
|
+
// There are TWO correct exit paths, not one (spike-findings
|
|
206
206
|
// skill, shutdown-and-lease-release.md): a graceful client shutdown
|
|
207
207
|
// delivers SIGINT first (then SIGTERM ~100ms later, then SIGKILL at
|
|
208
208
|
// ~490ms) and never closes stdin; an abrupt client death closes stdin
|
|
@@ -262,7 +262,7 @@ const OUTPUT_CHAR_CAP: number = (() => {
|
|
|
262
262
|
//
|
|
263
263
|
// D-1.2-H (plan 01.2-03 task 2). MAX_MCP_OUTPUT_TOKENS genuinely governs
|
|
264
264
|
// the CLIENT's own inline-response ceiling (measured at 40-60KB --
|
|
265
|
-
// spike-findings
|
|
265
|
+
// spike-findings skill, large-response-chunking.md -- about half
|
|
266
266
|
// the design's original ~100KB assumption; a 64K RAM read is ~192KB as
|
|
267
267
|
// hex, far above either figure). It is read from the client's own process
|
|
268
268
|
// environment, set via `.claude/settings.json`'s `env` block, which this
|
|
@@ -1493,7 +1493,7 @@ function brokerLaunchFailedMessage(reason: string): string {
|
|
|
1493
1493
|
/** State: the broker is alive and a request was written, but neither a
|
|
1494
1494
|
* grant nor a denial appeared before pollGrant()'s own deadline -- an
|
|
1495
1495
|
* explicit warming-and-retry result, never a silent hang. A cold x64sc
|
|
1496
|
-
* launch plus boot plus readiness is seconds (spike-findings
|
|
1496
|
+
* launch plus boot plus readiness is seconds (spike-findings
|
|
1497
1497
|
* skill), well inside the client's own per-server timeout (.mcp.json's
|
|
1498
1498
|
* `timeout` field, task 2), so the correct next action is simply to retry
|
|
1499
1499
|
* the SAME call, not to treat this as a failure requiring a different fix. */
|
|
@@ -1693,7 +1693,7 @@ class PathTranslationError extends Error {}
|
|
|
1693
1693
|
// The boundary check MUST run against a normalized path, never the raw
|
|
1694
1694
|
// string. `startsWith(root)` on an unnormalized value is satisfied by any
|
|
1695
1695
|
// string that merely begins with the root's characters, so a lexical `..`
|
|
1696
|
-
// sequence -- "/workspaces/
|
|
1696
|
+
// sequence -- "/workspaces/c64-project/../../../etc/passwd" -- passes a raw
|
|
1697
1697
|
// prefix test and is then handed to hostPath(), which does NOT refuse it:
|
|
1698
1698
|
// when relative() normalizes to a leading "..", hostpath.mjs deliberately
|
|
1699
1699
|
// falls through to generic mount-based translation instead of throwing (its
|
|
@@ -1985,7 +1985,7 @@ function handleResultContinue(args: Record<string, unknown>): ToolCallResult {
|
|
|
1985
1985
|
//
|
|
1986
1986
|
// On-demand acquisition (Phase 01.2): deferred to the FIRST forwarded
|
|
1987
1987
|
// tools/call, never to initialize/tools/list, matching the measured "spawn
|
|
1988
|
-
// is eager, acquisition must not be" finding (spike-findings
|
|
1988
|
+
// is eager, acquisition must not be" finding (spike-findings
|
|
1989
1989
|
// skill, proxy-lifecycle-and-process-identity.md) -- a session that never
|
|
1990
1990
|
// forwards a call never asks the broker for anything (C3).
|
|
1991
1991
|
//
|
|
@@ -2841,7 +2841,7 @@ async function forwardToVice(name: string, args: Record<string, unknown>): Promi
|
|
|
2841
2841
|
|
|
2842
2842
|
// -------------------------------------------------------------- teardown
|
|
2843
2843
|
//
|
|
2844
|
-
// TWO ladders, not one, firing DIFFERENT handlers (spike-findings
|
|
2844
|
+
// TWO ladders, not one, firing DIFFERENT handlers (spike-findings
|
|
2845
2845
|
// skill, shutdown-and-lease-release.md -- measured, not assumed): a
|
|
2846
2846
|
// graceful client ending delivers SIGINT first, then SIGTERM ~100ms later,
|
|
2847
2847
|
// then SIGKILL at ~490ms total, and NEVER closes stdin. Abrupt client death
|
package/vice.ts
CHANGED
|
@@ -386,7 +386,7 @@ async function ensureInitialized(): Promise<void> {
|
|
|
386
386
|
await rpc("initialize", {
|
|
387
387
|
protocolVersion: "2024-11-05",
|
|
388
388
|
capabilities: {},
|
|
389
|
-
clientInfo: { name: "
|
|
389
|
+
clientInfo: { name: "vice-recover", version: "1.0" },
|
|
390
390
|
});
|
|
391
391
|
initialized = true;
|
|
392
392
|
}
|