@poncho-ai/harness 0.51.1 → 0.52.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 +13 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +10 -4
- package/package.json +2 -2
- package/src/harness.ts +1 -0
- package/src/orchestrator/orchestrator.ts +5 -1
- package/src/state.ts +4 -0
- package/src/subagent-manager.ts +3 -0
- package/src/subagent-tools.ts +1 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @poncho-ai/harness@0.
|
|
2
|
+
> @poncho-ai/harness@0.52.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[
|
|
11
|
+
[32mESM[39m [1mdist/index.js [22m[32m536.18 KB[39m
|
|
12
12
|
[32mESM[39m [1mdist/isolate-F2PPSUL6.js [22m[32m53.82 KB[39m
|
|
13
13
|
[32mESM[39m ⚡️ Build success in 234ms
|
|
14
14
|
[34mDTS[39m Build start
|
|
15
|
-
[32mDTS[39m ⚡️ Build success in
|
|
16
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
15
|
+
[32mDTS[39m ⚡️ Build success in 7615ms
|
|
16
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m92.18 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @poncho-ai/harness
|
|
2
2
|
|
|
3
|
+
## 0.52.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`d8453b4`](https://github.com/cesr/poncho-ai/commit/d8453b4f2360a1734e448960fe52f6c450cdf842) Thanks [@cesr](https://github.com/cesr)! - harness: propagate `suppressTelemetry` to subagents.
|
|
8
|
+
|
|
9
|
+
A telemetry-off run (e.g. incognito) now suppresses telemetry for the subagents it spawns too, not just the parent turn. The parent run's `suppressTelemetry` is exposed on `ToolContext`, captured by `spawn_subagent` into the new `SubagentManager.spawn({ suppressTelemetry })` option, stored on the subagent conversation's `subagentMeta`, and read back by the orchestrator's `runSubagent` / continuation so the child run (and its re-runs) emit no `invoke_agent` / `execute_tool` / AI-SDK spans.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`d8453b4`](https://github.com/cesr/poncho-ai/commit/d8453b4f2360a1734e448960fe52f6c450cdf842)]:
|
|
14
|
+
- @poncho-ai/sdk@1.14.0
|
|
15
|
+
|
|
3
16
|
## 0.51.1
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -195,6 +195,10 @@ interface Conversation {
|
|
|
195
195
|
status: "running" | "completed" | "error" | "stopped";
|
|
196
196
|
result?: _poncho_ai_sdk.RunResult;
|
|
197
197
|
error?: _poncho_ai_sdk.AgentFailure;
|
|
198
|
+
/** Inherited from the parent run at spawn time — when true, this
|
|
199
|
+
* subagent's runs emit no telemetry (e.g. spawned from an incognito
|
|
200
|
+
* turn). Read by the orchestrator's runSubagent / continuation. */
|
|
201
|
+
suppressTelemetry?: boolean;
|
|
198
202
|
};
|
|
199
203
|
channelMeta?: {
|
|
200
204
|
platform: string;
|
|
@@ -1178,6 +1182,9 @@ interface SubagentManager {
|
|
|
1178
1182
|
parentConversationId: string;
|
|
1179
1183
|
ownerId: string;
|
|
1180
1184
|
tenantId?: string | null;
|
|
1185
|
+
/** Inherit the parent run's telemetry choice — when true, the subagent
|
|
1186
|
+
* run (and its re-runs) emit no telemetry. */
|
|
1187
|
+
suppressTelemetry?: boolean;
|
|
1181
1188
|
}): Promise<SubagentSpawnResult>;
|
|
1182
1189
|
sendMessage(subagentId: string, message: string): Promise<SubagentSpawnResult>;
|
|
1183
1190
|
stop(subagentId: string): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -8299,7 +8299,8 @@ var createSubagentTools = (manager) => [
|
|
|
8299
8299
|
task: task.trim(),
|
|
8300
8300
|
parentConversationId: conversationId,
|
|
8301
8301
|
ownerId,
|
|
8302
|
-
tenantId: context.tenantId
|
|
8302
|
+
tenantId: context.tenantId,
|
|
8303
|
+
suppressTelemetry: context.suppressTelemetry
|
|
8303
8304
|
});
|
|
8304
8305
|
return { subagentId, status: "running" };
|
|
8305
8306
|
}
|
|
@@ -11132,6 +11133,7 @@ ${textContent}` };
|
|
|
11132
11133
|
abortSignal: input.abortSignal,
|
|
11133
11134
|
conversationId: input.conversationId,
|
|
11134
11135
|
tenantId: input.tenantId,
|
|
11136
|
+
suppressTelemetry: input.suppressTelemetry,
|
|
11135
11137
|
vfs: this.bashManager ? this.createVfsAccess(input.tenantId ?? "__default__") : void 0
|
|
11136
11138
|
};
|
|
11137
11139
|
const toolResultsForModel = [];
|
|
@@ -12903,7 +12905,9 @@ var AgentOrchestrator = class {
|
|
|
12903
12905
|
__ownerId: ownerId
|
|
12904
12906
|
}, conversation),
|
|
12905
12907
|
messages: harnessMessages,
|
|
12906
|
-
abortSignal: childAbortController.signal
|
|
12908
|
+
abortSignal: childAbortController.signal,
|
|
12909
|
+
// Inherit the parent run's telemetry choice (e.g. incognito).
|
|
12910
|
+
suppressTelemetry: conversation.subagentMeta?.suppressTelemetry
|
|
12907
12911
|
})) {
|
|
12908
12912
|
if (event.type === "run:started") {
|
|
12909
12913
|
latestRunId = event.runId;
|
|
@@ -13357,7 +13361,9 @@ ${resultBody}`,
|
|
|
13357
13361
|
__ownerId: ownerId
|
|
13358
13362
|
}, conversation),
|
|
13359
13363
|
messages: continuationMessages,
|
|
13360
|
-
abortSignal: childAbortController.signal
|
|
13364
|
+
abortSignal: childAbortController.signal,
|
|
13365
|
+
// Inherit the parent run's telemetry choice (e.g. incognito).
|
|
13366
|
+
suppressTelemetry: conversation.subagentMeta?.suppressTelemetry
|
|
13361
13367
|
})) {
|
|
13362
13368
|
if (event.type === "run:started") {
|
|
13363
13369
|
const active = this.activeConversationRuns.get(conversationId);
|
|
@@ -13527,7 +13533,7 @@ ${resultBody}`,
|
|
|
13527
13533
|
opts.tenantId ?? null,
|
|
13528
13534
|
{
|
|
13529
13535
|
parentConversationId: opts.parentConversationId,
|
|
13530
|
-
subagentMeta: { task: opts.task, status: "running" },
|
|
13536
|
+
subagentMeta: { task: opts.task, status: "running", suppressTelemetry: opts.suppressTelemetry },
|
|
13531
13537
|
messages: [{ role: "user", content: opts.task }]
|
|
13532
13538
|
}
|
|
13533
13539
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poncho-ai/harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.52.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.14.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"esbuild": ">=0.17.0",
|
package/src/harness.ts
CHANGED
|
@@ -3285,6 +3285,7 @@ Code is wrapped in an async IIFE — use \`return\` to return a value to the too
|
|
|
3285
3285
|
abortSignal: input.abortSignal,
|
|
3286
3286
|
conversationId: input.conversationId,
|
|
3287
3287
|
tenantId: input.tenantId,
|
|
3288
|
+
suppressTelemetry: input.suppressTelemetry,
|
|
3288
3289
|
vfs: this.bashManager
|
|
3289
3290
|
? this.createVfsAccess(input.tenantId ?? "__default__")
|
|
3290
3291
|
: undefined,
|
|
@@ -825,6 +825,8 @@ export class AgentOrchestrator {
|
|
|
825
825
|
}, conversation),
|
|
826
826
|
messages: harnessMessages,
|
|
827
827
|
abortSignal: childAbortController.signal,
|
|
828
|
+
// Inherit the parent run's telemetry choice (e.g. incognito).
|
|
829
|
+
suppressTelemetry: conversation.subagentMeta?.suppressTelemetry,
|
|
828
830
|
})) {
|
|
829
831
|
if (event.type === "run:started") {
|
|
830
832
|
latestRunId = event.runId;
|
|
@@ -1350,6 +1352,8 @@ export class AgentOrchestrator {
|
|
|
1350
1352
|
}, conversation),
|
|
1351
1353
|
messages: continuationMessages,
|
|
1352
1354
|
abortSignal: childAbortController.signal,
|
|
1355
|
+
// Inherit the parent run's telemetry choice (e.g. incognito).
|
|
1356
|
+
suppressTelemetry: conversation.subagentMeta?.suppressTelemetry,
|
|
1353
1357
|
})) {
|
|
1354
1358
|
if (event.type === "run:started") {
|
|
1355
1359
|
const active = this.activeConversationRuns.get(conversationId);
|
|
@@ -1530,7 +1534,7 @@ export class AgentOrchestrator {
|
|
|
1530
1534
|
opts.tenantId ?? null,
|
|
1531
1535
|
{
|
|
1532
1536
|
parentConversationId: opts.parentConversationId,
|
|
1533
|
-
subagentMeta: { task: opts.task, status: "running" },
|
|
1537
|
+
subagentMeta: { task: opts.task, status: "running", suppressTelemetry: opts.suppressTelemetry },
|
|
1534
1538
|
messages: [{ role: "user", content: opts.task }],
|
|
1535
1539
|
},
|
|
1536
1540
|
);
|
package/src/state.ts
CHANGED
|
@@ -75,6 +75,10 @@ export interface Conversation {
|
|
|
75
75
|
status: "running" | "completed" | "error" | "stopped";
|
|
76
76
|
result?: import("@poncho-ai/sdk").RunResult;
|
|
77
77
|
error?: import("@poncho-ai/sdk").AgentFailure;
|
|
78
|
+
/** Inherited from the parent run at spawn time — when true, this
|
|
79
|
+
* subagent's runs emit no telemetry (e.g. spawned from an incognito
|
|
80
|
+
* turn). Read by the orchestrator's runSubagent / continuation. */
|
|
81
|
+
suppressTelemetry?: boolean;
|
|
78
82
|
};
|
|
79
83
|
channelMeta?: {
|
|
80
84
|
platform: string;
|
package/src/subagent-manager.ts
CHANGED
|
@@ -37,6 +37,9 @@ export interface SubagentManager {
|
|
|
37
37
|
parentConversationId: string;
|
|
38
38
|
ownerId: string;
|
|
39
39
|
tenantId?: string | null;
|
|
40
|
+
/** Inherit the parent run's telemetry choice — when true, the subagent
|
|
41
|
+
* run (and its re-runs) emit no telemetry. */
|
|
42
|
+
suppressTelemetry?: boolean;
|
|
40
43
|
}): Promise<SubagentSpawnResult>;
|
|
41
44
|
|
|
42
45
|
sendMessage(subagentId: string, message: string): Promise<SubagentSpawnResult>;
|
package/src/subagent-tools.ts
CHANGED