mthds 0.10.0 → 0.12.0
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 +1 -1
- package/dist/agent/binaries.js +2 -2
- package/dist/agent/commands/api-commands.d.ts +17 -0
- package/dist/agent/commands/api-commands.js +67 -7
- package/dist/agent/commands/api-commands.js.map +1 -1
- package/dist/agent/commands/codex-hook.d.ts +59 -19
- package/dist/agent/commands/codex-hook.js +97 -41
- package/dist/agent/commands/codex-hook.js.map +1 -1
- package/dist/agent/output.d.ts +12 -0
- package/dist/agent/output.js +21 -0
- package/dist/agent/output.js.map +1 -1
- package/dist/agent/plugin-version.d.ts +1 -1
- package/dist/agent/plugin-version.js +1 -1
- package/dist/cli/commands/install.js +13 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/utils.d.ts +8 -0
- package/dist/cli/commands/utils.js +9 -0
- package/dist/cli/commands/utils.js.map +1 -1
- package/dist/cli/commands/validate.js +22 -2
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/protocol/models.d.ts +63 -8
- package/dist/protocol/models.js +1 -1
- package/dist/protocol/protocol.d.ts +13 -5
- package/dist/runners/api/client.d.ts +21 -5
- package/dist/runners/api/client.js +48 -14
- package/dist/runners/api/client.js.map +1 -1
- package/dist/runners/api/exceptions.d.ts +16 -1
- package/dist/runners/api/exceptions.js +16 -1
- package/dist/runners/api/exceptions.js.map +1 -1
- package/dist/runners/api/models.d.ts +107 -1
- package/dist/runners/pipelex/runner.d.ts +2 -2
- package/dist/runners/pipelex/runner.js +21 -3
- package/dist/runners/pipelex/runner.js.map +1 -1
- package/package.json +1 -1
- package/dist/agent/commands/validate.d.ts +0 -18
- package/dist/agent/commands/validate.js +0 -118
- package/dist/agent/commands/validate.js.map +0 -1
package/dist/agent/output.d.ts
CHANGED
|
@@ -21,9 +21,21 @@ export type AgentErrorDomain = (typeof AGENT_ERROR_DOMAINS)[keyof typeof AGENT_E
|
|
|
21
21
|
export declare const AGENT_ERROR_HINTS: Record<string, string>;
|
|
22
22
|
export type { BinaryRecoveryInfo };
|
|
23
23
|
export declare function agentSuccess(result: Record<string, unknown>): void;
|
|
24
|
+
/** Emit a server-rendered Markdown success to stdout (exit 0) — the `--format markdown` valid arm. */
|
|
25
|
+
export declare function agentMarkdownSuccess(markdown: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Emit a server-rendered Markdown failure to stderr + `process.exit(1)` — the
|
|
28
|
+
* `--format markdown` invalid arm (a produced negative verdict). Mirrors the
|
|
29
|
+
* local CLI, which writes the failure Markdown to stderr and exits non-zero.
|
|
30
|
+
*/
|
|
31
|
+
export declare function agentMarkdownError(markdown: string): never;
|
|
24
32
|
export declare function agentError(message: string, errorType: string, extras?: {
|
|
25
33
|
hint?: string;
|
|
26
34
|
error_domain?: AgentErrorDomain;
|
|
27
35
|
retryable?: boolean;
|
|
28
36
|
recovery?: BinaryRecoveryInfo;
|
|
37
|
+
/** Verdict discriminant on a validate failure — `false` rides the envelope (mirrors the Python agent CLI). */
|
|
38
|
+
is_valid?: boolean;
|
|
39
|
+
/** Structured per-error diagnostics on an invalid-bundle verdict (the `/validate` 200 InvalidReport arm). */
|
|
40
|
+
validation_errors?: unknown[];
|
|
29
41
|
}): never;
|
package/dist/agent/output.js
CHANGED
|
@@ -24,6 +24,7 @@ export const AGENT_ERROR_HINTS = {
|
|
|
24
24
|
ConfigError: "Run `mthds-agent config list` to see current configuration.",
|
|
25
25
|
RunnerError: "Check that the runner is properly configured.",
|
|
26
26
|
ValidationError: "Check the .mthds bundle for syntax or schema errors.",
|
|
27
|
+
ValidateBundleError: "The bundle is invalid — see validation_errors for the per-error diagnostics.",
|
|
27
28
|
InstallError: "Check the address and try again.",
|
|
28
29
|
PackageError: "Check the METHODS.toml file and try again.",
|
|
29
30
|
};
|
|
@@ -31,6 +32,20 @@ export const AGENT_ERROR_HINTS = {
|
|
|
31
32
|
export function agentSuccess(result) {
|
|
32
33
|
process.stdout.write(JSON.stringify(result, null, 2) + "\n");
|
|
33
34
|
}
|
|
35
|
+
// ── Markdown output (validate --format markdown) ──────────────────────
|
|
36
|
+
/** Emit a server-rendered Markdown success to stdout (exit 0) — the `--format markdown` valid arm. */
|
|
37
|
+
export function agentMarkdownSuccess(markdown) {
|
|
38
|
+
process.stdout.write(markdown.endsWith("\n") ? markdown : markdown + "\n");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Emit a server-rendered Markdown failure to stderr + `process.exit(1)` — the
|
|
42
|
+
* `--format markdown` invalid arm (a produced negative verdict). Mirrors the
|
|
43
|
+
* local CLI, which writes the failure Markdown to stderr and exits non-zero.
|
|
44
|
+
*/
|
|
45
|
+
export function agentMarkdownError(markdown) {
|
|
46
|
+
process.stderr.write(markdown.endsWith("\n") ? markdown : markdown + "\n");
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
34
49
|
// ── Error output ─────────────────────────────────────────────────────
|
|
35
50
|
export function agentError(message, errorType, extras) {
|
|
36
51
|
const payload = {
|
|
@@ -46,6 +61,12 @@ export function agentError(message, errorType, extras) {
|
|
|
46
61
|
if (extras?.recovery) {
|
|
47
62
|
payload.recovery = extras.recovery;
|
|
48
63
|
}
|
|
64
|
+
if (extras?.is_valid !== undefined) {
|
|
65
|
+
payload.is_valid = extras.is_valid;
|
|
66
|
+
}
|
|
67
|
+
if (extras?.validation_errors !== undefined) {
|
|
68
|
+
payload.validation_errors = extras.validation_errors;
|
|
69
|
+
}
|
|
49
70
|
// Remove undefined values for cleaner output
|
|
50
71
|
for (const key of Object.keys(payload)) {
|
|
51
72
|
if (payload[key] === undefined) {
|
package/dist/agent/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/agent/output.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC;AAKX,wEAAwE;AAExE,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,mBAAmB,EACjB,kEAAkE;IACpE,aAAa,EAAE,4CAA4C;IAC3D,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE,+CAA+C;IAC5D,eAAe,EAAE,sDAAsD;IACvE,YAAY,EAAE,kCAAkC;IAChD,YAAY,EACV,4CAA4C;CAC/C,CAAC;AAKF,wEAAwE;AAExE,MAAM,UAAU,YAAY,CAAC,MAA+B;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,UAAU,CACxB,OAAe,EACf,SAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/agent/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { BinaryCheckEntry } from "./update-cache.js";
|
|
13
13
|
/** Minimum plugin version this mthds-agent release requires. */
|
|
14
|
-
export declare const MIN_PLUGIN_VERSION = ">=0.
|
|
14
|
+
export declare const MIN_PLUGIN_VERSION = ">=0.14.0";
|
|
15
15
|
/** Keys in installed_plugins.json for the mthds plugin (prod and dev targets). */
|
|
16
16
|
export declare const PLUGIN_KEYS: readonly ["mthds@mthds-plugins", "mthds-dev@mthds-plugins"];
|
|
17
17
|
/** Path to Claude Code's installed plugins registry. */
|
|
@@ -15,7 +15,7 @@ import { homedir } from "node:os";
|
|
|
15
15
|
import semver from "semver";
|
|
16
16
|
// ── Constants ──────────────────────────────────────────────────────
|
|
17
17
|
/** Minimum plugin version this mthds-agent release requires. */
|
|
18
|
-
export const MIN_PLUGIN_VERSION = ">=0.
|
|
18
|
+
export const MIN_PLUGIN_VERSION = ">=0.14.0";
|
|
19
19
|
/** Keys in installed_plugins.json for the mthds plugin (prod and dev targets). */
|
|
20
20
|
export const PLUGIN_KEYS = [
|
|
21
21
|
"mthds@mthds-plugins",
|
|
@@ -152,10 +152,22 @@ export async function installMethod(options) {
|
|
|
152
152
|
}
|
|
153
153
|
valSpinner.start(`Validating ${method.name}...`);
|
|
154
154
|
try {
|
|
155
|
-
await runner.validate(contents);
|
|
155
|
+
const report = await runner.validate(contents);
|
|
156
|
+
if (report.is_valid === false) {
|
|
157
|
+
// A produced "invalid" verdict (the 200 InvalidReport arm) — surface the
|
|
158
|
+
// per-error diagnostics, not just the summary, so failures are debuggable.
|
|
159
|
+
valSpinner.stop(`Validation failed: ${method.name}`);
|
|
160
|
+
p.log.error(`${method.name}: ${report.message}`);
|
|
161
|
+
for (const item of report.validation_errors) {
|
|
162
|
+
p.log.error(` [${item.category}] ${item.message}`);
|
|
163
|
+
}
|
|
164
|
+
allValid = false;
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
156
167
|
valSpinner.stop(`Validated ${method.name}`);
|
|
157
168
|
}
|
|
158
169
|
catch (err) {
|
|
170
|
+
// A no-verdict condition (a local CLI runner raising, or a transport fault).
|
|
159
171
|
valSpinner.stop(`Validation failed: ${method.name}`);
|
|
160
172
|
p.log.error(`${method.name}: ${err.message}`);
|
|
161
173
|
allValid = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
export declare function maskApiKey(key: string): string;
|
|
2
2
|
import { PipelexRunner } from "../../runners/pipelex/runner.js";
|
|
3
|
+
import { MthdsApiClient } from "../../runners/api/client.js";
|
|
3
4
|
import type { Runner } from "../../runners/types.js";
|
|
4
5
|
export declare function isPipelexRunner(runner: Runner): runner is PipelexRunner;
|
|
6
|
+
/**
|
|
7
|
+
* Narrow to the concrete API client. The `mthds_sources` per-content attribution
|
|
8
|
+
* argument is a Pipelex-API extension (not part of the pure `MTHDSProtocol`), so
|
|
9
|
+
* reaching it requires the concrete client — this guard is the type-safe way to
|
|
10
|
+
* do that without polluting the protocol interface.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isApiRunner(runner: Runner): runner is MthdsApiClient;
|
|
5
13
|
/**
|
|
6
14
|
* Extract raw args after a given command keyword, filtering out
|
|
7
15
|
* --runner / -L / --library-dir (consumed by mthds, not forwarded).
|
|
@@ -9,6 +9,15 @@ import { Runners } from "../../runners/types.js";
|
|
|
9
9
|
export function isPipelexRunner(runner) {
|
|
10
10
|
return runner.type === Runners.PIPELEX;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Narrow to the concrete API client. The `mthds_sources` per-content attribution
|
|
14
|
+
* argument is a Pipelex-API extension (not part of the pure `MTHDSProtocol`), so
|
|
15
|
+
* reaching it requires the concrete client — this guard is the type-safe way to
|
|
16
|
+
* do that without polluting the protocol interface.
|
|
17
|
+
*/
|
|
18
|
+
export function isApiRunner(runner) {
|
|
19
|
+
return runner.type === Runners.API;
|
|
20
|
+
}
|
|
12
21
|
/**
|
|
13
22
|
* Extract raw args after a given command keyword, filtering out
|
|
14
23
|
* --runner / -L / --library-dir (consumed by mthds, not forwarded).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cli/commands/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,WAAW,CAAC;IAC7B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cli/commands/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,WAAW,CAAC;IAC7B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAID,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,SAAiB;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;QAC9B,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3E,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import * as p from "@clack/prompts";
|
|
3
3
|
import { printLogo } from "./index.js";
|
|
4
|
-
import { isPipelexRunner, extractPassthroughArgs } from "./utils.js";
|
|
4
|
+
import { isPipelexRunner, isApiRunner, extractPassthroughArgs } from "./utils.js";
|
|
5
5
|
import { createRunner } from "../../runners/registry.js";
|
|
6
6
|
async function validateWithPipelexPassthrough(introLabel, fallbackMsg, options) {
|
|
7
7
|
printLogo();
|
|
@@ -80,12 +80,32 @@ export async function validatePipe(target, options) {
|
|
|
80
80
|
const s = p.spinner();
|
|
81
81
|
s.start("Validating...");
|
|
82
82
|
try {
|
|
83
|
-
|
|
83
|
+
// Name the submitted file so cross-file diagnostics resolve the owning file.
|
|
84
|
+
// `mthds_sources` is a Pipelex-API extension carried only by the concrete
|
|
85
|
+
// client (not the pure protocol) — reach it through `isApiRunner`.
|
|
86
|
+
const report = isApiRunner(runner)
|
|
87
|
+
? await runner.validate([mthdsContent], false, [bundlePath])
|
|
88
|
+
: await runner.validate([mthdsContent]);
|
|
89
|
+
if (report.is_valid === false) {
|
|
90
|
+
// A produced "invalid" verdict (the 200 InvalidReport arm) — report the
|
|
91
|
+
// diagnostics and exit non-zero, rather than mistaking a 200 for success.
|
|
92
|
+
s.stop("Validation failed.");
|
|
93
|
+
p.log.error(report.message);
|
|
94
|
+
for (const item of report.validation_errors) {
|
|
95
|
+
// The server attributes `source` from `mthds_sources`; fall back to the
|
|
96
|
+
// path the user passed so a diagnostic always names its file.
|
|
97
|
+
const source = item.source ?? bundlePath;
|
|
98
|
+
p.log.error(`${source}: [${item.category}] ${item.message}`);
|
|
99
|
+
}
|
|
100
|
+
p.outro("");
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
84
103
|
s.stop("Validation passed.");
|
|
85
104
|
p.log.success("MTHDS content validated successfully");
|
|
86
105
|
p.outro("Done");
|
|
87
106
|
}
|
|
88
107
|
catch (err) {
|
|
108
|
+
// A no-verdict condition (a local CLI runner raising, or a transport fault).
|
|
89
109
|
s.stop("Validation failed.");
|
|
90
110
|
p.log.error(err.message);
|
|
91
111
|
p.outro("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { PipelineRequestError } from "./protocol/exceptions.js";
|
|
|
15
15
|
export { ApiResponseError, ApiUnreachableError, ClientAuthenticationError, PipelineExecuteTimeoutError, RunFailedError, RunTimeoutError, RunStillRunningError, RunLifecycleUnavailableError, } from "./runners/api/exceptions.js";
|
|
16
16
|
export type { RunRequest, StartRequest, RunOptions, StartOptions, ExtensionOptions, } from "./protocol/options.js";
|
|
17
17
|
export { MTHDS_PROTOCOL_VERSION, MODEL_CATEGORIES } from "./protocol/models.js";
|
|
18
|
-
export type { RunResultExecute, RunResultStart, ModelCategory, ModelInfo, ModelDeck, ValidationReport, VersionInfo, } from "./protocol/models.js";
|
|
18
|
+
export type { RunResultExecute, RunResultStart, ModelCategory, ModelInfo, ModelDeck, ValidationReport, ValidationError, InvalidValidationReport, ValidationResult, VersionInfo, } from "./protocol/models.js";
|
|
19
19
|
export type { VariableMultiplicity, PipeOutputAbstract } from "./protocol/pipe_output.js";
|
|
20
20
|
export type { StuffContentOrData, PipelineInputs } from "./protocol/pipeline_inputs.js";
|
|
21
21
|
export { conceptRef } from "./protocol/concept.js";
|
|
@@ -24,4 +24,4 @@ export type { StuffAbstract, StuffContentAbstract } from "./protocol/stuff.js";
|
|
|
24
24
|
export type { WorkingMemoryAbstract } from "./protocol/working_memory.js";
|
|
25
25
|
export { isTerminalRunStatus, isSuccessRunStatus } from "./runners/api/runs.js";
|
|
26
26
|
export type { RunStatus, RunPublic, RunRead, RunResults, RunResultState, WaitForResultOptions, } from "./runners/api/runs.js";
|
|
27
|
-
export type { DictStuff, DictWorkingMemory, DictPipeOutput, DictRunResultExecute, } from "./runners/api/models.js";
|
|
27
|
+
export type { DictStuff, DictWorkingMemory, DictPipeOutput, DictRunResultExecute, PipelexValidationReport, PipelexInvalidReport, PipelexValidationResult, ValidatedPipeEntry, DryRunStatus, ValidationErrorItem, ValidationErrorCategory, } from "./runners/api/models.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAK/E,wEAAwE;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAWrC,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAK/E,wEAAwE;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAWrC,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgBhF,yEAAyE;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKnD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* POST /execute : -> RunResultExecute (200: pipeline_run_id + pipe_output)
|
|
6
6
|
* POST /start : -> RunResultStart (202: pipeline_run_id only)
|
|
7
|
-
* POST /validate : ->
|
|
7
|
+
* POST /validate : -> ValidationResult (200: discriminated on `is_valid`)
|
|
8
8
|
* GET /models : -> ModelDeck
|
|
9
9
|
* GET /version : -> VersionInfo
|
|
10
10
|
*
|
|
@@ -67,17 +67,63 @@ export interface ModelDeck {
|
|
|
67
67
|
[extension: string]: unknown;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
* Verdict of `POST /validate` for a VALID bundle — the
|
|
70
|
+
* Verdict of `POST /validate` for a VALID bundle — the `is_valid: true` arm of
|
|
71
|
+
* the 200-diagnostic response union ({@link ValidationResult}).
|
|
71
72
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
73
|
+
* `/validate` is a diagnostic endpoint: every verdict it can produce — valid,
|
|
74
|
+
* invalid, or valid-but-not-runnable — rides a **200**, discriminated in the
|
|
75
|
+
* body on `is_valid`. Non-2xx is reserved for the cases where *no verdict could
|
|
76
|
+
* be produced* (a malformed request body, an `mthds_sources` length mismatch,
|
|
77
|
+
* auth, a server fault) — those surface as `ApiResponseError`. The protocol
|
|
78
|
+
* declares no further body fields; implementations may include their own
|
|
79
|
+
* artifacts (parsed structures, graphs, anything else), preserved here as
|
|
80
|
+
* extension fields.
|
|
76
81
|
*/
|
|
77
82
|
export interface ValidationReport {
|
|
78
|
-
/**
|
|
83
|
+
/** Discriminant of the valid arm of the 200 response union. */
|
|
84
|
+
is_valid: true;
|
|
85
|
+
/** Implementation extension fields (e.g. `bundle_blueprint`, `graph_spec`, `pipe_io_contracts`, `validated_pipes`, `pending_signatures`, `is_runnable`). */
|
|
79
86
|
[extension: string]: unknown;
|
|
80
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* One structured diagnostic on an invalid verdict. The protocol fixes only the
|
|
90
|
+
* neutral `category` + `message`; an implementation narrows `category` to its own
|
|
91
|
+
* closed vocabulary and adds locators (see the Pipelex `ValidationErrorItem`,
|
|
92
|
+
* which extends this with `source`, `pipe_code`, `field_name`, and friends).
|
|
93
|
+
*/
|
|
94
|
+
export interface ValidationError {
|
|
95
|
+
category: string;
|
|
96
|
+
message: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Verdict of `POST /validate` for an INVALID bundle — the `is_valid: false` arm
|
|
100
|
+
* of the 200 response union.
|
|
101
|
+
*
|
|
102
|
+
* An invalid bundle is the *successful product* of a diagnostic call, not a
|
|
103
|
+
* transport failure (the request was well-formed; the bundle was not), so it
|
|
104
|
+
* rides a **200**. The structural artifacts of a valid report do not exist when
|
|
105
|
+
* load/parse/wiring failed, so this arm carries only the per-error diagnostics
|
|
106
|
+
* plus the runnability facts.
|
|
107
|
+
*/
|
|
108
|
+
export interface InvalidValidationReport {
|
|
109
|
+
/** Discriminant of the invalid arm. */
|
|
110
|
+
is_valid: false;
|
|
111
|
+
/** Per-error diagnostics — non-empty on every invalid verdict (even a parse-level failure yields one residual item). */
|
|
112
|
+
validation_errors: ValidationError[];
|
|
113
|
+
/** Outstanding signatures (best-effort; empty when no library could be assembled). */
|
|
114
|
+
pending_signatures: string[];
|
|
115
|
+
/** An invalid bundle is never runnable. */
|
|
116
|
+
is_runnable: false;
|
|
117
|
+
/** Human-readable summary of the verdict. */
|
|
118
|
+
message: string;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* The discriminated 200 response of `POST /validate`, keyed on the mandatory
|
|
122
|
+
* `is_valid` field. A consumer pattern-matches that one field to learn the
|
|
123
|
+
* verdict — never inspecting a status code or catching an exception body. Only a
|
|
124
|
+
* *no-verdict* condition (non-2xx) throws.
|
|
125
|
+
*/
|
|
126
|
+
export type ValidationResult = ValidationReport | InvalidValidationReport;
|
|
81
127
|
/**
|
|
82
128
|
* Protocol + runner versions — `GET /version` (always public).
|
|
83
129
|
*
|
|
@@ -90,6 +136,15 @@ export interface ValidationReport {
|
|
|
90
136
|
export interface VersionInfo {
|
|
91
137
|
protocol_version: string;
|
|
92
138
|
runner_version?: string | null;
|
|
93
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* Implementation package version — the field clients gate capabilities on
|
|
141
|
+
* (e.g. the VS Code extension's `MIN_API_IMPLEMENTATION_VERSION`). An
|
|
142
|
+
* extension field (the protocol declares only `protocol_version` /
|
|
143
|
+
* `runner_version`), typed here as the one well-known extension so consumers
|
|
144
|
+
* gate on it without reaching through the untyped index signature. Absent on
|
|
145
|
+
* a runner that does not advertise it.
|
|
146
|
+
*/
|
|
147
|
+
implementation_version?: string;
|
|
148
|
+
/** Further implementation extension fields (e.g. `implementation`, `runtime_version`). */
|
|
94
149
|
[extension: string]: unknown;
|
|
95
150
|
}
|
package/dist/protocol/models.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* POST /execute : -> RunResultExecute (200: pipeline_run_id + pipe_output)
|
|
6
6
|
* POST /start : -> RunResultStart (202: pipeline_run_id only)
|
|
7
|
-
* POST /validate : ->
|
|
7
|
+
* POST /validate : -> ValidationResult (200: discriminated on `is_valid`)
|
|
8
8
|
* GET /models : -> ModelDeck
|
|
9
9
|
* GET /version : -> VersionInfo
|
|
10
10
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RunOptions, StartOptions } from "./options.js";
|
|
2
|
-
import type { ModelCategory, ModelDeck, RunResultExecute, RunResultStart,
|
|
2
|
+
import type { ModelCategory, ModelDeck, RunResultExecute, RunResultStart, ValidationResult, VersionInfo } from "./models.js";
|
|
3
3
|
/**
|
|
4
4
|
* The MTHDS Protocol — the contract every MTHDS runner implements. Exact
|
|
5
5
|
* mirror of `mthds/protocol/protocol.py` (`MTHDSProtocol`, generic in the
|
|
@@ -35,11 +35,19 @@ export interface MTHDSProtocol<PipeOutputT = unknown> {
|
|
|
35
35
|
/**
|
|
36
36
|
* Parse, validate, and dry-run an MTHDS bundle.
|
|
37
37
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* `/validate` is a diagnostic endpoint: it returns a {@link ValidationResult}
|
|
39
|
+
* discriminated on `is_valid` — the structural artifacts of a VALID bundle, or
|
|
40
|
+
* the `validation_errors[]` of an INVALID one. An invalid bundle is a produced
|
|
41
|
+
* verdict (a 200 on API runners), NOT a thrown error; only a *no-verdict*
|
|
42
|
+
* condition (a malformed request, auth, a server fault) throws. `allowSignatures`
|
|
43
|
+
* tolerates unimplemented pipe signatures (strict by default) — they surface as
|
|
44
|
+
* `pending_signatures` + `is_runnable`, never as an error.
|
|
45
|
+
*
|
|
46
|
+
* (A local CLI runner may instead raise on an invalid bundle rather than
|
|
47
|
+
* materialize the invalid arm — the union is the wire shape, not a guarantee
|
|
48
|
+
* that every runtime returns both arms.)
|
|
41
49
|
*/
|
|
42
|
-
validate(mthdsContents: string[], allowSignatures?: boolean): Promise<
|
|
50
|
+
validate(mthdsContents: string[], allowSignatures?: boolean): Promise<ValidationResult>;
|
|
43
51
|
/** The model deck this runner can route to, optionally filtered by category. */
|
|
44
52
|
models(category?: ModelCategory): Promise<ModelDeck>;
|
|
45
53
|
/** Protocol + implementation versions — the handshake for feature detection. */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseRunner } from "../base-runner.js";
|
|
2
2
|
import type { Runner, RunnerType, BuildInputsRequest, BuildOutputRequest, BuildRunnerRequest, BuildRunnerResponse, ConceptRequest, ConceptResponse, PipeSpecRequest, PipeSpecResponse } from "../types.js";
|
|
3
3
|
import type { RunOptions, StartOptions } from "../../protocol/options.js";
|
|
4
|
-
import type { ModelCategory, ModelDeck, RunResultStart,
|
|
5
|
-
import type { DictRunResultExecute } from "./models.js";
|
|
4
|
+
import type { ModelCategory, ModelDeck, RunResultStart, VersionInfo } from "../../protocol/models.js";
|
|
5
|
+
import type { DictRunResultExecute, PipelexValidationResult } from "./models.js";
|
|
6
6
|
import type { RunRead, RunResults, RunResultState, WaitForResultOptions } from "./runs.js";
|
|
7
7
|
interface MthdsApiClientOptions {
|
|
8
8
|
/** API token (Bearer). Falls back to `MTHDS_API_KEY`. Optional for anonymous bare runners. */
|
|
@@ -99,10 +99,26 @@ export declare class MthdsApiClient extends BaseRunner implements Runner {
|
|
|
99
99
|
/**
|
|
100
100
|
* Parse, validate, and dry-run an MTHDS bundle — `POST /v1/validate`.
|
|
101
101
|
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
102
|
+
* `/validate` is a diagnostic endpoint: every produced verdict rides a **200**,
|
|
103
|
+
* discriminated on `is_valid`. This returns the `PipelexValidationResult` union
|
|
104
|
+
* verbatim — `is_valid: true` ⇒ the typed `PipelexValidationReport` (structural
|
|
105
|
+
* artifacts), `is_valid: false` ⇒ a `PipelexInvalidReport` (`validation_errors[]`).
|
|
106
|
+
* An invalid bundle is NOT thrown — the caller pattern-matches `is_valid`. Only a
|
|
107
|
+
* *no-verdict* condition (a malformed request, an `mthds_sources` length mismatch,
|
|
108
|
+
* auth, a server fault) is non-2xx and surfaces as `ApiResponseError`.
|
|
109
|
+
*
|
|
110
|
+
* `mthdsSources` (optional, parallel to `mthdsContents`) names each submitted
|
|
111
|
+
* content — a Pipelex-API extension threaded onto `blueprint.source`, so
|
|
112
|
+
* cross-file diagnostics name the owning file (an unnamed content yields
|
|
113
|
+
* `source: null`). The server 422s a length mismatch; this client sends the
|
|
114
|
+
* arrays verbatim and surfaces that as an `ApiResponseError`.
|
|
115
|
+
*
|
|
116
|
+
* `render` (optional) is the opt-in Pipelex-API presentation hint — a list of
|
|
117
|
+
* view-format tokens (e.g. `["markdown"]`). When set, the 200 body gains a
|
|
118
|
+
* `rendered_markdown` field on both verdict arms; unknown tokens are server-side
|
|
119
|
+
* lenient-ignored (never a 422). Omit it for the lean structured-only response.
|
|
104
120
|
*/
|
|
105
|
-
validate(mthdsContents: string[], allowSignatures?: boolean): Promise<
|
|
121
|
+
validate(mthdsContents: string[], allowSignatures?: boolean, mthdsSources?: string[], render?: string[]): Promise<PipelexValidationResult>;
|
|
106
122
|
/** The model deck the runner can route to — `GET /v1/models[?type=]`. */
|
|
107
123
|
models(category?: ModelCategory): Promise<ModelDeck>;
|
|
108
124
|
/**
|
|
@@ -160,8 +160,8 @@ export class MthdsApiClient extends BaseRunner {
|
|
|
160
160
|
return this.requestJson("POST", this.url(path), body);
|
|
161
161
|
}
|
|
162
162
|
throwApiResponseError(method, endpoint, res) {
|
|
163
|
-
const { errorType, serverMessage } = parseErrorBody(res.body);
|
|
164
|
-
throw new ApiResponseError(`API ${method} /${API_PREFIX}/${endpoint} failed (${res.status}): ${serverMessage ?? (res.body || res.statusText)}`, this.baseUrl, res.status, res.statusText, res.body, errorType, serverMessage);
|
|
163
|
+
const { errorType, serverMessage, validationErrors } = parseErrorBody(res.body);
|
|
164
|
+
throw new ApiResponseError(`API ${method} /${API_PREFIX}/${endpoint} failed (${res.status}): ${serverMessage ?? (res.body || res.statusText)}`, this.baseUrl, res.status, res.statusText, res.body, errorType, serverMessage, validationErrors);
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
167
|
* Translate a "route absent" 404 (a bare pipelex-api with no platform block)
|
|
@@ -300,13 +300,37 @@ export class MthdsApiClient extends BaseRunner {
|
|
|
300
300
|
/**
|
|
301
301
|
* Parse, validate, and dry-run an MTHDS bundle — `POST /v1/validate`.
|
|
302
302
|
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
303
|
+
* `/validate` is a diagnostic endpoint: every produced verdict rides a **200**,
|
|
304
|
+
* discriminated on `is_valid`. This returns the `PipelexValidationResult` union
|
|
305
|
+
* verbatim — `is_valid: true` ⇒ the typed `PipelexValidationReport` (structural
|
|
306
|
+
* artifacts), `is_valid: false` ⇒ a `PipelexInvalidReport` (`validation_errors[]`).
|
|
307
|
+
* An invalid bundle is NOT thrown — the caller pattern-matches `is_valid`. Only a
|
|
308
|
+
* *no-verdict* condition (a malformed request, an `mthds_sources` length mismatch,
|
|
309
|
+
* auth, a server fault) is non-2xx and surfaces as `ApiResponseError`.
|
|
310
|
+
*
|
|
311
|
+
* `mthdsSources` (optional, parallel to `mthdsContents`) names each submitted
|
|
312
|
+
* content — a Pipelex-API extension threaded onto `blueprint.source`, so
|
|
313
|
+
* cross-file diagnostics name the owning file (an unnamed content yields
|
|
314
|
+
* `source: null`). The server 422s a length mismatch; this client sends the
|
|
315
|
+
* arrays verbatim and surfaces that as an `ApiResponseError`.
|
|
316
|
+
*
|
|
317
|
+
* `render` (optional) is the opt-in Pipelex-API presentation hint — a list of
|
|
318
|
+
* view-format tokens (e.g. `["markdown"]`). When set, the 200 body gains a
|
|
319
|
+
* `rendered_markdown` field on both verdict arms; unknown tokens are server-side
|
|
320
|
+
* lenient-ignored (never a 422). Omit it for the lean structured-only response.
|
|
305
321
|
*/
|
|
306
|
-
async validate(mthdsContents, allowSignatures = false) {
|
|
307
|
-
const
|
|
308
|
-
|
|
309
|
-
|
|
322
|
+
async validate(mthdsContents, allowSignatures = false, mthdsSources, render) {
|
|
323
|
+
const body = {
|
|
324
|
+
mthds_contents: mthdsContents,
|
|
325
|
+
allow_signatures: allowSignatures,
|
|
326
|
+
};
|
|
327
|
+
if (mthdsSources !== undefined) {
|
|
328
|
+
body.mthds_sources = mthdsSources;
|
|
329
|
+
}
|
|
330
|
+
if (render !== undefined && render.length > 0) {
|
|
331
|
+
body.render = render;
|
|
332
|
+
}
|
|
333
|
+
const res = await this.requestRaw("POST", this.url("validate"), { body });
|
|
310
334
|
if (res.status < 200 || res.status >= 300) {
|
|
311
335
|
this.throwApiResponseError("POST", "validate", res);
|
|
312
336
|
}
|
|
@@ -614,21 +638,24 @@ function extractRunStatusFromMessage(message) {
|
|
|
614
638
|
/**
|
|
615
639
|
* The API serializes errors as `{"detail": {"error_type": ..., "message": ...}}`
|
|
616
640
|
* (HTTPException with dict detail) or `{"detail": "..."}` (auth 401s and RFC
|
|
617
|
-
* 7807 problems). Both shapes are extracted here.
|
|
618
|
-
*
|
|
641
|
+
* 7807 problems). Both shapes are extracted here. An invalid-bundle 422 problem
|
|
642
|
+
* additionally carries a top-level `validation_errors[]` list (the
|
|
643
|
+
* `ValidateBundleError` extension projected onto the envelope). Falls through
|
|
644
|
+
* silently on non-JSON bodies.
|
|
619
645
|
*/
|
|
620
646
|
function parseErrorBody(body) {
|
|
647
|
+
const empty = { errorType: undefined, serverMessage: undefined, validationErrors: undefined };
|
|
621
648
|
if (!body)
|
|
622
|
-
return
|
|
649
|
+
return empty;
|
|
623
650
|
let parsed;
|
|
624
651
|
try {
|
|
625
652
|
parsed = JSON.parse(body);
|
|
626
653
|
}
|
|
627
654
|
catch {
|
|
628
|
-
return
|
|
655
|
+
return empty;
|
|
629
656
|
}
|
|
630
657
|
if (!parsed || typeof parsed !== "object") {
|
|
631
|
-
return
|
|
658
|
+
return empty;
|
|
632
659
|
}
|
|
633
660
|
const root = parsed;
|
|
634
661
|
const detail = root.detail;
|
|
@@ -648,6 +675,13 @@ function parseErrorBody(body) {
|
|
|
648
675
|
errorType = root.error_type;
|
|
649
676
|
if (serverMessage === undefined && typeof root.message === "string")
|
|
650
677
|
serverMessage = root.message;
|
|
651
|
-
|
|
678
|
+
// `validation_errors` rides the problem envelope as a top-level array (the
|
|
679
|
+
// VERBOSE projection of `ErrorReport.validation_errors`, retained under STRICT
|
|
680
|
+
// too — it describes the caller's own bundle, not server internals). Kept as a
|
|
681
|
+
// shallow array guard; per-item shape is the typed `ValidationErrorItem` contract.
|
|
682
|
+
const validationErrors = Array.isArray(root.validation_errors)
|
|
683
|
+
? root.validation_errors
|
|
684
|
+
: undefined;
|
|
685
|
+
return { errorType, serverMessage, validationErrors };
|
|
652
686
|
}
|
|
653
687
|
//# sourceMappingURL=client.js.map
|