harness-mcp-v2 3.2.28 → 3.2.30
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 +19 -8
- package/build/client/typesafe-client.d.ts +46 -0
- package/build/client/typesafe-client.d.ts.map +1 -0
- package/build/client/typesafe-client.js +87 -0
- package/build/client/typesafe-client.js.map +1 -0
- package/build/config.d.ts +15 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +24 -0
- package/build/config.js.map +1 -1
- package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
- package/build/data/schemas/v0/pipeline.js +32 -0
- package/build/data/schemas/v0/pipeline.js.map +1 -1
- package/build/data/schemas/v0/template.d.ts.map +1 -1
- package/build/data/schemas/v0/template.js +32 -0
- package/build/data/schemas/v0/template.js.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/prompts/debug-pipeline.d.ts.map +1 -1
- package/build/prompts/debug-pipeline.js +1 -0
- package/build/prompts/debug-pipeline.js.map +1 -1
- package/build/registry/extractors.d.ts +22 -0
- package/build/registry/extractors.d.ts.map +1 -1
- package/build/registry/extractors.js +85 -0
- package/build/registry/extractors.js.map +1 -1
- package/build/registry/toolsets/access-control.d.ts.map +1 -1
- package/build/registry/toolsets/access-control.js +199 -36
- package/build/registry/toolsets/access-control.js.map +1 -1
- package/build/registry/toolsets/ccm.d.ts.map +1 -1
- package/build/registry/toolsets/ccm.js +372 -2
- package/build/registry/toolsets/ccm.js.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.js +1 -1
- package/build/registry/toolsets/chaos.js +1 -1
- package/build/registry/toolsets/chaos.js.map +1 -1
- package/build/registry/toolsets/pipelines.d.ts.map +1 -1
- package/build/registry/toolsets/pipelines.js +247 -21
- package/build/registry/toolsets/pipelines.js.map +1 -1
- package/build/registry/toolsets/pull-requests.d.ts.map +1 -1
- package/build/registry/toolsets/pull-requests.js +134 -5
- package/build/registry/toolsets/pull-requests.js.map +1 -1
- package/build/tools/diagnose/pipeline.d.ts.map +1 -1
- package/build/tools/diagnose/pipeline.js +41 -3
- package/build/tools/diagnose/pipeline.js.map +1 -1
- package/build/tools/harness-diagnose.js +1 -1
- package/build/tools/harness-diagnose.js.map +1 -1
- package/build/tools/harness-execute.d.ts.map +1 -1
- package/build/tools/harness-execute.js +29 -56
- package/build/tools/harness-execute.js.map +1 -1
- package/build/utils/diagnose-triage.d.ts +39 -0
- package/build/utils/diagnose-triage.d.ts.map +1 -0
- package/build/utils/diagnose-triage.js +91 -0
- package/build/utils/diagnose-triage.js.map +1 -0
- package/build/utils/url-parser.d.ts.map +1 -1
- package/build/utils/url-parser.js +2 -0
- package/build/utils/url-parser.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://mcptoplist.com/server/glama%2Fharness%2Fmcp-server)
|
|
4
4
|
|
|
5
|
-
An MCP (Model Context Protocol) server that gives AI agents full access to the Harness.io platform through 11 consolidated tools and
|
|
5
|
+
An MCP (Model Context Protocol) server that gives AI agents full access to the Harness.io platform through 11 consolidated tools and 251 resource types.
|
|
6
6
|
|
|
7
7
|
## Why Use This MCP Server
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Most MCP servers map one tool per API endpoint. For a platform as broad as Harne
|
|
|
10
10
|
|
|
11
11
|
This server is built differently:
|
|
12
12
|
|
|
13
|
-
- **11 tools,
|
|
13
|
+
- **11 tools, 251 resource types.** A registry-based dispatch system routes `harness_list`, `harness_get`, `harness_create`, etc. to any Harness resource — pipelines, services, environments, orgs, projects, feature flags, cost data, and more. The LLM picks from 11 tools instead of hundreds.
|
|
14
14
|
- **Full platform coverage.** 41 default toolsets spanning CI/CD, GitOps, Feature Flags, Cloud Cost Management, Security Testing, Chaos Engineering, Database DevOps, Internal Developer Portal, Software Supply Chain, Infrastructure as Code Management, Release Management, Governance, Service Overrides, Knowledge Graph, and more. Opt-in Ansible and observability-evaluation coverage is available when needed.
|
|
15
15
|
- **Multi-project workflows out of the box.** Agents discover organizations and projects dynamically — no hardcoded env vars needed. Ask "show failed executions across all projects" and the agent can navigate the full account hierarchy.
|
|
16
16
|
- **35 prompt templates.** Pre-built prompts for common workflows: build & deploy apps end-to-end, debug failed pipelines, review DORA metrics, triage vulnerabilities, optimize cloud costs, audit access control, plan feature flag rollouts, review pull requests, approve pending pipelines, and more.
|
|
@@ -589,6 +589,8 @@ The server automatically loads environment variables from a `.env` file in the p
|
|
|
589
589
|
| `HARNESS_MCP_OAUTH_SCOPES` | No | `openid profile email organization` | Space-separated scopes advertised in RFC 9728 protected-resource metadata |
|
|
590
590
|
| `HARNESS_FME_API_KEY` | No | -- | Optional single-user/self-hosted FME/Split Admin credential used for `fme_` resources in **legacy (`workspace_id`) mode only**. Legacy FME is unavailable in OAuth mode so HarnessID tokens are never sent to `api.split.io`; use Harness-native `org_id`+`project_id` scope instead. Must not be set in `multi-user` or `oauth` mode |
|
|
591
591
|
| `HARNESS_FME_BASE_URL` | No | `https://api.split.io` | Split/FME Admin API base URL used by `fme_` resources in **legacy (`workspace_id`) mode only**. HTTP URLs require `HARNESS_ALLOW_HTTP=true` for local development. Harness-native (`org_id`+`project_id`) mode ignores this and uses the standard `HARNESS_API_KEY`/`HARNESS_BASE_URL` instead |
|
|
592
|
+
| `TYPESAFE_API_KEY` | No | -- | TypeSafe API key (`api.typesafe.ai`) enabling advisory failure-category triage in `harness_diagnose`. Operator-configured single-user credential — rejected in `multi-user`/`oauth` mode because triage egresses failure messages and fetched log snippets to the TypeSafe API on behalf of every session |
|
|
593
|
+
| `TYPESAFE_BASE_URL` | No | `https://api.typesafe.ai` | TypeSafe API base URL override. HTTP URLs require `HARNESS_ALLOW_HTTP=true` for local development |
|
|
592
594
|
| `HARNESS_ORG` | No | -- | Organization ID. Used when `org_id` is not specified per tool call. If omitted, `org_id` must be provided explicitly. Agents can also discover orgs dynamically via `harness_list(resource_type="organization")` |
|
|
593
595
|
| `HARNESS_PROJECT` | No | -- | Project ID. Used when `project_id` is not specified per tool call. Agents can also discover projects dynamically via `harness_list(resource_type="project")` |
|
|
594
596
|
| `HARNESS_API_TIMEOUT_MS` | No | `30000` | HTTP request timeout in milliseconds |
|
|
@@ -619,6 +621,9 @@ The server automatically loads environment variables from a `.env` file in the p
|
|
|
619
621
|
| `HARNESS_SEARCH_SERVICE_HEADERS` | No | -- | JSON object of headers sent with every request to the remote search service. Supports any auth scheme: `{"Authorization":"Bearer tok"}`, `{"x-api-key":"key"}`, or multiple internal service-to-service headers |
|
|
620
622
|
| `HARNESS_HF_CACHE_DIR` | No | `/tmp/hf-cache` | Directory for the `@huggingface/transformers` model cache used by the `local` search provider. The Docker image pre-bakes the model into `/app/.cache/hf` to avoid runtime downloads. Set to a persistent volume path in production deployments |
|
|
621
623
|
| `HARNESS_DIAGNOSE_LOG_FETCH_CONCURRENCY` | No | `3` | Max concurrent log-blob downloads issued by `harness_diagnose` when fetching logs for failed steps. Increase only if diagnose latency is dominated by log-fetch wall-clock and the pod has memory headroom |
|
|
624
|
+
| `HARNESS_DIAGNOSE_TRIAGE` | No | `true` | Advisory per-step failure-category classification in `harness_diagnose` responses. Requires `TYPESAFE_API_KEY`; silently omits `triage` when the key is absent, the flag is off, or classification times out, errors, or is low-confidence |
|
|
625
|
+
| `HARNESS_DIAGNOSE_TRIAGE_MIN_CONFIDENCE` | No | `0.6` | Minimum classifier confidence (0-1) for a step's triage entry to be included; below this the entry is omitted |
|
|
626
|
+
| `HARNESS_DIAGNOSE_TRIAGE_TIMEOUT_MS` | No | `400` | Per-step classifier call timeout; a timeout omits that step's triage entry, never errors |
|
|
622
627
|
|
|
623
628
|
|
|
624
629
|
### Semantic Search
|
|
@@ -722,7 +727,7 @@ Current multi-scope resources include `connector`, `service`, `environment`, `in
|
|
|
722
727
|
| `harness_delete` | Delete a resource. Prompts for user confirmation via [elicitation](#elicitation). Destructive. |
|
|
723
728
|
| `harness_execute` | Execute an action on a resource (run/retry pipeline, import pipeline from Git, toggle flag, sync app). Prompts for user confirmation via [elicitation](#elicitation). For pipeline runs, use the runtime-input workflow below (supports `branch`/`tag`/`pr_number`/`commit_sha` shorthand expansion). |
|
|
724
729
|
| `harness_search` | Search across Harness resource types with a single query. Uses semantic routing (local `all-MiniLM-L6-v2` ONNX embeddings, 384-dim) to predict relevant resource types from a `knowledge` corpus indexed at startup — typically narrowing from ~163 types to 1–8 before scatter-gather. Falls back to full keyword scatter-gather when semantic confidence is low. Response includes `semantic_routed` and `types_skipped` when routing fires. See `docs/search-guidelines.md` for how to make new resource types discoverable. |
|
|
725
|
-
| `harness_diagnose` | Diagnose `pipeline`, `connector`, `delegate`, and `gitops_application` resources (aliases: `execution` -> `pipeline`, `gitops_app` -> `gitops_application`). For pipelines, returns stage/step timing and failure details; for connectors/delegates/GitOps apps, returns targeted health and troubleshooting signals. |
|
|
730
|
+
| `harness_diagnose` | Diagnose `pipeline`, `connector`, `delegate`, and `gitops_application` resources (aliases: `execution` -> `pipeline`, `gitops_app` -> `gitops_application`). For pipelines, returns stage/step timing and failure details; for connectors/delegates/GitOps apps, returns targeted health and troubleshooting signals. When `TYPESAFE_API_KEY` is set, pipeline failures also include an advisory per-step `triage` field (failure category + confidence). |
|
|
726
731
|
| `harness_status` | Get a real-time project health dashboard — recent executions, failure rates, and deep links. |
|
|
727
732
|
|
|
728
733
|
|
|
@@ -938,7 +943,7 @@ For v0 pipelines, use this sequence to reduce execution-time input errors:
|
|
|
938
943
|
- **Constraint:** shorthand expansion is skipped when `inputs.build` is already present (explicit `build` wins).
|
|
939
944
|
3. **Execute the run**
|
|
940
945
|
- `harness_execute(resource_type="pipeline", action="run", resource_id="<pipeline_id>", ...)`
|
|
941
|
-
- For Git-backed pipelines whose YAML should be loaded from a non-default branch, pass `params.pipeline_branch` (sent to Harness as `
|
|
946
|
+
- For Git-backed pipelines whose YAML should be loaded from a non-default branch, pass `params.pipeline_branch` (sent to Harness as `branch`). This explicit definition selector takes precedence over the `params.branch` alias. `inputs.branch` independently selects the CI codebase branch:
|
|
942
947
|
|
|
943
948
|
```json
|
|
944
949
|
{
|
|
@@ -1261,7 +1266,7 @@ Harness pipelines can be stored in three ways:
|
|
|
1261
1266
|
|
|
1262
1267
|
## Resource Types
|
|
1263
1268
|
|
|
1264
|
-
|
|
1269
|
+
251 resource types organized across 41 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.
|
|
1265
1270
|
|
|
1266
1271
|
### Platform
|
|
1267
1272
|
|
|
@@ -1549,6 +1554,8 @@ Use `harness_execute(resource_type="pull_request", action="close", ...)` for an
|
|
|
1549
1554
|
|
|
1550
1555
|
Use `harness_list(resource_type="pr_activity", filters={type: ["comment", "code-comment"]}, ...)` to read PR comments. Use `pr_comment` for comment write operations.
|
|
1551
1556
|
|
|
1557
|
+
To add a reviewer, prefer `harness_create(resource_type="pr_reviewer", body={ reviewer_email: "<email from harness_list user>" })`. A numeric `reviewer_id` from `harness_list(resource_type="pr_reviewer")` also works.
|
|
1558
|
+
|
|
1552
1559
|
|
|
1553
1560
|
### Release Management
|
|
1554
1561
|
|
|
@@ -1753,6 +1760,10 @@ In single-user/self-hosted mode, legacy-mode auth uses a Bearer token from `HARN
|
|
|
1753
1760
|
| `cost_recommendation_stats` | | x | | | | |
|
|
1754
1761
|
| `cost_recommendation_detail` | | x | | | | |
|
|
1755
1762
|
| `cost_commitment` | | x | | | | |
|
|
1763
|
+
| `ai_budget` | x | x | x | x | x | |
|
|
1764
|
+
| `ai_budget_overview` | | x | | | | |
|
|
1765
|
+
| `ai_budget_consumption` | x | | | | | |
|
|
1766
|
+
| `ai_budget_override_request` | x | x | x | | | `approve`, `reject` |
|
|
1756
1767
|
|
|
1757
1768
|
|
|
1758
1769
|
### Software Engineering Insights (SEI)
|
|
@@ -1828,7 +1839,7 @@ Security exemption execute workflow:
|
|
|
1828
1839
|
| Resource Type | List | Get | Create | Update | Delete | Execute Actions |
|
|
1829
1840
|
| ----------------- | ---- | --- | ------ | ------ | ------ | --------------- |
|
|
1830
1841
|
| `user` | x | x | | | | |
|
|
1831
|
-
| `user_group` | x | x | x |
|
|
1842
|
+
| `user_group` | x | x | x | x | x | |
|
|
1832
1843
|
| `service_account` | x | x | x | | x | |
|
|
1833
1844
|
| `role` | x | x | x | | x | |
|
|
1834
1845
|
| `role_assignment` | x | | x | | | |
|
|
@@ -2053,7 +2064,7 @@ Available toolset names:
|
|
|
2053
2064
|
+--------v---------+
|
|
2054
2065
|
| Registry | <-- Declarative resource definitions
|
|
2055
2066
|
| 45 Toolsets (41 default) |
|
|
2056
|
-
|
|
|
2067
|
+
| 251 Resource Types|
|
|
2057
2068
|
+--------+---------+
|
|
2058
2069
|
|
|
|
2059
2070
|
+--------v---------+
|
|
@@ -2353,7 +2364,7 @@ The Harness MCP server pairs well with **[Harness Skills](https://github.com/har
|
|
|
2353
2364
|
| `Read-only mode is enabled ... operations are not allowed` | `HARNESS_READ_ONLY=true` blocks create/update/delete/execute | Set `HARNESS_READ_ONLY=false` if write operations are intended |
|
|
2354
2365
|
| Pipeline run fails pre-flight with unresolved required inputs | Provided `inputs` did not cover required runtime placeholders | Fetch `runtime_input_template`, supply missing simple keys, or use `input_set_ids` for structural inputs |
|
|
2355
2366
|
| Pipeline CI shorthand (`branch`, `tag`, `pr_number`, `commit_sha`) did not apply | `inputs.build` was already provided, so shorthand expansion was intentionally skipped | Remove `inputs.build` to use shorthand expansion, or keep full explicit `build` structure |
|
|
2356
|
-
| Pipeline run loaded the wrong YAML revision | The pipeline definition is stored in Git and the run did not specify the desired pipeline branch | Pass `params.pipeline_branch` on the `run` action; this maps to Harness `
|
|
2367
|
+
| Pipeline run loaded the wrong YAML revision | The pipeline definition is stored in Git and the run did not specify the desired pipeline branch | Pass `params.pipeline_branch` on the `run` action; this maps to Harness `branch` |
|
|
2357
2368
|
| `wait: true` returned `_wait.error` | The pipeline trigger succeeded, but server-side polling failed | Recheck the `execution_id` with `harness_get(resource_type="execution", ...)` before deciding whether to rerun |
|
|
2358
2369
|
| `wait: true` returned `execution_timed_out: true` | The execution did not reach a terminal status before `wait_timeout_seconds` | Use the returned `execution_id` to recheck status; wait for a terminal status before running `harness_diagnose` |
|
|
2359
2370
|
| Execution logs are empty or blob downloads return 403 | Harness-hosted log blob URLs require the configured Harness client/auth path, especially for internal or self-managed hosts | Keep `HARNESS_BASE_URL` pointed at the target Harness host and use `harness_get(resource_type="execution_log", ...)` or `harness_diagnose(..., include_logs=true)` rather than bypassing the MCP client |
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal HTTP client for TypeSafe's `Choice` decision primitive.
|
|
3
|
+
*
|
|
4
|
+
* Scoped deliberately narrow: no Node/TS `typesafe-sdk` exists yet, so this
|
|
5
|
+
* hand-writes the wire contract for `POST /v1/systemone` with a single
|
|
6
|
+
* question, mirroring the Python `typesafe_sdk` request/response shape (see
|
|
7
|
+
* `typesafe_sdk._core.endpoints.prepare_system_one` and
|
|
8
|
+
* `typesafe_sdk._schemas.models.ChoiceQuestion`/`ChoiceAnswer`).
|
|
9
|
+
*/
|
|
10
|
+
export declare class TypeSafeError extends Error {
|
|
11
|
+
}
|
|
12
|
+
export interface ChoiceQuestionInput {
|
|
13
|
+
/** The content the choice question refers to (arbitrary JSON). */
|
|
14
|
+
state: unknown;
|
|
15
|
+
/** What the model should classify. */
|
|
16
|
+
instructions: string;
|
|
17
|
+
/** Closed set of mutually exclusive named alternatives. */
|
|
18
|
+
choices: readonly string[];
|
|
19
|
+
/** Optional rubric: one description per choice name, sent as the wire
|
|
20
|
+
* `criteria` values so the model sees definitions, not just labels.
|
|
21
|
+
* Choices without an entry are sent with a null description. */
|
|
22
|
+
descriptions?: Readonly<Record<string, string>>;
|
|
23
|
+
}
|
|
24
|
+
export interface ChoiceAnswer {
|
|
25
|
+
/** One of the input `choices`, verified against that list before returning. */
|
|
26
|
+
choice: string;
|
|
27
|
+
confidence: number;
|
|
28
|
+
legend: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export interface TypeSafeClientOptions {
|
|
31
|
+
apiKey: string;
|
|
32
|
+
baseUrl?: string;
|
|
33
|
+
model?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ask a single Choice question against TypeSafe's System One endpoint —
|
|
37
|
+
* classify `state` into exactly one of `choices`. Throws `TypeSafeError` on
|
|
38
|
+
* any non-2xx response, malformed body, unrecognized choice, or network
|
|
39
|
+
* error — callers (diagnose-triage.ts) are expected to catch and fail
|
|
40
|
+
* closed (spec 010's fallback contract: no `triage` field, not an error).
|
|
41
|
+
*/
|
|
42
|
+
export declare function classifyQuestion(options: TypeSafeClientOptions, question: ChoiceQuestionInput, opts?: {
|
|
43
|
+
signal?: AbortSignal;
|
|
44
|
+
timeoutMs?: number;
|
|
45
|
+
}): Promise<ChoiceAnswer>;
|
|
46
|
+
//# sourceMappingURL=typesafe-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typesafe-client.d.ts","sourceRoot":"","sources":["../../src/client/typesafe-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;;oEAEgE;IAChE,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAeD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyDD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAAC,YAAY,CAAC,CAqBvB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal HTTP client for TypeSafe's `Choice` decision primitive.
|
|
3
|
+
*
|
|
4
|
+
* Scoped deliberately narrow: no Node/TS `typesafe-sdk` exists yet, so this
|
|
5
|
+
* hand-writes the wire contract for `POST /v1/systemone` with a single
|
|
6
|
+
* question, mirroring the Python `typesafe_sdk` request/response shape (see
|
|
7
|
+
* `typesafe_sdk._core.endpoints.prepare_system_one` and
|
|
8
|
+
* `typesafe_sdk._schemas.models.ChoiceQuestion`/`ChoiceAnswer`).
|
|
9
|
+
*/
|
|
10
|
+
import { createLogger } from "../utils/logger.js";
|
|
11
|
+
const log = createLogger("typesafe-client");
|
|
12
|
+
const SYSTEM_ONE_PATH = "/v1/systemone";
|
|
13
|
+
const DEFAULT_MODEL = "jev-latest";
|
|
14
|
+
export class TypeSafeError extends Error {
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* POSTs a single named question to TypeSafe's System One endpoint and
|
|
18
|
+
* returns its decoded answer. `classifyQuestion` validates the answer
|
|
19
|
+
* shape for its question type.
|
|
20
|
+
*/
|
|
21
|
+
async function postSystemOneQuestion({ apiKey, baseUrl = "https://api.typesafe.ai", model = DEFAULT_MODEL }, questionName, question, opts = {}) {
|
|
22
|
+
const body = {
|
|
23
|
+
state: question.state,
|
|
24
|
+
model,
|
|
25
|
+
questions: { [questionName]: question },
|
|
26
|
+
};
|
|
27
|
+
const controller = new AbortController();
|
|
28
|
+
const onAbort = () => controller.abort();
|
|
29
|
+
opts.signal?.addEventListener("abort", onAbort);
|
|
30
|
+
const timeout = opts.timeoutMs !== undefined ? setTimeout(() => controller.abort(), opts.timeoutMs) : undefined;
|
|
31
|
+
try {
|
|
32
|
+
const response = await fetch(`${baseUrl.replace(/\/+$/, "")}${SYSTEM_ONE_PATH}`, {
|
|
33
|
+
method: "POST",
|
|
34
|
+
headers: {
|
|
35
|
+
Authorization: `Bearer ${apiKey}`,
|
|
36
|
+
"Content-Type": "application/json",
|
|
37
|
+
Accept: "application/json",
|
|
38
|
+
},
|
|
39
|
+
body: JSON.stringify(body),
|
|
40
|
+
signal: controller.signal,
|
|
41
|
+
});
|
|
42
|
+
if (!response.ok) {
|
|
43
|
+
const text = await response.text().catch(() => "");
|
|
44
|
+
throw new TypeSafeError(`TypeSafe API returned ${response.status}: ${text.slice(0, 200)}`);
|
|
45
|
+
}
|
|
46
|
+
const decoded = (await response.json());
|
|
47
|
+
const answer = decoded.answers?.[questionName];
|
|
48
|
+
if (!answer) {
|
|
49
|
+
throw new TypeSafeError(`TypeSafe response missing a "${questionName}" answer`);
|
|
50
|
+
}
|
|
51
|
+
return answer;
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
if (err instanceof TypeSafeError)
|
|
55
|
+
throw err;
|
|
56
|
+
log.warn("TypeSafe request failed", { error: String(err) });
|
|
57
|
+
throw new TypeSafeError(`TypeSafe request failed: ${String(err)}`);
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
opts.signal?.removeEventListener("abort", onAbort);
|
|
61
|
+
if (timeout !== undefined)
|
|
62
|
+
clearTimeout(timeout);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Ask a single Choice question against TypeSafe's System One endpoint —
|
|
67
|
+
* classify `state` into exactly one of `choices`. Throws `TypeSafeError` on
|
|
68
|
+
* any non-2xx response, malformed body, unrecognized choice, or network
|
|
69
|
+
* error — callers (diagnose-triage.ts) are expected to catch and fail
|
|
70
|
+
* closed (spec 010's fallback contract: no `triage` field, not an error).
|
|
71
|
+
*/
|
|
72
|
+
export async function classifyQuestion(options, question, opts = {}) {
|
|
73
|
+
const questionName = "category";
|
|
74
|
+
// Wire contract (typesafe_sdk._schemas.models.ChoiceQuestion): `criteria` is a
|
|
75
|
+
// dict of choice name -> description (null when a choice carries no
|
|
76
|
+
// description), not a flat `choices` array — the live API rejects the latter.
|
|
77
|
+
const criteria = Object.fromEntries(question.choices.map((choice) => [choice, question.descriptions?.[choice] ?? null]));
|
|
78
|
+
const answer = await postSystemOneQuestion(options, questionName, { type: "choice", instructions: question.instructions, criteria, state: question.state }, opts);
|
|
79
|
+
if (answer.type !== "choice" || typeof answer.choice !== "string" || typeof answer.confidence !== "number") {
|
|
80
|
+
throw new TypeSafeError(`TypeSafe response missing a valid "${questionName}" choice answer`);
|
|
81
|
+
}
|
|
82
|
+
if (!question.choices.includes(answer.choice)) {
|
|
83
|
+
throw new TypeSafeError(`TypeSafe returned an unrecognized choice "${answer.choice}" for "${questionName}"`);
|
|
84
|
+
}
|
|
85
|
+
return { choice: answer.choice, confidence: answer.confidence, legend: answer.legend ?? {} };
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=typesafe-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typesafe-client.js","sourceRoot":"","sources":["../../src/client/typesafe-client.ts"],"names":[],"mappings":"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"}
|
package/build/config.d.ts
CHANGED
|
@@ -54,6 +54,8 @@ export declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
54
54
|
HARNESS_MCP_TRUST_PROXY: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
55
55
|
HARNESS_FME_API_KEY: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
56
56
|
HARNESS_FME_BASE_URL: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodString>>;
|
|
57
|
+
TYPESAFE_API_KEY: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
58
|
+
TYPESAFE_BASE_URL: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodString>>;
|
|
57
59
|
HARNESS_LOG_UNSAFE_BODIES: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodUndefined]>, z.ZodTransform<boolean, string | boolean | undefined>>>;
|
|
58
60
|
HARNESS_PIPELINE_VERSION: z.ZodOptional<z.ZodEnum<{
|
|
59
61
|
1: "1";
|
|
@@ -73,6 +75,9 @@ export declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
73
75
|
HARNESS_SEARCH_SERVICE_URL: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
74
76
|
HARNESS_SEARCH_SERVICE_HEADERS: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
75
77
|
HARNESS_HF_CACHE_DIR: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodString>>;
|
|
78
|
+
HARNESS_DIAGNOSE_TRIAGE: z.ZodDefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodUndefined]>, z.ZodTransform<boolean, string | boolean | undefined>>>;
|
|
79
|
+
HARNESS_DIAGNOSE_TRIAGE_MIN_CONFIDENCE: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
|
|
80
|
+
HARNESS_DIAGNOSE_TRIAGE_TIMEOUT_MS: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodCoercedNumber<unknown>>>;
|
|
76
81
|
}, z.core.$strip>, z.ZodTransform<{
|
|
77
82
|
HARNESS_API_KEY: string;
|
|
78
83
|
HARNESS_ACCOUNT_ID: string;
|
|
@@ -100,15 +105,20 @@ export declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
100
105
|
HARNESS_MCP_ALLOW_UNAUTHENTICATED_HTTP: boolean;
|
|
101
106
|
HARNESS_MCP_TRUST_PROXY: number;
|
|
102
107
|
HARNESS_FME_BASE_URL: string;
|
|
108
|
+
TYPESAFE_BASE_URL: string;
|
|
103
109
|
HARNESS_LOG_UNSAFE_BODIES: boolean;
|
|
104
110
|
HARNESS_AUDIT_WEBHOOK_BATCH_SIZE: number;
|
|
105
111
|
HARNESS_AUDIT_WEBHOOK_FLUSH_MS: number;
|
|
106
112
|
HARNESS_DIAGNOSE_LOG_FETCH_CONCURRENCY: number;
|
|
107
113
|
HARNESS_SEARCH_PROVIDER: "none" | "local" | "remote";
|
|
108
114
|
HARNESS_HF_CACHE_DIR: string;
|
|
115
|
+
HARNESS_DIAGNOSE_TRIAGE: boolean;
|
|
116
|
+
HARNESS_DIAGNOSE_TRIAGE_MIN_CONFIDENCE: number;
|
|
117
|
+
HARNESS_DIAGNOSE_TRIAGE_TIMEOUT_MS: number;
|
|
109
118
|
HARNESS_TOOLSETS?: string | undefined;
|
|
110
119
|
HARNESS_MCP_AUTH_TOKEN?: string | undefined;
|
|
111
120
|
HARNESS_FME_API_KEY?: string | undefined;
|
|
121
|
+
TYPESAFE_API_KEY?: string | undefined;
|
|
112
122
|
HARNESS_PIPELINE_VERSION?: "1" | "0" | undefined;
|
|
113
123
|
HARNESS_AUDIT_FILE?: string | undefined;
|
|
114
124
|
HARNESS_AUDIT_WEBHOOK_URL?: string | undefined;
|
|
@@ -135,12 +145,16 @@ export declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
135
145
|
HARNESS_MCP_ALLOW_UNAUTHENTICATED_HTTP: boolean;
|
|
136
146
|
HARNESS_MCP_TRUST_PROXY: number;
|
|
137
147
|
HARNESS_FME_BASE_URL: string;
|
|
148
|
+
TYPESAFE_BASE_URL: string;
|
|
138
149
|
HARNESS_LOG_UNSAFE_BODIES: boolean;
|
|
139
150
|
HARNESS_AUDIT_WEBHOOK_BATCH_SIZE: number;
|
|
140
151
|
HARNESS_AUDIT_WEBHOOK_FLUSH_MS: number;
|
|
141
152
|
HARNESS_DIAGNOSE_LOG_FETCH_CONCURRENCY: number;
|
|
142
153
|
HARNESS_SEARCH_PROVIDER: "none" | "local" | "remote";
|
|
143
154
|
HARNESS_HF_CACHE_DIR: string;
|
|
155
|
+
HARNESS_DIAGNOSE_TRIAGE: boolean;
|
|
156
|
+
HARNESS_DIAGNOSE_TRIAGE_MIN_CONFIDENCE: number;
|
|
157
|
+
HARNESS_DIAGNOSE_TRIAGE_TIMEOUT_MS: number;
|
|
144
158
|
HARNESS_API_KEY?: string | undefined;
|
|
145
159
|
HARNESS_ACCOUNT_ID?: string | undefined;
|
|
146
160
|
HARNESS_BASE_URL?: string | undefined;
|
|
@@ -153,6 +167,7 @@ export declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
153
167
|
HARNESS_AUTO_APPROVE_RISK?: "none" | "low_write" | "medium_write" | "high_write" | "all" | undefined;
|
|
154
168
|
HARNESS_MCP_AUTH_TOKEN?: string | undefined;
|
|
155
169
|
HARNESS_FME_API_KEY?: string | undefined;
|
|
170
|
+
TYPESAFE_API_KEY?: string | undefined;
|
|
156
171
|
HARNESS_PIPELINE_VERSION?: "1" | "0" | undefined;
|
|
157
172
|
HARNESS_AUDIT_FILE?: string | undefined;
|
|
158
173
|
HARNESS_AUDIT_WEBHOOK_URL?: string | undefined;
|
package/build/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AA8C5B;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc5E;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AA8C5B;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc5E;AAsHD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4JvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC,GACnF,MAAM,GAAG,SAAS,CAiBpB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,UAAU,IAAI,MAAM,CAQnC"}
|
package/build/config.js
CHANGED
|
@@ -101,6 +101,12 @@ const RawConfigSchema = z.object({
|
|
|
101
101
|
HARNESS_MCP_TRUST_PROXY: z.coerce.number().int().min(0).default(0),
|
|
102
102
|
HARNESS_FME_API_KEY: optionalStringFromEnv,
|
|
103
103
|
HARNESS_FME_BASE_URL: urlFromEnv("https://api.split.io"),
|
|
104
|
+
// TypeSafe API (https://typesafe.ai) — powers advisory diagnose triage
|
|
105
|
+
// (spec 010). Operator-configured credential, never session-supplied: it
|
|
106
|
+
// egresses failure messages/log snippets on behalf of every session, so it
|
|
107
|
+
// is rejected in multi-user/oauth modes like the FME key (see transform).
|
|
108
|
+
TYPESAFE_API_KEY: optionalStringFromEnv,
|
|
109
|
+
TYPESAFE_BASE_URL: urlFromEnv("https://api.typesafe.ai"),
|
|
104
110
|
HARNESS_LOG_UNSAFE_BODIES: booleanFromEnv.default(false),
|
|
105
111
|
HARNESS_PIPELINE_VERSION: z.enum(["0", "1"]).optional(),
|
|
106
112
|
HARNESS_AUDIT_FILE: optionalStringFromEnv,
|
|
@@ -123,6 +129,12 @@ const RawConfigSchema = z.object({
|
|
|
123
129
|
// Directory for @huggingface/transformers model cache (local search provider).
|
|
124
130
|
// Use a persistent volume in production; Docker image bakes models into /app/.cache/hf.
|
|
125
131
|
HARNESS_HF_CACHE_DIR: z.preprocess(emptyStringAsUndefined, z.string().default("/tmp/hf-cache")),
|
|
132
|
+
// Spec 010: advisory-only failure-category triage in harness_diagnose —
|
|
133
|
+
// a read-tool enrichment, not a write gate. Skips silently without
|
|
134
|
+
// TYPESAFE_API_KEY.
|
|
135
|
+
HARNESS_DIAGNOSE_TRIAGE: booleanFromEnv.default(true),
|
|
136
|
+
HARNESS_DIAGNOSE_TRIAGE_MIN_CONFIDENCE: z.preprocess(emptyStringAsUndefined, z.coerce.number().min(0).max(1).default(0.6)),
|
|
137
|
+
HARNESS_DIAGNOSE_TRIAGE_TIMEOUT_MS: z.preprocess(emptyStringAsUndefined, z.coerce.number().int().positive().default(400)),
|
|
126
138
|
});
|
|
127
139
|
export const ConfigSchema = RawConfigSchema.transform((data) => {
|
|
128
140
|
const isMultiUser = data.HARNESS_MCP_MODE === "multi-user";
|
|
@@ -137,6 +149,10 @@ export const ConfigSchema = RawConfigSchema.transform((data) => {
|
|
|
137
149
|
throw new Error("HARNESS_FME_API_KEY must not be set in multi-user mode. " +
|
|
138
150
|
"FME calls must use the session user's x-harness-api-key credential.");
|
|
139
151
|
}
|
|
152
|
+
if (isMultiUser && data.TYPESAFE_API_KEY) {
|
|
153
|
+
throw new Error("TYPESAFE_API_KEY must not be set in multi-user mode. " +
|
|
154
|
+
"Failure triage egresses log snippets to the TypeSafe API and cannot be shared across session users.");
|
|
155
|
+
}
|
|
140
156
|
if (isOAuth && data.HARNESS_API_KEY) {
|
|
141
157
|
throw new Error("HARNESS_API_KEY must not be set in oauth mode. " +
|
|
142
158
|
"Each session must authenticate with a HarnessID access token.");
|
|
@@ -145,6 +161,10 @@ export const ConfigSchema = RawConfigSchema.transform((data) => {
|
|
|
145
161
|
throw new Error("HARNESS_FME_API_KEY must not be set in oauth mode. " +
|
|
146
162
|
"FME calls must use the session user's HarnessID access token.");
|
|
147
163
|
}
|
|
164
|
+
if (isOAuth && data.TYPESAFE_API_KEY) {
|
|
165
|
+
throw new Error("TYPESAFE_API_KEY must not be set in oauth mode. " +
|
|
166
|
+
"Failure triage egresses log snippets to the TypeSafe API and cannot be shared across session users.");
|
|
167
|
+
}
|
|
148
168
|
if (!isMultiUser && !isOAuth && !data.HARNESS_API_KEY) {
|
|
149
169
|
throw new Error("HARNESS_API_KEY is required in single-user mode.");
|
|
150
170
|
}
|
|
@@ -179,6 +199,10 @@ export const ConfigSchema = RawConfigSchema.transform((data) => {
|
|
|
179
199
|
throw new Error(`HARNESS_FME_BASE_URL must use HTTPS (got "${data.HARNESS_FME_BASE_URL}"). ` +
|
|
180
200
|
"If you need HTTP for local development, set HARNESS_ALLOW_HTTP=true.");
|
|
181
201
|
}
|
|
202
|
+
if (data.TYPESAFE_BASE_URL && !data.TYPESAFE_BASE_URL.startsWith("https://") && !data.HARNESS_ALLOW_HTTP) {
|
|
203
|
+
throw new Error(`TYPESAFE_BASE_URL must use HTTPS (got "${data.TYPESAFE_BASE_URL}"). ` +
|
|
204
|
+
"If you need HTTP for local development, set HARNESS_ALLOW_HTTP=true.");
|
|
205
|
+
}
|
|
182
206
|
if (data.HARNESS_AUDIT_WEBHOOK_URL && !data.HARNESS_AUDIT_WEBHOOK_URL.startsWith("https://") && !data.HARNESS_ALLOW_HTTP) {
|
|
183
207
|
throw new Error(`HARNESS_AUDIT_WEBHOOK_URL must use HTTPS (got "${data.HARNESS_AUDIT_WEBHOOK_URL}"). ` +
|
|
184
208
|
"If you need HTTP for local development, set HARNESS_ALLOW_HTTP=true.");
|
package/build/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/data/schemas/v0/pipeline.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/data/schemas/v0/pipeline.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CA2h0H/B,CAAC;AACF,eAAe,MAAM,CAAC"}
|
|
@@ -56950,6 +56950,22 @@ const schema = {
|
|
|
56950
56950
|
"minLength": 1
|
|
56951
56951
|
}
|
|
56952
56952
|
]
|
|
56953
|
+
},
|
|
56954
|
+
"forks": {
|
|
56955
|
+
"description": "Optional number of parallel Ansible forks (1-100). Omitted inherits any existing ANSIBLE_FORKS; the Ansible default is 5.",
|
|
56956
|
+
"oneOf": [
|
|
56957
|
+
{
|
|
56958
|
+
"type": "integer",
|
|
56959
|
+
"format": "int32",
|
|
56960
|
+
"minimum": 1,
|
|
56961
|
+
"maximum": 100
|
|
56962
|
+
},
|
|
56963
|
+
{
|
|
56964
|
+
"type": "string",
|
|
56965
|
+
"pattern": "(<\\+.+>.*)",
|
|
56966
|
+
"minLength": 1
|
|
56967
|
+
}
|
|
56968
|
+
]
|
|
56953
56969
|
}
|
|
56954
56970
|
}
|
|
56955
56971
|
}
|
|
@@ -57051,6 +57067,22 @@ const schema = {
|
|
|
57051
57067
|
"minLength": 1
|
|
57052
57068
|
}
|
|
57053
57069
|
]
|
|
57070
|
+
},
|
|
57071
|
+
"forks": {
|
|
57072
|
+
"description": "Optional number of parallel Ansible forks (1-100). Omitted inherits any existing ANSIBLE_FORKS; the Ansible default is 5.",
|
|
57073
|
+
"oneOf": [
|
|
57074
|
+
{
|
|
57075
|
+
"type": "integer",
|
|
57076
|
+
"format": "int32",
|
|
57077
|
+
"minimum": 1,
|
|
57078
|
+
"maximum": 100
|
|
57079
|
+
},
|
|
57080
|
+
{
|
|
57081
|
+
"type": "string",
|
|
57082
|
+
"pattern": "(<\\+.+>.*)",
|
|
57083
|
+
"minLength": 1
|
|
57084
|
+
}
|
|
57085
|
+
]
|
|
57054
57086
|
}
|
|
57055
57087
|
}
|
|
57056
57088
|
},
|