wunderland 0.90.0 → 0.92.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.
Files changed (48) hide show
  1. package/dist/cli/commands/start/agent-turn.d.ts +2 -1
  2. package/dist/cli/commands/start/agent-turn.d.ts.map +1 -1
  3. package/dist/cli/commands/start/agent-turn.js +24 -7
  4. package/dist/cli/commands/start/agent-turn.js.map +1 -1
  5. package/dist/cli/commands/start/channel-handler.d.ts +6 -0
  6. package/dist/cli/commands/start/channel-handler.d.ts.map +1 -1
  7. package/dist/cli/commands/start/channel-handler.js +26 -1
  8. package/dist/cli/commands/start/channel-handler.js.map +1 -1
  9. package/dist/cli/commands/start/hosted-events.d.ts +120 -0
  10. package/dist/cli/commands/start/hosted-events.d.ts.map +1 -0
  11. package/dist/cli/commands/start/hosted-events.js +286 -0
  12. package/dist/cli/commands/start/hosted-events.js.map +1 -0
  13. package/dist/cli/commands/start/http-server.d.ts.map +1 -1
  14. package/dist/cli/commands/start/http-server.js +2 -0
  15. package/dist/cli/commands/start/http-server.js.map +1 -1
  16. package/dist/cli/commands/start/index.d.ts.map +1 -1
  17. package/dist/cli/commands/start/index.js +4 -0
  18. package/dist/cli/commands/start/index.js.map +1 -1
  19. package/dist/cli/commands/start/llm-provider-setup.d.ts.map +1 -1
  20. package/dist/cli/commands/start/llm-provider-setup.js +6 -0
  21. package/dist/cli/commands/start/llm-provider-setup.js.map +1 -1
  22. package/dist/cli/commands/start/remote-approvals.d.ts +163 -0
  23. package/dist/cli/commands/start/remote-approvals.d.ts.map +1 -0
  24. package/dist/cli/commands/start/remote-approvals.js +439 -0
  25. package/dist/cli/commands/start/remote-approvals.js.map +1 -0
  26. package/dist/cli/commands/start/routes/chat.d.ts.map +1 -1
  27. package/dist/cli/commands/start/routes/chat.js +16 -1
  28. package/dist/cli/commands/start/routes/chat.js.map +1 -1
  29. package/dist/cli/commands/start/routes/types.d.ts +6 -0
  30. package/dist/cli/commands/start/routes/types.d.ts.map +1 -1
  31. package/dist/cli/commands/start/startup-display.d.ts.map +1 -1
  32. package/dist/cli/commands/start/startup-display.js +2 -0
  33. package/dist/cli/commands/start/startup-display.js.map +1 -1
  34. package/dist/cli/index.d.ts.map +1 -1
  35. package/dist/cli/index.js +2 -0
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/cli/tui/views/status-view.d.ts.map +1 -1
  38. package/dist/cli/tui/views/status-view.js +3 -1
  39. package/dist/cli/tui/views/status-view.js.map +1 -1
  40. package/dist/runtime/tools/tool-calling.d.ts +21 -0
  41. package/dist/runtime/tools/tool-calling.d.ts.map +1 -1
  42. package/dist/runtime/tools/tool-calling.js +115 -4
  43. package/dist/runtime/tools/tool-calling.js.map +1 -1
  44. package/dist/runtime/tools/tool-helpers.d.ts +26 -0
  45. package/dist/runtime/tools/tool-helpers.d.ts.map +1 -1
  46. package/dist/runtime/tools/tool-helpers.js +66 -4
  47. package/dist/runtime/tools/tool-helpers.js.map +1 -1
  48. package/package.json +1 -1
@@ -10,7 +10,8 @@
10
10
  * - serializes turns on the same session (shared history is a plain Map),
11
11
  * - gates tools autonomously (read-only auto-approved; side-effect tools run
12
12
  * only under an explicit skip/auto-approve flag — never an interactive prompt
13
- * that would hang a headless turn, never a silent side effect),
13
+ * that would hang a headless turn, never a silent side effect), and with
14
+ * `hitl.mode: "remote"` asks the server before an outward tool,
14
15
  * - persists the reply back onto the session the `/chat` reader also uses,
15
16
  * - sends the turn where `/chat` sends it: the primary provider's base URL
16
17
  * (`deps.llmBaseUrl`) and, when the primary fails, the fallback candidate
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;GAiBG;AAUH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAoBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CAoF1B"}
1
+ {"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAuBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CA4F1B"}
@@ -11,7 +11,8 @@
11
11
  * - serializes turns on the same session (shared history is a plain Map),
12
12
  * - gates tools autonomously (read-only auto-approved; side-effect tools run
13
13
  * only under an explicit skip/auto-approve flag — never an interactive prompt
14
- * that would hang a headless turn, never a silent side effect),
14
+ * that would hang a headless turn, never a silent side effect), and with
15
+ * `hitl.mode: "remote"` asks the server before an outward tool,
15
16
  * - persists the reply back onto the session the `/chat` reader also uses,
16
17
  * - sends the turn where `/chat` sends it: the primary provider's base URL
17
18
  * (`deps.llmBaseUrl`) and, when the primary fails, the fallback candidate
@@ -21,6 +22,8 @@ import { runToolCallingTurn } from '../../../runtime/tools/tool-calling.js';
21
22
  import { buildPersonaSessionKey } from '../../../runtime/execution/request-persona.js';
22
23
  import { KeyedMutex } from '../../../runtime/execution/keyed-mutex.js';
23
24
  import { allowedToolNamesFor } from '../../../runtime/tools/tool-allow-list.js';
25
+ import { startReportedTurn } from './hosted-events.js';
26
+ import { askRemoteApproval, outwardApprovalFor } from './remote-approvals.js';
24
27
  /** One shared mutex per process: serializes turns that share a session key. */
25
28
  const sessionMutex = new KeyedMutex();
26
29
  const HISTORY_HARD_CAP = 200;
@@ -28,15 +31,20 @@ const HISTORY_KEEP_TAIL = 120;
28
31
  /**
29
32
  * Autonomous tool-approval policy: read-only tools are always allowed;
30
33
  * side-effect tools require an explicit skip/auto-approve flag. Returns false
31
- * (deny) otherwise — a headless turn must never block on a human, and must
32
- * never run a side effect the operator did not authorize.
34
+ * (deny) otherwise — a headless turn must never block on a human it has no way
35
+ * to reach, and must never run a side effect the operator did not authorize.
36
+ * With `hitl.mode: "remote"` it has a way: the server is asked instead of a deny.
33
37
  */
34
- function makeAutonomousAskPermission(deps) {
38
+ function makeAutonomousAskPermission(deps, reportedTurn) {
35
39
  const allowSideEffects = deps.dangerouslySkipPermissions === true || deps.autoApproveToolCalls === true;
36
- return async (tool) => {
40
+ return async (tool, args) => {
37
41
  if (tool?.hasSideEffects !== true)
38
42
  return true;
39
- return allowSideEffects;
43
+ if (allowSideEffects)
44
+ return true;
45
+ if (!deps.remoteApprovalHandler)
46
+ return false;
47
+ return (await askRemoteApproval(deps.remoteApprovalHandler, tool, args, { reportedTurn })).approved;
40
48
  };
41
49
  }
42
50
  /**
@@ -67,6 +75,7 @@ export async function runAgentTurn(deps, req) {
67
75
  // Shallow copy so a mid-flight failure can't leave orphaned tool_calls in
68
76
  // the persisted history.
69
77
  const workingMessages = [...messages];
78
+ const reportedTurn = startReportedTurn(deps.eventsReporter);
70
79
  try {
71
80
  const reply = await runToolCallingTurn({
72
81
  providerId: deps.providerId,
@@ -85,7 +94,9 @@ export async function runAgentTurn(deps, req) {
85
94
  },
86
95
  maxRounds: 8,
87
96
  dangerouslySkipPermissions: deps.dangerouslySkipPermissions === true,
88
- askPermission: makeAutonomousAskPermission(deps),
97
+ // hitl.mode "remote": outward tools ask first, whatever the tiers and flags say.
98
+ outwardApproval: outwardApprovalFor(deps.remoteApprovalHandler, { reportedTurn }),
99
+ askPermission: makeAutonomousAskPermission(deps, reportedTurn),
89
100
  // The same provider routing the /chat route uses: the primary
90
101
  // provider's base URL (its base-URL variable), the fallback candidate
91
102
  // and the OAuth key resolver.
@@ -95,8 +106,11 @@ export async function runAgentTurn(deps, req) {
95
106
  console.warn(`[runAgentTurn] primary provider failed (${err.message}), routing to ${provider} source=${req.source}`);
96
107
  },
97
108
  getApiKey: deps.oauthGetApiKey,
109
+ onUsage: reportedTurn.usage,
110
+ onProviderError: reportedTurn.providerError,
98
111
  onToolCall: (tool, args) => {
99
112
  toolCallCount += 1;
113
+ reportedTurn.toolCalled(tool?.name);
100
114
  deps.broadcastAgentEvent?.({
101
115
  type: 'tool_call',
102
116
  toolName: tool?.name ?? 'unknown',
@@ -121,6 +135,9 @@ export async function runAgentTurn(deps, req) {
121
135
  });
122
136
  return { reply: '', toolCallCount, failed: true };
123
137
  }
138
+ finally {
139
+ reportedTurn.finished();
140
+ }
124
141
  });
125
142
  }
126
143
  //# sourceMappingURL=agent-turn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@
6
6
  */
7
7
  import type { ChannelMessage, IChannelAdapter } from '@framers/agentos';
8
8
  import { type ToolInstance } from '../../../runtime/tools/tool-calling.js';
9
+ import { type EventsReporter } from './hosted-events.js';
10
+ import { type RemoteApprovalHandler } from './remote-approvals.js';
9
11
  /** Shared runtime context threaded through every channel helper. */
10
12
  export interface ChannelRuntimeCtx {
11
13
  loadedChannelAdapters: IChannelAdapter[];
@@ -42,6 +44,8 @@ export interface ChannelRuntimeCtx {
42
44
  autoApproveToolCalls: boolean;
43
45
  /** Pre-built LLM judge handler for tool approval decisions (--llm-judge). */
44
46
  llmJudgeHandler?: (tool: ToolInstance, args: Record<string, unknown>) => Promise<boolean>;
47
+ /** Set when `hitl.mode` is `remote`: outward tools ask it, and it stands in for the local approval queue. */
48
+ remoteApprovalHandler?: RemoteApprovalHandler;
45
49
  dangerouslySkipPermissions: boolean;
46
50
  strictToolNames: boolean;
47
51
  openrouterFallback: any;
@@ -54,6 +58,8 @@ export interface ChannelRuntimeCtx {
54
58
  activePacks: any[];
55
59
  cfg: any;
56
60
  adapterByPlatform: Map<string, IChannelAdapter>;
61
+ /** Set when the events variables are; posts each turn's coarse events. */
62
+ eventsReporter?: EventsReporter;
57
63
  }
58
64
  export declare function resolveCuratedPicksChannelId(cfg: any, discordService: any): Promise<string | undefined>;
59
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"channel-handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ import { buildOllamaRuntimeOptions } from '../../../runtime/tools/ollama-options
11
11
  import { allowedToolNamesFor } from '../../../runtime/tools/tool-allow-list.js';
12
12
  import * as fmt from '../../ui/format.js';
13
13
  import { baseUrlFor } from '../../../platform/config/provider-base-urls.js';
14
+ import { isChannelAuthFailure, startReportedTurn } from './hosted-events.js';
15
+ import { askRemoteApproval, outwardApprovalFor } from './remote-approvals.js';
14
16
  // ── Internal helpers ─────────────────────────────────────────────────────────
15
17
  function toAgentosApprovalCategory(tool) {
16
18
  const name = String(tool?.name || '').toLowerCase();
@@ -149,7 +151,7 @@ export function initChannelRuntime(ctx) {
149
151
  * calling, explain trace, and reply delivery.
150
152
  */
151
153
  export async function handleInboundChannelMessage(ctx, message) {
152
- const { pairingEnabled, pairingGroupTriggerEnabled, pairingGroupTrigger, pairing, systemPrompt, channelSessions, discoveryManager, adaptiveRuntime, defaultTenantId, toolMap, canUseLLM, seed, seedId, providerId, model, llmApiKey, llmBaseUrl, policy, autoApproveToolCalls, llmJudgeHandler, dangerouslySkipPermissions, strictToolNames, openrouterFallback, oauthGetApiKey, hitlManager, broadcastHitlUpdate, workspaceAgentId, workspaceBaseDir, turnApprovalMode, adapterByPlatform, } = ctx;
154
+ const { pairingEnabled, pairingGroupTriggerEnabled, pairingGroupTrigger, pairing, systemPrompt, channelSessions, discoveryManager, adaptiveRuntime, defaultTenantId, toolMap, canUseLLM, seed, seedId, providerId, model, llmApiKey, llmBaseUrl, policy, autoApproveToolCalls, llmJudgeHandler, remoteApprovalHandler, dangerouslySkipPermissions, strictToolNames, openrouterFallback, oauthGetApiKey, hitlManager, broadcastHitlUpdate, workspaceAgentId, workspaceBaseDir, turnApprovalMode, adapterByPlatform, } = ctx;
153
155
  const platform = String(message.platform || '').trim();
154
156
  const conversationId = String(message.conversationId || '').trim();
155
157
  if (!platform || !conversationId)
@@ -297,6 +299,7 @@ export async function handleInboundChannelMessage(ctx, message) {
297
299
  let turnFailed = false;
298
300
  let fallbackTriggered = false;
299
301
  let toolCallCount = 0;
302
+ const reportedTurn = startReportedTurn(ctx.eventsReporter);
300
303
  try {
301
304
  if (canUseLLM) {
302
305
  const toolContext = {
@@ -367,6 +370,7 @@ export async function handleInboundChannelMessage(ctx, message) {
367
370
  ollamaOptions: buildOllamaRuntimeOptions(ctx.cfg?.ollama),
368
371
  onToolCall: (tool, args) => {
369
372
  toolCallCount += 1;
373
+ reportedTurn.toolCalled(tool?.name);
370
374
  if (!explain)
371
375
  return;
372
376
  try {
@@ -380,6 +384,13 @@ export async function handleInboundChannelMessage(ctx, message) {
380
384
  // ignore
381
385
  }
382
386
  },
387
+ onUsage: reportedTurn.usage,
388
+ onProviderError: reportedTurn.providerError,
389
+ // hitl.mode "remote": outward tools ask first, whatever the tiers and flags say.
390
+ outwardApproval: outwardApprovalFor(remoteApprovalHandler, {
391
+ conversation: { platform, conversationId },
392
+ reportedTurn,
393
+ }),
383
394
  askPermission: async (tool, args) => {
384
395
  if (autoApproveToolCalls)
385
396
  return true;
@@ -392,6 +403,11 @@ export async function handleInboundChannelMessage(ctx, message) {
392
403
  // Judge failed — fall through to HITL manager prompt
393
404
  }
394
405
  }
406
+ // hitl.mode "remote": the server answers; no one watches the local queue.
407
+ if (remoteApprovalHandler) {
408
+ return (await askRemoteApproval(remoteApprovalHandler, tool, args, { reportedTurn })).approved;
409
+ }
410
+ reportedTurn.approvalRequested();
395
411
  const preview = safeJsonStringify(args, 1800);
396
412
  const effectLabel = tool.hasSideEffects === true ? 'side effects' : 'read-only';
397
413
  const actionId = `tool-${seedId}-${randomUUID()}`;
@@ -411,6 +427,7 @@ export async function handleInboundChannelMessage(ctx, message) {
411
427
  askCheckpoint: turnApprovalMode === 'off' ? undefined : async ({ round, toolCalls }) => {
412
428
  if (autoApproveToolCalls)
413
429
  return true;
430
+ reportedTurn.approvalRequested();
414
431
  const checkpointId = `checkpoint-${seedId}-${sessionKey}-${round}-${randomUUID()}`;
415
432
  const completedWork = toolCalls.map((c) => {
416
433
  const effect = c.hasSideEffects ? 'side effects' : 'read-only';
@@ -460,6 +477,7 @@ export async function handleInboundChannelMessage(ctx, message) {
460
477
  throw error;
461
478
  }
462
479
  finally {
480
+ reportedTurn.finished();
463
481
  try {
464
482
  await adaptiveRuntime.recordTurnOutcome({
465
483
  scope: {
@@ -725,6 +743,13 @@ export function subscribeChannelAdapters(ctx) {
725
743
  });
726
744
  }, ['message']);
727
745
  channelUnsubs.push(unsub);
746
+ if (ctx.eventsReporter) {
747
+ // A rejected token: the platform name says which channel to reconnect.
748
+ channelUnsubs.push(adapter.on((event) => {
749
+ if (isChannelAuthFailure(event))
750
+ ctx.eventsReporter?.report('channel_auth_failed', { code: platform });
751
+ }, ['error']));
752
+ }
728
753
  }
729
754
  catch (err) {
730
755
  console.warn(`[channels] Failed to subscribe to ${platform} adapter:`, err instanceof Error ? err.message : String(err));
@@ -1 +1 @@
1
- {"version":3,"file":"channel-handler.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-handler.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /** The environment variable that names the control plane's agent API root. */
2
+ export declare const EVENTS_URL_ENV = "WUNDERLAND_EVENTS_URL";
3
+ /** The environment variable that holds the agent's bearer token for that API. */
4
+ export declare const EVENTS_TOKEN_ENV = "WUNDERLAND_EVENTS_TOKEN";
5
+ /** How often the reporter posts what waits. */
6
+ export declare const EVENTS_FLUSH_INTERVAL_MS = 5000;
7
+ /** The most events the reporter holds; past this it drops the oldest. */
8
+ export declare const EVENTS_QUEUE_LIMIT = 1000;
9
+ /** The most events one post carries; the events route refuses a larger batch. */
10
+ export declare const EVENTS_BATCH_LIMIT = 200;
11
+ /** The kinds of event the reporter sends. */
12
+ export declare const HOSTED_EVENT_KINDS: readonly ["turn_started", "turn_finished", "tool_called", "approval_requested", "provider_error", "channel_auth_failed", "referral_sent"];
13
+ /** One of {@link HOSTED_EVENT_KINDS}. */
14
+ export type HostedEventKind = (typeof HOSTED_EVENT_KINDS)[number];
15
+ /** The fields a caller may set on an event. */
16
+ export interface HostedEventFields {
17
+ /** A status code or a platform name. */
18
+ code?: string | number;
19
+ /** How many times this happened; the server counts one when absent. */
20
+ count?: number;
21
+ /** Prompt tokens of a finished turn. */
22
+ promptTokens?: number;
23
+ /** Completion tokens of a finished turn. */
24
+ completionTokens?: number;
25
+ /** The name of the tool a `tool_called` event reports. */
26
+ toolName?: string;
27
+ }
28
+ /** An event as it goes out. */
29
+ export interface HostedEvent {
30
+ kind: HostedEventKind;
31
+ /** When it happened, in milliseconds since the epoch. */
32
+ at: number;
33
+ code?: string;
34
+ count?: number;
35
+ promptTokens?: number;
36
+ completionTokens?: number;
37
+ toolName?: string;
38
+ }
39
+ /** Posts events to the control plane in the background. */
40
+ export interface EventsReporter {
41
+ /**
42
+ * Queues one event for the next post. Never throws, never waits. After
43
+ * {@link EventsReporter.stop} it does nothing.
44
+ *
45
+ * @param kind - The event's kind; any other value is ignored.
46
+ * @param fields - Its fields; a field that does not hold what it should is left out.
47
+ * @param operationId - The turn it belongs to, sent in the header
48
+ * `AGENTOS_OPERATION_ID_HEADER` names. Events of different turns go in
49
+ * different posts.
50
+ */
51
+ report(kind: HostedEventKind, fields?: HostedEventFields, operationId?: string): void;
52
+ /** Posts what waits now. Never rejects; a batch the server could not take stays queued. */
53
+ flush(): Promise<void>;
54
+ /** Ends the interval and posts what waits, waiting briefly for the answer. */
55
+ stop(): Promise<void>;
56
+ }
57
+ /**
58
+ * Creates a reporter that posts `{ events: [...] }` to `<url>/events` every
59
+ * {@link EVENTS_FLUSH_INTERVAL_MS}, with `Authorization: Bearer <token>`.
60
+ *
61
+ * A post that gets no answer, a 429 or a 5xx leaves its batch queued for the
62
+ * next try; any other refusal drops the batch. Either way the reason goes to
63
+ * `console.warn`, one line a minute at most and never the token.
64
+ *
65
+ * @param options.url - The API root, without `/events`.
66
+ * @param options.token - The bearer token.
67
+ * @returns The reporter. Its interval does not keep the process alive.
68
+ */
69
+ export declare function createEventsReporter(options: {
70
+ url: string;
71
+ token: string;
72
+ }): EventsReporter;
73
+ /**
74
+ * The reporter the environment asks for: one when `WUNDERLAND_EVENTS_URL` and
75
+ * `WUNDERLAND_EVENTS_TOKEN` both hold a value, none otherwise. A URL that does
76
+ * not parse makes none, with one warning line.
77
+ *
78
+ * @param env - The environment to read; `process.env` by default.
79
+ * @returns The reporter, or `undefined`.
80
+ */
81
+ export declare function createEventsReporterFromEnv(env?: Record<string, string | undefined>): EventsReporter | undefined;
82
+ /** One turn's events, with its counts and its operation id kept in one place. */
83
+ export interface ReportedTurn {
84
+ /** The id the turn's events go out with; none when there is no reporter. */
85
+ readonly operationId?: string;
86
+ /** The model called a tool the agent has; this comes before the call's approval. */
87
+ toolCalled(toolName: unknown): void;
88
+ /** One provider response's usage; the turn adds them up. */
89
+ usage(usage: {
90
+ prompt_tokens?: number;
91
+ completion_tokens?: number;
92
+ }): void;
93
+ /** A provider request failed; its status code goes out, never its message. */
94
+ providerError(error: unknown): void;
95
+ /** The turn is waiting on a person: a tool's approval or a checkpoint. */
96
+ approvalRequested(): void;
97
+ /** The turn ended, however it ended. Later calls do nothing. */
98
+ finished(): void;
99
+ }
100
+ /**
101
+ * Starts one turn's reporting: posts `turn_started`, and returns the calls the
102
+ * turn makes as it goes.
103
+ *
104
+ * @param reporter - The reporter, or `undefined`, which makes every call do nothing.
105
+ * @returns The turn's reporting calls, safe to pass as bare callbacks.
106
+ */
107
+ export declare function startReportedTurn(reporter?: EventsReporter): ReportedTurn;
108
+ /** The `code` a channel pack's `error` event carries when the platform rejected its token. */
109
+ export declare const CHANNEL_AUTH_FAILED_CODE = "auth_failed";
110
+ /**
111
+ * Whether a channel event says the platform rejected the channel's token: an
112
+ * `error` event whose data carries `code: 'auth_failed'`.
113
+ *
114
+ * @param event - The channel event.
115
+ */
116
+ export declare function isChannelAuthFailure(event: {
117
+ type?: unknown;
118
+ data?: unknown;
119
+ } | null | undefined): boolean;
120
+ //# sourceMappingURL=hosted-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-events.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/hosted-events.ts"],"names":[],"mappings":"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"}