@salesforce/sfdx-agent-harness-mastra 0.99.0 → 0.100.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/CHANGELOG.md +5 -0
- package/dist/mastra-harness.d.ts +2 -3
- package/dist/mastra-harness.js +2 -3
- package/dist/mastra-tool-mapper.js +2 -3
- package/dist/pass-through-anthropic.d.ts +2 -2
- package/dist/session-context-store.d.ts +1 -1
- package/dist/session-context-store.js +1 -1
- package/dist/tool-args-marker.d.ts +1 -1
- package/dist/tool-args-marker.js +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
All notable changes to `@salesforce/sfdx-agent-harness-mastra` are documented in this file.
|
|
4
4
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
5
|
|
|
6
|
+
## [0.100.0] - 2026-10-09
|
|
7
|
+
|
|
8
|
+
### Chores
|
|
9
|
+
- **agent-sdk,harness-claude,harness-mastra,harness-openai**: remove the openai harness @W-24458323@ ([#871](https://github.com/forcedotcom/agentic-dx/pull/871))
|
|
10
|
+
|
|
6
11
|
## [0.99.0] - 2026-10-06
|
|
7
12
|
|
|
8
13
|
### Features
|
package/dist/mastra-harness.d.ts
CHANGED
|
@@ -327,9 +327,8 @@ export declare class MastraHarness implements MastraAgentHarness {
|
|
|
327
327
|
* counter owned by the language model would bleed across turns AND across
|
|
328
328
|
* concurrent threads; owning it here — the innermost map reset at each
|
|
329
329
|
* `stream()` (per-turn) and keyed by thread (per-thread) — matches Claude's
|
|
330
|
-
* per-`stream()` `toolArgFailureCounts
|
|
331
|
-
*
|
|
332
|
-
* across all three harnesses. Nested (rather than a `${agentId}::${threadId}`
|
|
330
|
+
* per-`stream()` `toolArgFailureCounts`, so the exhaustion-clause wording is
|
|
331
|
+
* identical across both harnesses. Nested (rather than a `${agentId}::${threadId}`
|
|
333
332
|
* string key) so a consumer id containing the delimiter can't alias two
|
|
334
333
|
* distinct scopes, and cleanup is O(1): `destroyThread` deletes the thread
|
|
335
334
|
* entry, `destroyAgent` deletes the agent entry, `shutdown` clears all.
|
package/dist/mastra-harness.js
CHANGED
|
@@ -495,9 +495,8 @@ export class MastraHarness {
|
|
|
495
495
|
* counter owned by the language model would bleed across turns AND across
|
|
496
496
|
* concurrent threads; owning it here — the innermost map reset at each
|
|
497
497
|
* `stream()` (per-turn) and keyed by thread (per-thread) — matches Claude's
|
|
498
|
-
* per-`stream()` `toolArgFailureCounts
|
|
499
|
-
*
|
|
500
|
-
* across all three harnesses. Nested (rather than a `${agentId}::${threadId}`
|
|
498
|
+
* per-`stream()` `toolArgFailureCounts`, so the exhaustion-clause wording is
|
|
499
|
+
* identical across both harnesses. Nested (rather than a `${agentId}::${threadId}`
|
|
501
500
|
* string key) so a consumer id containing the delimiter can't alias two
|
|
502
501
|
* distinct scopes, and cleanup is O(1): `destroyThread` deletes the thread
|
|
503
502
|
* entry, `destroyAgent` deletes the agent entry, `shutdown` clears all.
|
|
@@ -54,9 +54,8 @@ export function mapToolDefinitionsToMastraTools(tools, parkerLookup) {
|
|
|
54
54
|
inputSchema: toStandardSchema(ensureJsonSchemaMarker(tool.inputSchema)),
|
|
55
55
|
// `strict: false` keeps a provider compat-layer (OpenAI/Anthropic
|
|
56
56
|
// strict-mode) from RE-degrading the preserved schema on the way to the
|
|
57
|
-
// wire — arbitrary consumer schemas aren't structured-output schemas
|
|
58
|
-
//
|
|
59
|
-
// same reason). Without it, `CoreToolBuilder.build` applies a matching
|
|
57
|
+
// wire — arbitrary consumer schemas aren't structured-output schemas.
|
|
58
|
+
// Without it, `CoreToolBuilder.build` applies a matching
|
|
60
59
|
// compat layer that reintroduces `additionalProperties:false`.
|
|
61
60
|
strict: false,
|
|
62
61
|
// Issue #529 step 2c (Path A) — consumer tools bypass the
|
|
@@ -50,9 +50,9 @@ export declare function buildAnthropicLanguageModel(opts: {
|
|
|
50
50
|
* `standardSchemaToJSONSchema`), which injects `additionalProperties: false`
|
|
51
51
|
* onto any object node that declared none (JSON Schema's default is open).
|
|
52
52
|
* Gating against that closed schema would reject extra keys on an
|
|
53
|
-
* implicitly-open nested object and diverge from Claude
|
|
53
|
+
* implicitly-open nested object and diverge from Claude (which gates
|
|
54
54
|
* the pristine declared schema); validating the declared schema keeps the
|
|
55
|
-
* gate verdict identical across
|
|
55
|
+
* gate verdict identical across both harnesses (W-24023028). Same
|
|
56
56
|
* per-config-snapshot freshness caveat as `getConsumerToolNames`. Defaults to
|
|
57
57
|
* an empty map (no schema → the gate treats every consumer tool as
|
|
58
58
|
* unvalidatable-`ok`) for callers that don't thread it.
|
|
@@ -17,7 +17,7 @@ export declare function sortJsonValue(value: JsonValue, depth: number): JsonValu
|
|
|
17
17
|
* `.tmp` + `rename` (atomic on POSIX); a per-`(agentId, threadId)` in-flight
|
|
18
18
|
* queue serializes read/write cycles and covers Windows rename EPERM. `read`
|
|
19
19
|
* returns `{}` on miss or corruption (logged), never null, never throws on a
|
|
20
|
-
* miss. A behavioral copy of the Claude
|
|
20
|
+
* miss. A behavioral copy of the Claude harness store (harnesses can't
|
|
21
21
|
* depend on each other); drift-guarded by `runSessionContextConformance`.
|
|
22
22
|
*/
|
|
23
23
|
export declare class SessionContextStore {
|
|
@@ -61,7 +61,7 @@ function serializeSessionContext(value) {
|
|
|
61
61
|
* `.tmp` + `rename` (atomic on POSIX); a per-`(agentId, threadId)` in-flight
|
|
62
62
|
* queue serializes read/write cycles and covers Windows rename EPERM. `read`
|
|
63
63
|
* returns `{}` on miss or corruption (logged), never null, never throws on a
|
|
64
|
-
* miss. A behavioral copy of the Claude
|
|
64
|
+
* miss. A behavioral copy of the Claude harness store (harnesses can't
|
|
65
65
|
* depend on each other); drift-guarded by `runSessionContextConformance`.
|
|
66
66
|
*/
|
|
67
67
|
export class SessionContextStore {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* OR this marker into `isError` on the persisted read and the live event
|
|
13
13
|
* respectively. (An earlier S4 design ALSO used it to suppress the
|
|
14
14
|
* consumer-visible `tool-call` ChatEvent; that suppression was removed —
|
|
15
|
-
* gated calls now surface a live `tool-call` + error `tool-result` on
|
|
15
|
+
* gated calls now surface a live `tool-call` + error `tool-result` on both
|
|
16
16
|
* harnesses — so the marker no longer gates any event emission.)
|
|
17
17
|
*
|
|
18
18
|
* Single-sourced here so the writer (`v3-stream-mapping.ts`), the read mapper
|
package/dist/tool-args-marker.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* OR this marker into `isError` on the persisted read and the live event
|
|
17
17
|
* respectively. (An earlier S4 design ALSO used it to suppress the
|
|
18
18
|
* consumer-visible `tool-call` ChatEvent; that suppression was removed —
|
|
19
|
-
* gated calls now surface a live `tool-call` + error `tool-result` on
|
|
19
|
+
* gated calls now surface a live `tool-call` + error `tool-result` on both
|
|
20
20
|
* harnesses — so the marker no longer gates any event emission.)
|
|
21
21
|
*
|
|
22
22
|
* Single-sourced here so the writer (`v3-stream-mapping.ts`), the read mapper
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/sfdx-agent-harness-mastra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.100.0",
|
|
4
4
|
"description": "Mastra-backed AgentHarness implementation for @salesforce/sfdx-agent-sdk",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -42,12 +42,12 @@
|
|
|
42
42
|
"openai": "^7.23.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@salesforce/sfdx-agent-sdk": "0.
|
|
45
|
+
"@salesforce/sfdx-agent-sdk": "0.101.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@eslint/js": "^10.0.1",
|
|
49
49
|
"@salesforce/harness-conformance": "0.0.1",
|
|
50
|
-
"@salesforce/sfdx-agent-sdk": "0.
|
|
50
|
+
"@salesforce/sfdx-agent-sdk": "0.101.0",
|
|
51
51
|
"@types/node": "^22.20.1",
|
|
52
52
|
"@vitest/coverage-istanbul": "^5.0.2",
|
|
53
53
|
"@vitest/eslint-plugin": "^1.6.27",
|