@poncho-ai/harness 0.50.5 → 0.51.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/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +15 -0
- package/dist/index.js +3 -3
- package/package.json +2 -2
- package/src/harness.ts +3 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @poncho-ai/harness@0.
|
|
2
|
+
> @poncho-ai/harness@0.51.0 build /home/runner/work/poncho-ai/poncho-ai/packages/harness
|
|
3
3
|
> node scripts/embed-docs.js && tsup src/index.ts --format esm --dts
|
|
4
4
|
|
|
5
5
|
[embed-docs] Generated poncho-docs.ts with 4 topics
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
[34mCLI[39m tsup v8.5.1
|
|
9
9
|
[34mCLI[39m Target: es2022
|
|
10
10
|
[34mESM[39m Build start
|
|
11
|
-
[32mESM[39m [1mdist/index.js [22m[32m535.
|
|
11
|
+
[32mESM[39m [1mdist/index.js [22m[32m535.65 KB[39m
|
|
12
12
|
[32mESM[39m [1mdist/isolate-F2PPSUL6.js [22m[32m53.82 KB[39m
|
|
13
|
-
[32mESM[39m ⚡️ Build success in
|
|
13
|
+
[32mESM[39m ⚡️ Build success in 264ms
|
|
14
14
|
[34mDTS[39m Build start
|
|
15
|
-
[32mDTS[39m ⚡️ Build success in
|
|
15
|
+
[32mDTS[39m ⚡️ Build success in 7640ms
|
|
16
16
|
[32mDTS[39m [1mdist/index.d.ts [22m[32m91.35 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @poncho-ai/harness
|
|
2
2
|
|
|
3
|
+
## 0.51.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`773f113`](https://github.com/cesr/poncho-ai/commit/773f11309e2410d6c5e17af0fde17425953105f2) Thanks [@cesr](https://github.com/cesr)! - harness: add a per-run `suppressTelemetry` flag so one harness can serve both telemetry-on and telemetry-off runs.
|
|
8
|
+
|
|
9
|
+
Telemetry was effectively an instance-level property: whether the OTLP exporter is attached is decided at construction, so a host that wants telemetry-off runs (e.g. incognito) had to build and maintain a _second_ harness instance with no exporter — duplicating all per-harness provisioning (tool registration, subagent manager, etc.) and risking drift between the two.
|
|
10
|
+
|
|
11
|
+
`RunInput.suppressTelemetry` lets a single harness — built once, with the exporter attached — emit nothing for a given run: the `invoke_agent` root span, the `execute_tool` spans, and the AI-SDK spans are all gated on `!input.suppressTelemetry`. Hosts can now keep one harness per user and pass `suppressTelemetry: true` per run instead of routing to a parallel exporter-less instance.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`773f113`](https://github.com/cesr/poncho-ai/commit/773f11309e2410d6c5e17af0fde17425953105f2)]:
|
|
16
|
+
- @poncho-ai/sdk@1.13.0
|
|
17
|
+
|
|
3
18
|
## 0.50.5
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -10169,7 +10169,7 @@ var AgentHarness = class _AgentHarness {
|
|
|
10169
10169
|
* child spans (LLM calls via AI SDK, tool execution) group under one trace.
|
|
10170
10170
|
*/
|
|
10171
10171
|
async *runWithTelemetry(input) {
|
|
10172
|
-
if (this.hasOtlpExporter && this.otlpTracerProvider) {
|
|
10172
|
+
if (this.hasOtlpExporter && this.otlpTracerProvider && !input.suppressTelemetry) {
|
|
10173
10173
|
const tracer = this.otlpTracerProvider.getTracer("gen_ai");
|
|
10174
10174
|
const agentName = this.parsedAgent?.frontmatter.name ?? "agent";
|
|
10175
10175
|
const rootSpan = tracer.startSpan(`invoke_agent ${agentName}`, {
|
|
@@ -10863,7 +10863,7 @@ ${textContent}` };
|
|
|
10863
10863
|
abortSignal: input.abortSignal,
|
|
10864
10864
|
...typeof maxTokens === "number" ? { maxTokens } : {},
|
|
10865
10865
|
experimental_telemetry: {
|
|
10866
|
-
isEnabled: telemetryEnabled && this.hasOtlpExporter,
|
|
10866
|
+
isEnabled: telemetryEnabled && this.hasOtlpExporter && !input.suppressTelemetry,
|
|
10867
10867
|
recordInputs: true,
|
|
10868
10868
|
recordOutputs: true
|
|
10869
10869
|
}
|
|
@@ -11254,7 +11254,7 @@ ${textContent}` };
|
|
|
11254
11254
|
return;
|
|
11255
11255
|
}
|
|
11256
11256
|
const toolSpans = /* @__PURE__ */ new Map();
|
|
11257
|
-
if (this.hasOtlpExporter && this.otlpTracerProvider) {
|
|
11257
|
+
if (this.hasOtlpExporter && this.otlpTracerProvider && !input.suppressTelemetry) {
|
|
11258
11258
|
const tracer = this.otlpTracerProvider.getTracer("gen_ai");
|
|
11259
11259
|
for (const call of approvedCalls) {
|
|
11260
11260
|
const toolDef = this.dispatcher.get(call.name);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poncho-ai/harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.0",
|
|
4
4
|
"description": "Agent execution runtime - conversation loop, tool dispatch, streaming",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"mustache": "^4.2.0",
|
|
35
35
|
"yaml": "^2.4.0",
|
|
36
36
|
"zod": "^3.22.0",
|
|
37
|
-
"@poncho-ai/sdk": "1.
|
|
37
|
+
"@poncho-ai/sdk": "1.13.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"esbuild": ">=0.17.0",
|
package/src/harness.ts
CHANGED
|
@@ -2049,7 +2049,7 @@ export class AgentHarness {
|
|
|
2049
2049
|
* child spans (LLM calls via AI SDK, tool execution) group under one trace.
|
|
2050
2050
|
*/
|
|
2051
2051
|
async *runWithTelemetry(input: RunInput): AsyncGenerator<AgentEvent> {
|
|
2052
|
-
if (this.hasOtlpExporter && this.otlpTracerProvider) {
|
|
2052
|
+
if (this.hasOtlpExporter && this.otlpTracerProvider && !input.suppressTelemetry) {
|
|
2053
2053
|
const tracer = this.otlpTracerProvider.getTracer("gen_ai");
|
|
2054
2054
|
const agentName = this.parsedAgent?.frontmatter.name ?? "agent";
|
|
2055
2055
|
|
|
@@ -2975,7 +2975,7 @@ Code is wrapped in an async IIFE — use \`return\` to return a value to the too
|
|
|
2975
2975
|
abortSignal: input.abortSignal,
|
|
2976
2976
|
...(typeof maxTokens === "number" ? { maxTokens } : {}),
|
|
2977
2977
|
experimental_telemetry: {
|
|
2978
|
-
isEnabled: telemetryEnabled && this.hasOtlpExporter,
|
|
2978
|
+
isEnabled: telemetryEnabled && this.hasOtlpExporter && !input.suppressTelemetry,
|
|
2979
2979
|
recordInputs: true,
|
|
2980
2980
|
recordOutputs: true,
|
|
2981
2981
|
},
|
|
@@ -3461,7 +3461,7 @@ Code is wrapped in an async IIFE — use \`return\` to return a value to the too
|
|
|
3461
3461
|
// OTel GenAI execute_tool spans for tool call visibility in traces
|
|
3462
3462
|
type OtelSpan = ReturnType<ReturnType<typeof trace.getTracer>["startSpan"]>;
|
|
3463
3463
|
const toolSpans = new Map<string, OtelSpan>();
|
|
3464
|
-
if (this.hasOtlpExporter && this.otlpTracerProvider) {
|
|
3464
|
+
if (this.hasOtlpExporter && this.otlpTracerProvider && !input.suppressTelemetry) {
|
|
3465
3465
|
const tracer = this.otlpTracerProvider.getTracer("gen_ai");
|
|
3466
3466
|
for (const call of approvedCalls) {
|
|
3467
3467
|
const toolDef = this.dispatcher.get(call.name);
|