@vauban-org/agent-sdk 1.2.0 → 1.3.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 (82) hide show
  1. package/CONTRACT.md +595 -7
  2. package/dist/index.d.ts +4 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/orchestration/ooda/agent.d.ts.map +1 -1
  7. package/dist/orchestration/ooda/agent.js +36 -0
  8. package/dist/orchestration/ooda/agent.js.map +1 -1
  9. package/dist/orchestration/ooda/types.d.ts +11 -0
  10. package/dist/orchestration/ooda/types.d.ts.map +1 -1
  11. package/dist/skills/_secrets.d.ts +16 -0
  12. package/dist/skills/_secrets.d.ts.map +1 -0
  13. package/dist/skills/_secrets.js +20 -0
  14. package/dist/skills/_secrets.js.map +1 -0
  15. package/dist/skills/alpaca-quote.d.ts +2 -2
  16. package/dist/skills/alpaca-quote.d.ts.map +1 -1
  17. package/dist/skills/alpaca-quote.js +51 -20
  18. package/dist/skills/alpaca-quote.js.map +1 -1
  19. package/dist/skills/send-email.d.ts +2 -2
  20. package/dist/skills/send-email.d.ts.map +1 -1
  21. package/dist/skills/send-email.js +1 -12
  22. package/dist/skills/send-email.js.map +1 -1
  23. package/dist/skills/slack-notify.d.ts.map +1 -1
  24. package/dist/skills/slack-notify.js +52 -21
  25. package/dist/skills/slack-notify.js.map +1 -1
  26. package/dist/skills/telegram-notify.d.ts.map +1 -1
  27. package/dist/skills/telegram-notify.js +48 -19
  28. package/dist/skills/telegram-notify.js.map +1 -1
  29. package/dist/skills/web-search.d.ts.map +1 -1
  30. package/dist/skills/web-search.js +85 -40
  31. package/dist/skills/web-search.js.map +1 -1
  32. package/dist/telemetry/bus.d.ts +54 -0
  33. package/dist/telemetry/bus.d.ts.map +1 -0
  34. package/dist/telemetry/bus.js +159 -0
  35. package/dist/telemetry/bus.js.map +1 -0
  36. package/dist/telemetry/index.d.ts +35 -0
  37. package/dist/telemetry/index.d.ts.map +1 -0
  38. package/dist/telemetry/index.js +30 -0
  39. package/dist/telemetry/index.js.map +1 -0
  40. package/dist/telemetry/port.d.ts +121 -0
  41. package/dist/telemetry/port.d.ts.map +1 -0
  42. package/dist/telemetry/port.js +48 -0
  43. package/dist/telemetry/port.js.map +1 -0
  44. package/dist/telemetry/sinks/otlp.d.ts +45 -0
  45. package/dist/telemetry/sinks/otlp.d.ts.map +1 -0
  46. package/dist/telemetry/sinks/otlp.js +195 -0
  47. package/dist/telemetry/sinks/otlp.js.map +1 -0
  48. package/dist/telemetry/sinks/sqlite.d.ts +32 -0
  49. package/dist/telemetry/sinks/sqlite.d.ts.map +1 -0
  50. package/dist/telemetry/sinks/sqlite.js +170 -0
  51. package/dist/telemetry/sinks/sqlite.js.map +1 -0
  52. package/dist/telemetry/sinks/stdout.d.ts +22 -0
  53. package/dist/telemetry/sinks/stdout.d.ts.map +1 -0
  54. package/dist/telemetry/sinks/stdout.js +38 -0
  55. package/dist/telemetry/sinks/stdout.js.map +1 -0
  56. package/docs/telemetry/migration.md +155 -0
  57. package/docs/telemetry/overview.md +154 -0
  58. package/docs/telemetry/privacy.md +127 -0
  59. package/docs/telemetry/sinks/cc.md +155 -0
  60. package/docs/telemetry/sinks/otlp.md +146 -0
  61. package/docs/telemetry/sinks/sqlite.md +126 -0
  62. package/docs/telemetry/sinks/stdout.md +82 -0
  63. package/package.json +18 -19
  64. package/src/index.ts +30 -1
  65. package/src/orchestration/ooda/agent.ts +50 -0
  66. package/src/orchestration/ooda/types.ts +12 -0
  67. package/src/skills/_secrets.ts +25 -0
  68. package/src/skills/alpaca-quote.ts +68 -23
  69. package/src/skills/send-email.ts +1 -12
  70. package/src/skills/slack-notify.ts +73 -30
  71. package/src/skills/telegram-notify.ts +70 -24
  72. package/src/skills/web-search.ts +132 -50
  73. package/src/telemetry/bus.test.ts +231 -0
  74. package/src/telemetry/bus.ts +241 -0
  75. package/src/telemetry/index.ts +49 -0
  76. package/src/telemetry/port.ts +160 -0
  77. package/src/telemetry/sinks/otlp.test.ts +146 -0
  78. package/src/telemetry/sinks/otlp.ts +250 -0
  79. package/src/telemetry/sinks/sqlite.test.ts +121 -0
  80. package/src/telemetry/sinks/sqlite.ts +260 -0
  81. package/src/telemetry/sinks/stdout.test.ts +109 -0
  82. package/src/telemetry/sinks/stdout.ts +59 -0
package/CONTRACT.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @vauban-org/agent-sdk — Public API Contract
2
2
 
3
- **Version:** 0.8.2 | **Status:** public-experimental | **Generated:** 2026-05-15
3
+ **Version:** 0.8.2 | **Status:** public-experimental | **Generated:** 2026-05-16
4
4
 
5
5
  > Vauban agent primitives: loop, budget, routing, HITL, permissions, tracking, durable execution
6
6
 
@@ -477,6 +477,15 @@ export interface AgentResult {
477
477
  stopReason: "complete" | "budget_exhausted" | "error" | string;
478
478
  }
479
479
 
480
+ // Warning: (ae-missing-release-tag) "AgentRunFinalStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
481
+ //
482
+ ```
483
+
484
+ ### `AgentRunFinalStatus`
485
+
486
+ ```typescript
487
+ export type AgentRunFinalStatus = "success" | "failed" | "timeout" | "incoherent";
488
+
480
489
  // Warning: (ae-missing-release-tag) "AgentRunFinish" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
481
490
  //
482
491
  ```
@@ -486,8 +495,6 @@ export interface AgentResult {
486
495
  ```typescript
487
496
  export interface AgentRunFinish {
488
497
  errorMessage?: string;
489
- // Warning: (ae-forgotten-export) The symbol "AgentRunFinalStatus" needs to be exported by the entry point index.d.ts
490
- //
491
498
  status: AgentRunFinalStatus;
492
499
  stopReason?: string;
493
500
  }
@@ -1181,6 +1188,18 @@ export interface BestOfNRewardModel<TOutput> {
1181
1188
 
1182
1189
  ```typescript
1183
1190
  export function bestOfNStrategy<TInput, TOutput>(opts: BestOfNOptions<TInput, TOutput>): Strategy<TInput, TOutput>;
1191
+ ```
1192
+
1193
+ ### `BinaryExecutionOptions`
1194
+
1195
+ ```typescript
1196
+ export interface BinaryExecutionOptions {
1197
+ cwd?: string;
1198
+ executionId?: string;
1199
+ extraEnv?: Record<string, string>;
1200
+ mode?: string;
1201
+ timeoutSeconds?: number;
1202
+ }
1184
1203
 
1185
1204
  // Warning: (ae-missing-release-tag) "BonMavOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
1186
1205
  //
@@ -1540,6 +1559,19 @@ export interface BuildOrientPromptOpts {
1540
1559
 
1541
1560
  ```typescript
1542
1561
  export function buildPersonaPromptBlock(persona: AgentPersona): string;
1562
+ ```
1563
+
1564
+ ### `buildProtocolEnv`
1565
+
1566
+ ```typescript
1567
+ export function buildProtocolEnv(args: {
1568
+ executionId: string;
1569
+ automationName: string;
1570
+ input: unknown;
1571
+ timeoutSeconds: number;
1572
+ mode?: string;
1573
+ extraEnv?: Readonly<Record<string, string>>;
1574
+ }): Record<string, string>;
1543
1575
 
1544
1576
  // Warning: (ae-missing-release-tag) "buildSkillRegistry" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
1545
1577
  //
@@ -1765,6 +1797,12 @@ export interface BusinessHoursOptions {
1765
1797
  windowEnd: string;
1766
1798
  windowStart: string;
1767
1799
  }
1800
+ ```
1801
+
1802
+ ### `calculateDelay`
1803
+
1804
+ ```typescript
1805
+ export function calculateDelay(config: RetryConfig, attempt: number): number;
1768
1806
 
1769
1807
  // Warning: (ae-forgotten-export) The symbol "CalendarCheckInput" needs to be exported by the entry point index.d.ts
1770
1808
  // Warning: (ae-missing-release-tag) "calendarCheck" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
@@ -2691,6 +2729,52 @@ export interface ConsoleChannelConfig {
2691
2729
 
2692
2730
  ```typescript
2693
2731
  export type ConsumerMode = "strict" | "permissive" | "audit_only";
2732
+ ```
2733
+
2734
+ ### `ContainerExecutionOptions`
2735
+
2736
+ ```typescript
2737
+ export interface ContainerExecutionOptions {
2738
+ cpuQuota?: number;
2739
+ executionId?: string;
2740
+ extraEnv?: Record<string, string>;
2741
+ memoryMb?: number;
2742
+ mode?: string;
2743
+ networkMode?: "none" | "outbound" | "bridge";
2744
+ readOnlyRoot?: boolean;
2745
+ timeoutSeconds?: number;
2746
+ }
2747
+ ```
2748
+
2749
+ ### `ContainerRuntime`
2750
+
2751
+ ```typescript
2752
+ export class ContainerRuntime {
2753
+ constructor(opts?: ContainerRuntimeOptions);
2754
+ executeBinary<T = unknown>(command: string[], automationName: string, input: unknown, options?: BinaryExecutionOptions): Promise<ExecutionResult<T>>;
2755
+ executeContainer<T = unknown>(image: string, automationName: string, input: unknown, options?: ContainerExecutionOptions): Promise<ExecutionResult<T>>;
2756
+ }
2757
+ ```
2758
+
2759
+ ### `ContainerRuntimeOptions`
2760
+
2761
+ ```typescript
2762
+ export interface ContainerRuntimeOptions {
2763
+ defaultTimeoutSeconds?: number;
2764
+ sandbox?: SandboxExecutor;
2765
+ spawnFn?: ContainerSpawnFn;
2766
+ }
2767
+ ```
2768
+
2769
+ ### `ContainerSpawnFn`
2770
+
2771
+ ```typescript
2772
+ export type ContainerSpawnFn = (cmd: string, args: string[], opts: {
2773
+ env?: NodeJS.ProcessEnv;
2774
+ cwd?: string;
2775
+ stdio: ["pipe", "pipe", "pipe"];
2776
+ signal?: AbortSignal;
2777
+ }) => ChildProcess;
2694
2778
 
2695
2779
  // Warning: (ae-missing-release-tag) "ContentClaim" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
2696
2780
  //
@@ -2957,6 +3041,40 @@ export function createRunsClient(opts: RunsClientOptions): RunsClient;
2957
3041
 
2958
3042
  ```typescript
2959
3043
  export function createSimpleAgent<TContext, TOrient, TFeedback>(deps: AgentFactoryDeps, opts: SimpleAgentOptions<TContext, TOrient, TFeedback>): Promise<OODAAgent>;
3044
+ ```
3045
+
3046
+ ### `createSkillContext`
3047
+
3048
+ ```typescript
3049
+ export function createSkillContext(opts: CreateSkillContextOptions): SkillContext;
3050
+ ```
3051
+
3052
+ ### `CreateSkillContextOptions`
3053
+
3054
+ ```typescript
3055
+ export interface CreateSkillContextOptions {
3056
+ db: DbClient;
3057
+ dryRunMocks?: Record<string, (input: unknown) => unknown>;
3058
+ executionId?: string;
3059
+ isReplay?: boolean;
3060
+ logger: LoggerPort;
3061
+ progress?: ProgressCallback;
3062
+ secrets?: SecretsAccessor;
3063
+ startedAt?: Date;
3064
+ timeoutSeconds?: number;
3065
+ }
3066
+
3067
+ // Warning: (ae-missing-release-tag) "createTelemetryBus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
3068
+ //
3069
+ ```
3070
+
3071
+ ### `createTelemetryBus`
3072
+
3073
+ ```typescript
3074
+ export function createTelemetryBus(opts: TelemetryBusOptions): TelemetrySink & {
3075
+ counters: TelemetryCounters;
3076
+ flush(): Promise<void>;
3077
+ };
2960
3078
 
2961
3079
  // Warning: (ae-missing-release-tag) "cronSessionGuard" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
2962
3080
  //
@@ -3583,6 +3701,12 @@ export const DEFAULT_PERSONA: AgentPersona;
3583
3701
 
3584
3702
  ```typescript
3585
3703
  export const DEFAULT_POLICIES: Record<string, AxiomPolicy>;
3704
+ ```
3705
+
3706
+ ### `DEFAULT_PROTOCOL_MODE`
3707
+
3708
+ ```typescript
3709
+ export const DEFAULT_PROTOCOL_MODE = "execute";
3586
3710
 
3587
3711
  // Warning: (ae-missing-release-tag) "DEFAULT_RECENCY_HALFLIFE_MS" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
3588
3712
  //
@@ -4408,20 +4532,20 @@ export const EventSchemas: {
4408
4532
  schemaVersion: z.ZodString;
4409
4533
  }, "strict", z.ZodTypeAny, {
4410
4534
  type: "INTERESTED" | "NOT_INTERESTED" | "BOUNCE" | "SPAM" | "OTHER";
4535
+ signal: string;
4411
4536
  priority: "HIGH" | "MEDIUM" | "LOW";
4412
4537
  timestamp: string;
4413
4538
  schemaVersion: string;
4414
- signal: string;
4415
4539
  from: string;
4416
4540
  subject: string;
4417
4541
  uid: string;
4418
4542
  nextAction: string;
4419
4543
  }, {
4420
4544
  type: "INTERESTED" | "NOT_INTERESTED" | "BOUNCE" | "SPAM" | "OTHER";
4545
+ signal: string;
4421
4546
  priority: "HIGH" | "MEDIUM" | "LOW";
4422
4547
  timestamp: string;
4423
4548
  schemaVersion: string;
4424
- signal: string;
4425
4549
  from: string;
4426
4550
  subject: string;
4427
4551
  uid: string;
@@ -4432,11 +4556,11 @@ export const EventSchemas: {
4432
4556
  score: z.ZodNumber;
4433
4557
  source: z.ZodEnum<["inbound", "outbound", "referral"]>;
4434
4558
  }, "strict", z.ZodTypeAny, {
4435
- source: "inbound" | "outbound" | "referral";
4559
+ source: "outbound" | "inbound" | "referral";
4436
4560
  score: number;
4437
4561
  leadId: string;
4438
4562
  }, {
4439
- source: "inbound" | "outbound" | "referral";
4563
+ source: "outbound" | "inbound" | "referral";
4440
4564
  score: number;
4441
4565
  leadId: string;
4442
4566
  }>;
@@ -4959,6 +5083,31 @@ export function executeStep(step: PlanStep, executor: (step: PlanStep) => Promis
4959
5083
 
4960
5084
  ```typescript
4961
5085
  export type ExecutionMode = "dry-run" | "live";
5086
+ ```
5087
+
5088
+ ### `ExecutionResult`
5089
+
5090
+ ```typescript
5091
+ export interface ExecutionResult<T = unknown> {
5092
+ readonly automationName: string;
5093
+ readonly completedAt: Date;
5094
+ readonly durationMs: number;
5095
+ readonly error?: {
5096
+ code: string;
5097
+ message: string;
5098
+ details?: unknown;
5099
+ };
5100
+ readonly executionId: string;
5101
+ readonly input: unknown;
5102
+ readonly logs: ReadonlyArray<{
5103
+ readonly level: string;
5104
+ readonly message: string;
5105
+ readonly timestamp: string;
5106
+ }>;
5107
+ readonly output?: T;
5108
+ readonly startedAt: Date;
5109
+ readonly status: "completed" | "failed" | "timeout";
5110
+ }
4962
5111
 
4963
5112
  // Warning: (ae-missing-release-tag) "ExhaustResourcesOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
4964
5113
  //
@@ -5970,6 +6119,17 @@ export class InMemoryReceiptQueue implements ReceiptQueue {
5970
6119
  }>;
5971
6120
  size(): Promise<number>;
5972
6121
  }
6122
+ ```
6123
+
6124
+ ### `InMemorySecretsAccessor`
6125
+
6126
+ ```typescript
6127
+ export class InMemorySecretsAccessor implements SecretsAccessor {
6128
+ constructor(secrets?: Readonly<Record<string, string>>);
6129
+ get accessedSecrets(): ReadonlySet<string>;
6130
+ get(name: string, defaultValue?: string): string;
6131
+ has(name: string): boolean;
6132
+ }
5973
6133
 
5974
6134
  // Warning: (ae-missing-release-tag) "innerMonologue" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
5975
6135
  //
@@ -6528,6 +6688,27 @@ export interface LoadRecentMemoryOptions {
6528
6688
  ```typescript
6529
6689
  export function loadSkillMd(filePath: string): Promise<ParsedSkillFile>;
6530
6690
 
6691
+ // Warning: (ae-missing-release-tag) "localSqliteTelemetrySink" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
6692
+ //
6693
+ ```
6694
+
6695
+ ### `localSqliteTelemetrySink`
6696
+
6697
+ ```typescript
6698
+ export function localSqliteTelemetrySink(opts?: LocalSqliteTelemetrySinkOptions): TelemetrySink;
6699
+
6700
+ // Warning: (ae-missing-release-tag) "LocalSqliteTelemetrySinkOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
6701
+ //
6702
+ ```
6703
+
6704
+ ### `LocalSqliteTelemetrySinkOptions`
6705
+
6706
+ ```typescript
6707
+ export interface LocalSqliteTelemetrySinkOptions {
6708
+ path?: string;
6709
+ readonly?: boolean;
6710
+ }
6711
+
6531
6712
  // Warning: (ae-missing-release-tag) "LoggerFlushError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
6532
6713
  //
6533
6714
  ```
@@ -7153,6 +7334,12 @@ export interface MultiModalObservation {
7153
7334
  export function multiModalToAnthropicContent(obs: MultiModalObservation): AnthropicContentBlock[];
7154
7335
  ```
7155
7336
 
7337
+ ### `NO_RETRY`
7338
+
7339
+ ```typescript
7340
+ export const NO_RETRY: RetryConfig;
7341
+ ```
7342
+
7156
7343
  ### `NonceStore`
7157
7344
 
7158
7345
  ```typescript
@@ -7184,6 +7371,21 @@ export class NonSerializablePayloadError extends Error {
7184
7371
  constructor(reason: string, path: string[]);
7185
7372
  readonly path: string[];
7186
7373
  }
7374
+ ```
7375
+
7376
+ ### `NOOP_SECRETS`
7377
+
7378
+ ```typescript
7379
+ export const NOOP_SECRETS: SecretsAccessor;
7380
+
7381
+ // Warning: (ae-missing-release-tag) "NOOP_TELEMETRY_SINK" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7382
+ //
7383
+ ```
7384
+
7385
+ ### `NOOP_TELEMETRY_SINK`
7386
+
7387
+ ```typescript
7388
+ export const NOOP_TELEMETRY_SINK: TelemetrySink;
7187
7389
 
7188
7390
  // Warning: (ae-missing-release-tag) "noopLogger" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7189
7391
  //
@@ -7349,6 +7551,7 @@ export interface OODAAgentConfig<TConfig = unknown, TObs = unknown, TOrient = un
7349
7551
  readonly riskGuards?: readonly RiskGuard[];
7350
7552
  readonly sessionGuards?: readonly SessionGuard[];
7351
7553
  readonly skills?: SkillRegistry;
7554
+ readonly telemetry?: TelemetrySink;
7352
7555
  readonly timestamping?: {
7353
7556
  readonly port: TimestampPort;
7354
7557
  readonly queue?: ReceiptQueue;
@@ -7558,6 +7761,30 @@ export interface OtlpSpan {
7558
7761
  traceId: string;
7559
7762
  }
7560
7763
 
7764
+ // Warning: (ae-missing-release-tag) "otlpTelemetrySink" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7765
+ //
7766
+ ```
7767
+
7768
+ ### `otlpTelemetrySink`
7769
+
7770
+ ```typescript
7771
+ export function otlpTelemetrySink(opts: OtlpTelemetrySinkOptions): TelemetrySink;
7772
+
7773
+ // Warning: (ae-missing-release-tag) "OtlpTelemetrySinkOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7774
+ //
7775
+ ```
7776
+
7777
+ ### `OtlpTelemetrySinkOptions`
7778
+
7779
+ ```typescript
7780
+ export interface OtlpTelemetrySinkOptions {
7781
+ fetchImpl?: typeof fetch;
7782
+ headers?: Record<string, string>;
7783
+ serviceName?: string;
7784
+ timeoutMs?: number;
7785
+ url: string;
7786
+ }
7787
+
7561
7788
  // Warning: (ae-missing-release-tag) "Outcome" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7562
7789
  //
7563
7790
  ```
@@ -7837,6 +8064,12 @@ export interface ParsedSkillFile {
7837
8064
  manifest: SkillManifest;
7838
8065
  tier: VaubanSkillTier;
7839
8066
  }
8067
+ ```
8068
+
8069
+ ### `parseProtocolOutput`
8070
+
8071
+ ```typescript
8072
+ export function parseProtocolOutput<T = unknown>(stdout: string): ProtocolResult<T>;
7840
8073
 
7841
8074
  // Warning: (ae-missing-release-tag) "parseSkillMd" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7842
8075
  //
@@ -7846,6 +8079,16 @@ export interface ParsedSkillFile {
7846
8079
 
7847
8080
  ```typescript
7848
8081
  export function parseSkillMd(raw: string, source?: string): ParsedSkillFile;
8082
+ ```
8083
+
8084
+ ### `parseStderrLogs`
8085
+
8086
+ ```typescript
8087
+ export function parseStderrLogs(stderr: string): Array<{
8088
+ level: string;
8089
+ message: string;
8090
+ timestamp: string;
8091
+ }>;
7849
8092
 
7850
8093
  // Warning: (ae-missing-release-tag) "parseStructuredOutput" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
7851
8094
  //
@@ -8442,6 +8685,12 @@ export const PROFITABLE: Axiom;
8442
8685
 
8443
8686
  ```typescript
8444
8687
  export const profitableScorer: ScoringFunction;
8688
+ ```
8689
+
8690
+ ### `ProgressCallback`
8691
+
8692
+ ```typescript
8693
+ export type ProgressCallback = (value: number, message?: string) => void;
8445
8694
 
8446
8695
  // Warning: (ae-missing-release-tag) "ProofChain" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
8447
8696
  //
@@ -8476,6 +8725,49 @@ export interface ProofChainEntry {
8476
8725
 
8477
8726
  ```typescript
8478
8727
  export type ProofGrade = "attestation" | "attestation_custody_compatible" | "custody";
8728
+ ```
8729
+
8730
+ ### `PROTOCOL_ENV`
8731
+
8732
+ ```typescript
8733
+ export const PROTOCOL_ENV: {
8734
+ readonly EXECUTION_ID: "VAUBAN_EXECUTION_ID";
8735
+ readonly AUTOMATION_NAME: "VAUBAN_AUTOMATION_NAME";
8736
+ readonly INPUT: "VAUBAN_INPUT";
8737
+ readonly TIMEOUT: "VAUBAN_TIMEOUT";
8738
+ readonly MODE: "VAUBAN_MODE";
8739
+ };
8740
+ ```
8741
+
8742
+ ### `ProtocolParseError`
8743
+
8744
+ ```typescript
8745
+ export class ProtocolParseError extends Error {
8746
+ constructor(reason: string, rawTail: string);
8747
+ readonly rawTail: string;
8748
+ }
8749
+ ```
8750
+
8751
+ ### `ProtocolResult`
8752
+
8753
+ ```typescript
8754
+ export type ProtocolResult<T = unknown> = {
8755
+ readonly status: "completed";
8756
+ readonly output: T;
8757
+ } | {
8758
+ readonly status: "failed";
8759
+ readonly error: {
8760
+ readonly code: string;
8761
+ readonly message: string;
8762
+ readonly details?: unknown;
8763
+ };
8764
+ };
8765
+ ```
8766
+
8767
+ ### `ProtocolStatus`
8768
+
8769
+ ```typescript
8770
+ export type ProtocolStatus = "completed" | "failed";
8479
8771
 
8480
8772
  // Warning: (ae-missing-release-tag) "ProviderRouter" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
8481
8773
  //
@@ -9337,6 +9629,77 @@ export interface ResumeWorkflowOpts {
9337
9629
  readonly leaseTtlSeconds?: number;
9338
9630
  readonly workerId: string;
9339
9631
  }
9632
+ ```
9633
+
9634
+ ### `retry`
9635
+
9636
+ ```typescript
9637
+ export function retry<T>(fn: () => Promise<T>, opts?: RetryOptions): Promise<T>;
9638
+ ```
9639
+
9640
+ ### `RETRY_AGGRESSIVE`
9641
+
9642
+ ```typescript
9643
+ export const RETRY_AGGRESSIVE: RetryConfig;
9644
+ ```
9645
+
9646
+ ### `RETRY_PATIENT`
9647
+
9648
+ ```typescript
9649
+ export const RETRY_PATIENT: RetryConfig;
9650
+ ```
9651
+
9652
+ ### `RETRY_TRANSIENT`
9653
+
9654
+ ```typescript
9655
+ export const RETRY_TRANSIENT: RetryConfig;
9656
+ ```
9657
+
9658
+ ### `RetryConfig`
9659
+
9660
+ ```typescript
9661
+ export interface RetryConfig {
9662
+ readonly baseDelayMs: number;
9663
+ readonly exponentialBase: number;
9664
+ readonly jitter: boolean;
9665
+ readonly maxAttempts: number;
9666
+ readonly maxDelayMs: number;
9667
+ readonly retryIf?: (err: unknown) => boolean;
9668
+ readonly retryOn?: ReadonlyArray<new (...args: never[]) => Error>;
9669
+ }
9670
+ ```
9671
+
9672
+ ### `RetryContext`
9673
+
9674
+ ```typescript
9675
+ export class RetryContext {
9676
+ constructor(opts: RetryOptions & {
9677
+ config: RetryConfig;
9678
+ });
9679
+ get attempt(): number;
9680
+ handleError(err: unknown): Promise<void>;
9681
+ get shouldContinue(): boolean;
9682
+ }
9683
+ ```
9684
+
9685
+ ### `RetryExhaustedError`
9686
+
9687
+ ```typescript
9688
+ export class RetryExhaustedError extends Error {
9689
+ constructor(attempts: number, lastError: unknown);
9690
+ readonly attempts: number;
9691
+ readonly lastError: unknown;
9692
+ }
9693
+ ```
9694
+
9695
+ ### `RetryOptions`
9696
+
9697
+ ```typescript
9698
+ export interface RetryOptions {
9699
+ config?: RetryConfig;
9700
+ onRetry?: (err: unknown, attempt: number, delayMs: number) => void;
9701
+ sleepFn?: SleepFn;
9702
+ }
9340
9703
 
9341
9704
  // Warning: (ae-missing-release-tag) "RiskGuard" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
9342
9705
  //
@@ -9638,6 +10001,43 @@ export type RunStreamEventName = "step_existing" | "step_new" | "run_complete" |
9638
10001
 
9639
10002
  ```typescript
9640
10003
  export function runTwoPhaseOrient<C, O, R>(config: TwoPhaseOrientConfig<C, O, R>, context: C): Promise<TwoPhaseOrientResult<O, R>>;
10004
+ ```
10005
+
10006
+ ### `SandboxExecutor`
10007
+
10008
+ ```typescript
10009
+ export interface SandboxExecutor {
10010
+ run(job: SandboxJob): Promise<SandboxResult>;
10011
+ }
10012
+ ```
10013
+
10014
+ ### `SandboxJob`
10015
+
10016
+ ```typescript
10017
+ export interface SandboxJob {
10018
+ command: string[];
10019
+ cpuQuota?: number;
10020
+ cwd?: string;
10021
+ env?: Record<string, string>;
10022
+ image: string;
10023
+ memoryMb?: number;
10024
+ networkMode?: "none" | "outbound" | "bridge";
10025
+ readOnlyRoot?: boolean;
10026
+ stdin?: string;
10027
+ timeoutMs: number;
10028
+ }
10029
+ ```
10030
+
10031
+ ### `SandboxResult`
10032
+
10033
+ ```typescript
10034
+ export interface SandboxResult {
10035
+ durationMs: number;
10036
+ exitCode: number;
10037
+ stderr: string;
10038
+ stdout: string;
10039
+ timedOut: boolean;
10040
+ }
9641
10041
 
9642
10042
  // Warning: (ae-missing-release-tag) "SanitizedItem" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
9643
10043
  //
@@ -9896,6 +10296,25 @@ export interface SealedSprintClaim {
9896
10296
 
9897
10297
  ```typescript
9898
10298
  export const SECRET_PATTERN: RegExp;
10299
+ ```
10300
+
10301
+ ### `SecretNotFoundError`
10302
+
10303
+ ```typescript
10304
+ export class SecretNotFoundError extends Error {
10305
+ constructor(secretName: string);
10306
+ readonly secretName: string;
10307
+ }
10308
+ ```
10309
+
10310
+ ### `SecretsAccessor`
10311
+
10312
+ ```typescript
10313
+ export interface SecretsAccessor {
10314
+ readonly accessedSecrets: ReadonlySet<string>;
10315
+ get(name: string, defaultValue?: string): string;
10316
+ has(name: string): boolean;
10317
+ }
9899
10318
 
9900
10319
  // Warning: (ae-forgotten-export) The symbol "SendEmailInput" needs to be exported by the entry point index.d.ts
9901
10320
  // Warning: (ae-missing-release-tag) "sendEmail" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
@@ -10033,6 +10452,12 @@ export function sha256(input: string | Uint8Array): Promise<string>;
10033
10452
 
10034
10453
  ```typescript
10035
10454
  export function shouldLearn(trigger: LearningTrigger): boolean;
10455
+ ```
10456
+
10457
+ ### `shouldRetry`
10458
+
10459
+ ```typescript
10460
+ export function shouldRetry(config: RetryConfig, err: unknown, attempt: number): boolean;
10036
10461
 
10037
10462
  // Warning: (ae-missing-release-tag) "SignalBrainPort" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
10038
10463
  //
@@ -10132,8 +10557,13 @@ export interface SkillBuilderDeps {
10132
10557
  export interface SkillContext {
10133
10558
  readonly db: DbClient;
10134
10559
  readonly dryRunMocks: Record<string, (input: unknown) => unknown>;
10560
+ readonly elapsedSeconds?: number;
10561
+ readonly executionId?: string;
10135
10562
  readonly isReplay: boolean;
10136
10563
  readonly logger: LoggerPort;
10564
+ readonly progress?: ProgressCallback;
10565
+ readonly remainingSeconds?: number;
10566
+ readonly secrets?: SecretsAccessor;
10137
10567
  }
10138
10568
 
10139
10569
  // Warning: (ae-missing-release-tag) "SkillExecutionError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
@@ -10710,6 +11140,12 @@ export interface SlackTriggerContext {
10710
11140
  channelId: string;
10711
11141
  userId: string;
10712
11142
  }
11143
+ ```
11144
+
11145
+ ### `SleepFn`
11146
+
11147
+ ```typescript
11148
+ export type SleepFn = (ms: number) => Promise<void>;
10713
11149
 
10714
11150
  // Warning: (ae-missing-release-tag) "SolvencyClaim" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
10715
11151
  //
@@ -10825,6 +11261,27 @@ export interface StartWorkflowOpts {
10825
11261
  readonly workflowVersion: string;
10826
11262
  }
10827
11263
 
11264
+ // Warning: (ae-missing-release-tag) "stdoutTelemetrySink" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11265
+ //
11266
+ ```
11267
+
11268
+ ### `stdoutTelemetrySink`
11269
+
11270
+ ```typescript
11271
+ export function stdoutTelemetrySink(opts?: StdoutTelemetrySinkOptions): TelemetrySink;
11272
+
11273
+ // Warning: (ae-missing-release-tag) "StdoutTelemetrySinkOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11274
+ //
11275
+ ```
11276
+
11277
+ ### `StdoutTelemetrySinkOptions`
11278
+
11279
+ ```typescript
11280
+ export interface StdoutTelemetrySinkOptions {
11281
+ json?: boolean;
11282
+ stream?: NodeJS.WritableStream;
11283
+ }
11284
+
10828
11285
  // Warning: (ae-missing-release-tag) "StepCountExceededError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
10829
11286
  //
10830
11287
  ```
@@ -11253,6 +11710,137 @@ export interface TelegramTriggerContext {
11253
11710
  };
11254
11711
  }
11255
11712
 
11713
+ // Warning: (ae-missing-release-tag) "TelemetryBusOptions" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11714
+ //
11715
+ ```
11716
+
11717
+ ### `TelemetryBusOptions`
11718
+
11719
+ ```typescript
11720
+ export interface TelemetryBusOptions {
11721
+ logger?: TelemetryLogger;
11722
+ maxQueueDepth?: number;
11723
+ nonBlocking?: boolean;
11724
+ sinks: readonly TelemetrySink[];
11725
+ }
11726
+
11727
+ // Warning: (ae-missing-release-tag) "TelemetryCounters" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11728
+ //
11729
+ ```
11730
+
11731
+ ### `TelemetryCounters`
11732
+
11733
+ ```typescript
11734
+ export interface TelemetryCounters {
11735
+ readonly dispatched: number;
11736
+ readonly dropped: number;
11737
+ readonly sinkErrors: number;
11738
+ }
11739
+
11740
+ // Warning: (ae-missing-release-tag) "TelemetryLogger" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11741
+ //
11742
+ ```
11743
+
11744
+ ### `TelemetryLogger`
11745
+
11746
+ ```typescript
11747
+ export interface TelemetryLogger {
11748
+ error(obj: Record<string, unknown>, msg?: string): void;
11749
+ warn(obj: Record<string, unknown>, msg?: string): void;
11750
+ }
11751
+
11752
+ // Warning: (ae-missing-release-tag) "TelemetryRunFinish" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11753
+ //
11754
+ ```
11755
+
11756
+ ### `TelemetryRunFinish`
11757
+
11758
+ ```typescript
11759
+ export interface TelemetryRunFinish {
11760
+ errorMessage?: string;
11761
+ finishedAt: string;
11762
+ status: TelemetryRunStatus;
11763
+ stopReason?: string;
11764
+ totalCostUsd?: number;
11765
+ totalInputTokens?: number;
11766
+ totalOutputTokens?: number;
11767
+ totalToolCalls?: number;
11768
+ }
11769
+
11770
+ // Warning: (ae-missing-release-tag) "TelemetryRunStart" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11771
+ //
11772
+ ```
11773
+
11774
+ ### `TelemetryRunStart`
11775
+
11776
+ ```typescript
11777
+ export interface TelemetryRunStart {
11778
+ agentId: string;
11779
+ agentVersion: string;
11780
+ model: string;
11781
+ provider: string;
11782
+ runId: string;
11783
+ startedAt: string;
11784
+ tenantId?: string;
11785
+ traceId?: string;
11786
+ }
11787
+
11788
+ // Warning: (ae-missing-release-tag) "TelemetryRunStatus" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11789
+ //
11790
+ ```
11791
+
11792
+ ### `TelemetryRunStatus`
11793
+
11794
+ ```typescript
11795
+ export type TelemetryRunStatus = "success" | "failed" | "skipped" | "timeout" | "incoherent";
11796
+
11797
+ // Warning: (ae-missing-release-tag) "TelemetryRunStep" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11798
+ //
11799
+ ```
11800
+
11801
+ ### `TelemetryRunStep`
11802
+
11803
+ ```typescript
11804
+ export interface TelemetryRunStep {
11805
+ costUsd: number;
11806
+ durationMs?: number;
11807
+ inputTokens: number;
11808
+ kind: string;
11809
+ metadata?: Record<string, unknown>;
11810
+ outputTokens: number;
11811
+ status: "completed" | "failed" | "skipped";
11812
+ stepIndex: number;
11813
+ toolCalls?: number;
11814
+ }
11815
+
11816
+ // Warning: (ae-missing-release-tag) "TelemetrySink" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11817
+ //
11818
+ ```
11819
+
11820
+ ### `TelemetrySink`
11821
+
11822
+ ```typescript
11823
+ export interface TelemetrySink {
11824
+ finish(runId: string, event: TelemetryRunFinish): Promise<void>;
11825
+ flush?(): Promise<void>;
11826
+ readonly name: string;
11827
+ start(event: TelemetryRunStart): Promise<string | void>;
11828
+ step(runId: string, delta: TelemetryRunStep): Promise<void>;
11829
+ }
11830
+
11831
+ // Warning: (ae-missing-release-tag) "TelemetrySinkError" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11832
+ //
11833
+ ```
11834
+
11835
+ ### `TelemetrySinkError`
11836
+
11837
+ ```typescript
11838
+ export class TelemetrySinkError extends Error {
11839
+ constructor(message: string, sinkName: string, cause?: unknown | undefined);
11840
+ readonly cause?: unknown | undefined;
11841
+ readonly sinkName: string;
11842
+ }
11843
+
11256
11844
  // Warning: (ae-missing-release-tag) "TenantContext" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal)
11257
11845
  //
11258
11846
  ```