@hue-run/sdk 0.20.3 → 0.20.4

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/CLI.md CHANGED
@@ -42,7 +42,7 @@ project manifest are refused because managers can update ancestor locks; Python
42
42
  The generated `hue.setup.mjs` or `hue_setup.py` always selects `captureContent: false` /
43
43
  `capture_content=False`. For a supported application, setup installs the dependency and adds the
44
44
  managed import and middleware registration to the existing entrypoint; an unreferenced helper is
45
- not a completed integration. TypeScript uses `@hue-run/sdk@0.20.3`, `@opentelemetry/api@1.9.1` and
45
+ not a completed integration. TypeScript uses `@hue-run/sdk@0.20.4`, `@opentelemetry/api@1.9.1` and
46
46
  `@opentelemetry/context-async-hooks@2.11.0`; Python setup uses its separately tested package pin.
47
47
  Content capture requires an ordinary account-managed key and a later explicit application decision.
48
48
 
@@ -381,8 +381,8 @@ and Hue never receives or stores them. The command is part of the `hue` executab
381
381
  # LANGFUSE_PUBLIC_KEY=pk-lf-...
382
382
  # LANGFUSE_SECRET_KEY=sk-lf-...
383
383
  # LANGFUSE_BASE_URL=https://cloud.langfuse.com
384
- npx -y @hue-run/sdk@0.20.3 import langfuse --env-path .env.langfuse --from 2026-01-01 --dry-run
385
- npx -y @hue-run/sdk@0.20.3 import langfuse --env-path .env.langfuse --from 2026-01-01 --media
384
+ npx -y @hue-run/sdk@0.20.4 import langfuse --env-path .env.langfuse --from 2026-01-01 --dry-run
385
+ npx -y @hue-run/sdk@0.20.4 import langfuse --env-path .env.langfuse --from 2026-01-01 --media
386
386
  ```
387
387
 
388
388
  `LANGFUSE_PUBLIC_KEY` and `LANGFUSE_SECRET_KEY` come from the environment or `--env-path`
@@ -687,7 +687,7 @@ node packages/sdk-typescript/scripts/verify-package.mjs --artifacts-dir .artifac
687
687
  # Set project to an existing supported fixture; use the same directory on resume.
688
688
  project=/absolute/path/to/supported-fixture
689
689
  node packages/sdk-typescript/scripts/verify-setup-live.mjs \
690
- --archive .artifacts/typescript/hue-run-sdk-0.20.3.tgz \
690
+ --archive .artifacts/typescript/hue-run-sdk-0.20.4.tgz \
691
691
  --origin https://STAGING_ORIGIN \
692
692
  --project "$project" --command setup \
693
693
  --evidence .context/setup-staging-before-claim.json
@@ -698,7 +698,7 @@ the private local handoff and finish the real browser claim, then reconcile the
698
698
 
699
699
  ```sh
700
700
  node packages/sdk-typescript/scripts/verify-setup-live.mjs \
701
- --archive .artifacts/typescript/hue-run-sdk-0.20.3.tgz \
701
+ --archive .artifacts/typescript/hue-run-sdk-0.20.4.tgz \
702
702
  --origin https://STAGING_ORIGIN \
703
703
  --project "$project" --command claim \
704
704
  --evidence .context/setup-staging-after-claim.json
@@ -740,10 +740,10 @@ otherwise. Never hand the agent Hue-native tools (`context.tools`, `context.mcp`
740
740
  production agent lacks. Pin the SDK, so the agent's repository gains no dependency:
741
741
 
742
742
  ```sh
743
- npx -y @hue-run/sdk@0.20.3 eval --case "Refund an eligible charge" --command "node agent.js"
744
- npx -y @hue-run/sdk@0.20.3 eval --case https://app.hue.run/projects/demo/scenarios/<id> --command "python agent.py" --timeout 120 --baseline <run id>
745
- npx -y @hue-run/sdk@0.20.3 eval --set "Billing regressions" --scorer-version <id> --command "node agent.js" --save-version
746
- npx -y @hue-run/sdk@0.20.3 eval --worker --command "node agent.js" --agent-key support-agent --revision <new-agent-revision>
743
+ npx -y @hue-run/sdk@0.20.4 eval --case "Refund an eligible charge" --command "node agent.js"
744
+ npx -y @hue-run/sdk@0.20.4 eval --case https://app.hue.run/projects/demo/scenarios/<id> --command "python agent.py" --timeout 120 --baseline <run id>
745
+ npx -y @hue-run/sdk@0.20.4 eval --set "Billing regressions" --scorer-version <id> --command "node agent.js" --save-version
746
+ npx -y @hue-run/sdk@0.20.4 eval --worker --command "node agent.js" --agent-key support-agent --revision <new-agent-revision>
747
747
  ```
748
748
 
749
749
  One invocation creates one run holding every selected case; it prints the run URL
@@ -781,7 +781,7 @@ export default function runMyAgent(inputs: JsonValue, context: SimulationTargetC
781
781
  ```
782
782
 
783
783
  ```sh
784
- npx -y @hue-run/sdk@0.20.3 eval --case "Refund an eligible charge" ./hue-agent.ts --content
784
+ npx -y @hue-run/sdk@0.20.4 eval --case "Refund an eligible charge" ./hue-agent.ts --content
785
785
  ```
786
786
 
787
787
  `--scenario` remains an alias for `--case` for existing scripts. Pass one selection flag.
@@ -825,7 +825,7 @@ every case of the saved version; there is no case subset.
825
825
 
826
826
  `--judges` requests the run's pinned
827
827
  `llm_judge` evaluators after outputs upload, before verdict polling. It is off by default and
828
- works in direct, simulation and worker modes. Requests use the project's hosted judge budget;
828
+ works in direct, simulation and worker modes. Requests use Hue's hosted judge budget;
829
829
  Hue applies its admission controls to new jobs. An accepted request remains replayable if the
830
830
  budget is later disabled. Cases without stored output are excluded, and combining
831
831
  `--judges` with `--no-output` is refused. `--check` creates no judge jobs.
package/EVALUATIONS.md CHANGED
@@ -184,7 +184,7 @@ Scorer deferral shipped in TypeScript `0.3.1`: the local runner executes only th
184
184
 
185
185
  `world_outcome` pins (`hue.conversion_outcome.v1` and `.v2`, and the `hue.outcome_assertions.v2` and `.v3` case-outcome evaluators, `.v3` with its pinned judge in `config.judge`) run inside Hue and need no local callback or executable source digest. A supporting server owns their execution from saved world evidence. Legacy `local_code` pins still require the exact registered callback; changing the worker cannot convert those immutable pins into hosted ones.
186
186
 
187
- Manual results require a human session. Hosted model-judge dispatch is explicit: call `createJudgeJobs(runId,{idempotencyKey,jobs:[{evaluationItemId,scorerVersionId}]})`. Hue checks the project's budget when admitting new requests. `getJudgeBudget()` reports its current state, but replay an interrupted request with the same key and body even if that state changed. The [`hue eval --judges`](./CLI.md#evaluate-an-agent-against-a-case) option performs this dispatch after outputs upload; it is off by default. `listJudgeJobs`, `getJudgeJob` and `cancelJudgeJob` expose job progress and cancellation requests. These methods never claim that local execution has hosted provenance. Hosted job endpoints are covered by HTTP contract tests here; live hosted model execution is a separate platform acceptance phase. `listResults` and `getResult` read recorded local or hosted results.
187
+ Manual results require a human session. Hosted model-judge dispatch is explicit: call `createJudgeJobs(runId,{idempotencyKey,jobs:[{evaluationItemId,scorerVersionId}]})`. Hue checks its judge budget when admitting new requests. `getJudgeBudget()` reports its current state, and on current servers the organization's monthly AI budget as `organizationBudget`, but replay an interrupted request with the same key and body even if that state changed. The [`hue eval --judges`](./CLI.md#evaluate-an-agent-against-a-case) option performs this dispatch after outputs upload; it is off by default. `listJudgeJobs`, `getJudgeJob` and `cancelJudgeJob` expose job progress and cancellation requests. These methods never claim that local execution has hosted provenance. Hosted job endpoints are covered by HTTP contract tests here; live hosted model execution is a separate platform acceptance phase. `listResults` and `getResult` read recorded local or hosted results.
188
188
 
189
189
  When present, the budget's `authentication` reports credential resolution only. An
190
190
  `available` status or `configured: true` does not prove that a provider accepted the
package/README.md CHANGED
@@ -536,8 +536,8 @@ the Langfuse project's own keys (`LANGFUSE_PUBLIC_KEY`, `LANGFUSE_SECRET_KEY`, a
536
536
  `HUE_API_KEY`:
537
537
 
538
538
  ```sh
539
- npx -y @hue-run/sdk@0.20.3 import langfuse --env-path .env.langfuse --from 2026-01-01 --dry-run
540
- npx -y @hue-run/sdk@0.20.3 import langfuse --env-path .env.langfuse --from 2026-01-01 --media
539
+ npx -y @hue-run/sdk@0.20.4 import langfuse --env-path .env.langfuse --from 2026-01-01 --dry-run
540
+ npx -y @hue-run/sdk@0.20.4 import langfuse --env-path .env.langfuse --from 2026-01-01 --media
541
541
  ```
542
542
 
543
543
  - It reads Langfuse Cloud and self-hosted v4 through the Observations API v2, and self-hosted v3
@@ -502,6 +502,31 @@ export interface JudgeBudget {
502
502
  maxInFlight: number;
503
503
  /** Dispatch is currently blocked. */
504
504
  blocked: boolean;
505
+ /** Micro-USD the organization's monthly AI budget can still admit; absent on older servers. */
506
+ organizationAvailableMicroUsd?: number;
507
+ /** The organization's monthly AI budget (one UTC calendar month), which hosted judging draws on.
508
+ * Amounts are decimal USD strings. Absent on older servers; `null` when there is no organization
509
+ * budget to report. */
510
+ organizationBudget?: {
511
+ /** The month's allowance. */
512
+ monthlyAllowanceUsd: string;
513
+ /** Settled spend this month. */
514
+ actualSpendUsd: string;
515
+ /** Reserved by calls in flight. */
516
+ reservedUsd: string;
517
+ /** Held by calls whose cost is not known yet. */
518
+ unresolvedUsd: string;
519
+ /** Calls whose cost is not known yet. */
520
+ unresolvedCalls: number;
521
+ /** What the month can still admit. */
522
+ remainingUsd: string;
523
+ /** First day of the month, `YYYY-MM-DD`. */
524
+ periodStart: string;
525
+ /** When the next month starts, as an ISO 8601 timestamp. */
526
+ resetsAt: string;
527
+ /** No more AI work is admitted this month. */
528
+ paused: boolean;
529
+ } | null;
505
530
  }
506
531
  /** A scorer and its published versions. */
507
532
  export interface Scorer extends Identity {
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** Package version shared by the instrumentation scope and the export User-Agent. */
2
- export declare const sdkVersion = "0.20.3";
2
+ export declare const sdkVersion = "0.20.4";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Generated by scripts/write-version.mjs from package.json; do not edit by hand.
2
2
  /** Package version shared by the instrumentation scope and the export User-Agent. */
3
- export const sdkVersion = "0.20.3";
3
+ export const sdkVersion = "0.20.4";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hue-run/sdk",
3
- "version": "0.20.3",
3
+ "version": "0.20.4",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "publishConfig": {