@framers/agentos 0.9.15 → 0.9.17

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 (2) hide show
  1. package/README.md +32 -0
  2. package/package.json +4 -7
package/README.md CHANGED
@@ -404,6 +404,38 @@ Provider fallback is an explicit opt-in via `agent({ fallbackProviders: [...] })
404
404
 
405
405
  [Full API reference ->](https://docs.agentos.sh/api) * [High-Level API guide ->](https://docs.agentos.sh/getting-started/high-level-api)
406
406
 
407
+ ### Tuning generation knobs
408
+
409
+ Per-LLM-call knobs live on a flat namespace. Override chain runs **per-call → per-agent → provider default**.
410
+
411
+ | Knob | Where you set it | What it does |
412
+ |---|---|---|
413
+ | `maxTokens` | `agent({ maxTokens })` / `generate(prompt, { maxTokens })` / `generateText({ maxTokens })` / `generateObject({ maxTokens })` | Caps completion tokens per call. Provider defaults: Anthropic **16000** (was 4096 pre-`0.9.13`; raised so Claude 4 tool-use responses don't truncate mid-JSON), OpenAI 4096, Gemini 8192. |
414
+ | `temperature` | Same surfaces | 0-2; lower = deterministic, higher = creative. Opus 4.7 ignores this — extended-thinking models use their own sampler. |
415
+ | `maxSteps` | `agent({ maxSteps })` | Caps the inner tool-use loop per `.generate()`. Default `5`. Keep low (3-5) when an outer scheduler also iterates; tool latency multiplies by steps. |
416
+ | `controls.maxTotalTokens` | `agent({ controls: { maxTotalTokens } })` | Hard ceiling on input + output combined per turn; full-runtime `agency()` enforces it. |
417
+ | `controls.maxDurationMs` | Same | Hard wall-clock cap per turn; surfaces as a thrown error rather than letting the API hang. |
418
+ | `fallbackProviders` | `agent({ fallbackProviders })` | Ordered chain of `{ provider, model? }` entries the runtime walks on retryable errors. |
419
+ | `provider` / `model` | `agent({ provider, model })` or pass `"provider/model"` to any generate helper | Routing. Slash form auto-detects when prefix matches a known provider id. |
420
+
421
+ ```ts
422
+ // Pin defaults at agent construction:
423
+ const writer = agent({
424
+ provider: 'anthropic',
425
+ model: 'claude-opus-4-7',
426
+ instructions: 'Write punchy product copy.',
427
+ maxTokens: 2000,
428
+ temperature: 0.7,
429
+ });
430
+
431
+ // Override on a specific call when one response needs more room:
432
+ const longform = await writer.generate('Draft a 4-page whitepaper.', {
433
+ maxTokens: 16000,
434
+ });
435
+ ```
436
+
437
+ Caveat: `generateObject()` auto-derives a sane default for `maxTokens` from the Zod schema shape when omitted — Boolean schemas land ~50 tokens, large array-of-object schemas land ~8k. Explicit `maxTokens` overrides the estimate.
438
+
407
439
  ---
408
440
 
409
441
  ## Documentation & Community
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.9.15",
3
+ "version": "0.9.17",
4
4
  "description": "AgentOS — open-source TypeScript runtime for autonomous AI agents. Unified graph orchestration, cognitive memory, runtime tool generation, multi-tier guardrails, voice pipeline, and 21 LLM providers.",
5
5
  "homepage": "https://agentos.sh",
6
6
  "repository": {
@@ -568,6 +568,7 @@
568
568
  },
569
569
  "scripts": {
570
570
  "clean": "rimraf dist tsconfig.build.tsbuildinfo",
571
+ "prepare": "test -d dist || npm run build",
571
572
  "build": "npm run clean && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node scripts/fix-esm-imports.mjs",
572
573
  "build:knowledge": "node scripts/build-knowledge-corpus.mjs",
573
574
  "verify:exports": "node --test scripts/package-exports.test.mjs",
@@ -641,8 +642,7 @@
641
642
  },
642
643
  "devDependencies": {
643
644
  "@eslint/js": "^9.11.0",
644
- "@framers/agentos-extensions-registry": "^0.18.0",
645
- "@framers/sql-storage-adapter": "^0.6.5",
645
+ "@framers/agentos-extensions-registry": "^0.18.2",
646
646
  "@opentelemetry/context-async-hooks": "^2.0.1",
647
647
  "@opentelemetry/sdk-metrics": "^2.0.1",
648
648
  "@opentelemetry/sdk-trace-base": "^2.0.1",
@@ -675,6 +675,7 @@
675
675
  "vitest": "^1.6.0"
676
676
  },
677
677
  "dependencies": {
678
+ "@framers/sql-storage-adapter": "^0.6.6",
678
679
  "@opentelemetry/api": "^1.9.0",
679
680
  "@opentelemetry/api-logs": "^0.201.1",
680
681
  "ajv": "^8.17.1",
@@ -696,7 +697,6 @@
696
697
  "zod-to-json-schema": "^3.25.2"
697
698
  },
698
699
  "peerDependencies": {
699
- "@framers/sql-storage-adapter": "^0.6.5",
700
700
  "graphology": ">=0.25.0",
701
701
  "graphology-communities-louvain": ">=2.0.0",
702
702
  "graphology-types": ">=0.24.0",
@@ -707,9 +707,6 @@
707
707
  "typescript": ">=5.0.0"
708
708
  },
709
709
  "peerDependenciesMeta": {
710
- "@framers/sql-storage-adapter": {
711
- "optional": true
712
- },
713
710
  "graphology": {
714
711
  "optional": true
715
712
  },