omnius 1.0.807 → 1.0.809

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.
@@ -5730,7 +5730,7 @@
5730
5730
  "operations": {
5731
5731
  "post": {
5732
5732
  "summary": "Stateful direct chat with explicit autonomous-agent opt-in",
5733
- "description": "Drop-in replacement for OpenAI /v1/chat/completions and Ollama /api/chat. Requests use direct backend inference by default. Set tools=true or use_tools=true to explicitly run the full Omnius autonomous-agent stack. Explicit agent runs have a daemon-enforced whole-run deadline and duplicate-work suppression.",
5733
+ "description": "Drop-in replacement for OpenAI /v1/chat/completions and Ollama /api/chat. Requests use direct backend inference by default. Set tools=true or use_tools=true to explicitly run the full Omnius autonomous-agent stack. Explicit agent runs reject duplicate concurrent work and continue until completion, failure, explicit Stop, or daemon shutdown. They have no whole-run wall-clock deadline; legacy agent_timeout_s and OMNIUS_CHAT_AGENT_TIMEOUT_S are ignored.",
5734
5734
  "tags": [
5735
5735
  "Chat"
5736
5736
  ],
@@ -5798,10 +5798,8 @@
5798
5798
  },
5799
5799
  "agent_timeout_s": {
5800
5800
  "type": "number",
5801
- "minimum": 0.05,
5802
- "maximum": 3600,
5803
- "default": 180,
5804
- "description": "Daemon-enforced whole-agent wall-clock deadline. Distinct from timeout_s."
5801
+ "deprecated": true,
5802
+ "description": "Ignored compatibility field. Agent runs have no whole-run wall-clock deadline."
5805
5803
  }
5806
5804
  }
5807
5805
  }
@@ -6096,7 +6094,7 @@
6096
6094
  "$ref": "#/components/parameters/MinimumOmniusVersion"
6097
6095
  }
6098
6096
  ],
6099
- "description": "Standard OpenAI chat-completion proxy by default. Set agent_loop=true to enter a bounded synchronous server-side loop that auto-executes selected daemon tools and re-prompts the model. Ollama targets use native /api/chat tool messages. timeout_s bounds each backend call; agent_timeout_s bounds the whole loop (default 45s, max 600s). daemon_tool_names explicitly limits the offered catalog; factual-first implicitly limits it to web_search/web_fetch when no names are supplied. Identical repeated calls fail with HTTP 508 instead of looping. SSE streaming outside agent_loop honors OpenAI tool_calls deltas.",
6097
+ "description": "Standard OpenAI chat-completion proxy by default. Set agent_loop=true to enter a synchronous server-side loop that auto-executes selected daemon tools and re-prompts the model. Ollama targets use native /api/chat tool messages. timeout_s bounds each backend call; agent loops have no whole-run wall-clock deadline. Legacy agent_timeout_s and OMNIUS_AGENT_LOOP_TOTAL_TIMEOUT_MS are ignored. daemon_tool_names explicitly limits the offered catalog; factual-first implicitly limits it to web_search/web_fetch when no names are supplied. Identical repeated calls fail with HTTP 508 instead of looping. SSE streaming outside agent_loop honors OpenAI tool_calls deltas.",
6100
6098
  "requestBody": {
6101
6099
  "required": true,
6102
6100
  "content": {
@@ -6150,7 +6148,7 @@
6150
6148
  },
6151
6149
  "timeout_s": {
6152
6150
  "type": "number",
6153
- "description": "Q1 — per-request timeout in seconds (1-3600). Overrides OMNIUS_BACKEND_TIMEOUT_S."
6151
+ "description": "Per-backend-request liveness timeout in seconds, capped at 3600. Overrides OMNIUS_BACKEND_TIMEOUT_S."
6154
6152
  },
6155
6153
  "agent_loop": {
6156
6154
  "type": "boolean",
@@ -6177,10 +6175,8 @@
6177
6175
  },
6178
6176
  "agent_timeout_s": {
6179
6177
  "type": "number",
6180
- "minimum": 5,
6181
- "maximum": 600,
6182
- "default": 45,
6183
- "description": "Total server-side agent-loop deadline. Distinct from per-backend timeout_s."
6178
+ "deprecated": true,
6179
+ "description": "Ignored compatibility field. Agent loops have no whole-run wall-clock deadline."
6184
6180
  },
6185
6181
  "agent_max_tool_rounds": {
6186
6182
  "type": "integer",
@@ -6285,7 +6281,7 @@
6285
6281
  }
6286
6282
  },
6287
6283
  "504": {
6288
- "description": "Backend round or total agent-loop deadline expired"
6284
+ "description": "A backend request exceeded its liveness timeout"
6289
6285
  },
6290
6286
  "508": {
6291
6287
  "description": "The model repeated an identical daemon tool call"
@@ -29211,6 +29207,37 @@
29211
29207
  }
29212
29208
  ]
29213
29209
  },
29210
+ {
29211
+ "id": "guide.corpus-ocr",
29212
+ "kind": "guide",
29213
+ "title": "Explicit scanned-PDF corpus OCR",
29214
+ "summary": "The public sourcecorpus tool can process an acquired PDF population with begin using filters: {channel: \"ocrtext\"} and optional ocrlanguage (default eng). Repeated process calls resume a durable per-source page cursor. Installed CPU Poppler and Tesseract are required. The default channel remains nativetext; completing native extraction of an empty scanned pa",
29215
+ "keywords": [
29216
+ "corpus",
29217
+ "ocr",
29218
+ "md"
29219
+ ],
29220
+ "maturity": "stable",
29221
+ "audiences": [
29222
+ "user",
29223
+ "integrator",
29224
+ "coding-agent"
29225
+ ],
29226
+ "layer": "documentation",
29227
+ "interfaces": [
29228
+ {
29229
+ "type": "file",
29230
+ "target": "docs/corpus-ocr.md"
29231
+ }
29232
+ ],
29233
+ "references": [
29234
+ {
29235
+ "type": "documentation",
29236
+ "target": "docs/corpus-ocr.md",
29237
+ "relation": "canonical-artifact"
29238
+ }
29239
+ ]
29240
+ },
29214
29241
  {
29215
29242
  "id": "guide.dedup-false-positive-meta-analysis",
29216
29243
  "kind": "guide",
@@ -29931,6 +29958,38 @@
29931
29958
  }
29932
29959
  ]
29933
29960
  },
29961
+ {
29962
+ "id": "guide.guides-pdf-collections",
29963
+ "kind": "guide",
29964
+ "title": "Large PDF collections",
29965
+ "summary": "Ask Omnius to process the collection in ordinary language, specifying the result you need: search, ordering, original-page manipulation, summary, or extraction. For example: “Review every supplied PDF, extract each recorded duration with its source page, order the documents by the invoice date, and deliver the complete results.” A field's meaning, units, mis",
29966
+ "keywords": [
29967
+ "guides",
29968
+ "pdf",
29969
+ "collections",
29970
+ "md"
29971
+ ],
29972
+ "maturity": "stable",
29973
+ "audiences": [
29974
+ "user",
29975
+ "integrator",
29976
+ "coding-agent"
29977
+ ],
29978
+ "layer": "documentation",
29979
+ "interfaces": [
29980
+ {
29981
+ "type": "file",
29982
+ "target": "docs/guides/pdf-collections.md"
29983
+ }
29984
+ ],
29985
+ "references": [
29986
+ {
29987
+ "type": "documentation",
29988
+ "target": "docs/guides/pdf-collections.md",
29989
+ "relation": "canonical-artifact"
29990
+ }
29991
+ ]
29992
+ },
29934
29993
  {
29935
29994
  "id": "guide.guides-realtime",
29936
29995
  "kind": "guide",
@@ -45026,6 +45085,62 @@
45026
45085
  }
45027
45086
  ]
45028
45087
  },
45088
+ {
45089
+ "id": "tool.pdf-transform",
45090
+ "kind": "tool",
45091
+ "title": "Pdf Transform",
45092
+ "summary": "pdf_transform is a directly callable Omnius tool.",
45093
+ "aliases": [
45094
+ "pdf_transform"
45095
+ ],
45096
+ "keywords": [
45097
+ "tool",
45098
+ "pdf",
45099
+ "transform"
45100
+ ],
45101
+ "maturity": "stable",
45102
+ "layer": "execution",
45103
+ "audiences": [
45104
+ "coding-agent",
45105
+ "integrator",
45106
+ "service-agent"
45107
+ ],
45108
+ "use_when": [
45109
+ "The caller needs this isolated operation and live metadata confirms direct-call availability"
45110
+ ],
45111
+ "avoid_when": [
45112
+ "The live registry reports the tool unavailable or the caller lacks its required scope"
45113
+ ],
45114
+ "interfaces": [
45115
+ {
45116
+ "type": "rest-schema",
45117
+ "target": "/v1/tools/pdf_transform"
45118
+ },
45119
+ {
45120
+ "type": "rest-call",
45121
+ "target": "/v1/tools/pdf_transform/call"
45122
+ }
45123
+ ],
45124
+ "references": [
45125
+ {
45126
+ "type": "source",
45127
+ "target": "packages/execution/src/tools/pdf-transform.ts",
45128
+ "relation": "implementation"
45129
+ }
45130
+ ],
45131
+ "direct_callable": true,
45132
+ "live_metadata": "GET /v1/tools/pdf_transform",
45133
+ "source_of_truth": [
45134
+ "packages/execution/src/tools/pdf-transform.ts",
45135
+ "GET /v1/tools/pdf_transform"
45136
+ ],
45137
+ "verification": [
45138
+ {
45139
+ "check": "Inspect GET /v1/tools/pdf_transform before use",
45140
+ "expected": "Schema, security, exposure, and availability match the intended invocation"
45141
+ }
45142
+ ]
45143
+ },
45029
45144
  {
45030
45145
  "id": "tool.pdf-visual-markdown",
45031
45146
  "kind": "tool",
package/docs/DISCOVERY.md CHANGED
@@ -420,6 +420,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
420
420
  | `guide.asd-ste100-communication-audit-uppercase` | ASD-STE100 Communication Audit | Use ASD-STE100 Issue 9 for all Omnius natural-language communication. Apply the rule to external replies and internal agent messages. Preserve exact machine content without a change. |
421
421
  | `guide.concept-relational-language` | Concept Relational Language (CRL) — Token-Efficient Concept Communication | &gt; Experimental hyper-compressed symbolic notation for mind-mapped logical flow tracking |
422
422
  | `guide.context-management-medium-models-proposal` | Context Management for Medium Models (30-40B) — Implementation Proposal | Date: 2026-04-25 Problem: Medium-tier models (~35B params) exhibit excessive repetition at ~35% context fill despite 256K context windows Root Cause: Monolithic context structure + attention degradation + tool schema bloat |
423
+ | `guide.corpus-ocr` | Explicit scanned-PDF corpus OCR | The public sourcecorpus tool can process an acquired PDF population with begin using filters: {channel: "ocrtext"} and optional ocrlanguage (default eng). Repeated process calls resume a durable per-source page cursor. Installed CPU Poppler and Tesseract are required. The default channel remains nativetext; completing native extraction of an empty scanned pa |
423
424
  | `guide.dedup-false-positive-meta-analysis` | Meta-Analysis: False Positive Duplicate Tool Call Detection | Date: 2026-05-14 Scope: packages/orchestrator/src/agenticRunner.ts — proactivePrune() + buildResourceKey() |
424
425
  | `guide.discovery-agent-map` | Agent Map | Bundled Omnius documentation artifact: docs/discovery/agent-map.json. |
425
426
  | `guide.discovery-catalog-overrides` | Discovery Catalog Curated Source | Curated aliases, relationships, invocation modes, and conceptual entries merged into the generated catalog. |
@@ -442,6 +443,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
442
443
  | `guide.guides-long-horizon-feature-workflow` | Long-horizon feature work | Implementation, acceptance cases and delivery records are tracked in WO-01. |
443
444
  | `guide.guides-media-generation` | Media Generation | Omnius exposes media generation through TUI commands, tools, Telegram creative workflows, and sponsor media endpoints. |
444
445
  | `guide.guides-osint-research` | Categorized OSINT research | Omnius ships a local, searchable snapshot of the OSINT4ALL Start.me page. It uses the same compact discovery pattern as AIWG skills: |
446
+ | `guide.guides-pdf-collections` | Large PDF collections | Ask Omnius to process the collection in ordinary language, specifying the result you need: search, ordering, original-page manipulation, summary, or extraction. For example: “Review every supplied PDF, extract each recorded duration with its source page, order the documents by the invoice date, and deliver the complete results.” A field's meaning, units, mis |
445
447
  | `guide.guides-realtime` | Realtime Conversations | Realtime mode is for short, natural, back-and-forth spoken conversation behind ASR and TTS. |
446
448
  | `guide.guides-sponsor-and-cohere` | Sponsor And COHERE Mesh | Sponsor and COHERE let Omnius share inference capacity across peers. Sponsor mode is explicit provider/consumer sharing. COHERE is a distributed cognitive inference mesh. |
447
449
  | `guide.guides-system-tray` | System Tray Indicator | Omnius ships a native per-login tray indicator for Linux, macOS, and Windows on x64 hosts. It is separate from the REST daemon: closing the indicator never stops the daemon, and the daemon remains usable in headless sessions. |
@@ -830,6 +832,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
830
832
  | `tool.osint-search` | OSINT Search | Search the bundled OSINT4ALL snapshot locally and return a bounded ranked shortlist with category, archived-health, interaction, and risk metadata; no cataloged service is contacted. |
831
833
  | `tool.osint-show` | OSINT Show | Expand one exact local OSINT resource ID into its URL, aliases, original category placements, archived health, and safe next-tool route; no cataloged service is contacted. |
832
834
  | `tool.pdf-to-text` | Pdf To Text | pdf_to_text is a directly callable Omnius tool. |
835
+ | `tool.pdf-transform` | Pdf Transform | pdf_transform is a directly callable Omnius tool. |
833
836
  | `tool.pdf-visual-markdown` | Pdf Visual Markdown | pdf_visual_markdown is a directly callable Omnius tool. |
834
837
  | `tool.phase-recall` | Phase Recall | phase_recall is a directly callable Omnius tool. |
835
838
  | `tool.play-sound` | Play Sound | play_sound is a directly callable Omnius tool. |
@@ -0,0 +1,57 @@
1
+ # Explicit scanned-PDF corpus OCR
2
+
3
+ The public `source_corpus` tool can process an acquired PDF population with
4
+ `begin` using `filters: {channel: "ocr_text"}` and optional `ocr_language`
5
+ (default `eng`). Repeated `process` calls resume a durable per-source page
6
+ cursor. Installed CPU Poppler and Tesseract are required. The default channel
7
+ remains `native_text`; completing native extraction of an empty scanned page
8
+ does not complete its OCR extraction.
9
+
10
+ Each OCR page retains the original PDF identity, rendered PNG, full Tesseract
11
+ text and TSV geometry in durable content-addressed files, with exact hashes,
12
+ page lineage, engine version and language. Immutable segmented evidence powers
13
+ bounded search and read operations. OCR receipts preserve the original issuing
14
+ owner; subsequent reads bind their exact exposed range to the current owner.
15
+ OCR TSV geometry is separate from native PDF geometry.
16
+
17
+ `corpus_work` can explicitly select the complete `ocr_text` population for
18
+ anchored extraction or summary. A read checkpoint is prepared when text is
19
+ returned, then confirmed only after the production runner successfully sends
20
+ the exact protected OCR text carrier to its configured backend. Failed
21
+ transport cannot confirm that read or authorize a derived commit. Derived
22
+ content remains `actor_attested`, requiring independent factual review.
23
+
24
+ OCR completion means the engine processed every selected page. It does not
25
+ prove transcription accuracy or visual comprehension: `visualCoverage`
26
+ remains `not_assessed`, and OCR does not receive native evidence authority.
27
+ Complete OCR-derived text exports can pass the separate export reviewer after
28
+ it reopens every original PDF, rendered page, OCR text, TSV and immutable
29
+ source/producer/exposure record. Fresh bounded factual review sees explicit
30
+ `ocr_text` transcription provenance and the unassessed visual limitation.
31
+ The complete source and output unions remain required before retention and
32
+ provider delivery. Exact numeric source-line transcription can be verified
33
+ against OCR engine output; this does not verify that output against the image.
34
+
35
+ Native table-cell, count, sum and aggregate quantity gates remain strict: OCR
36
+ text and TSV do not confer native field or arithmetic authority. OCR-derived
37
+ arithmetic needs a separately reviewed transcription/operand population before
38
+ approval; matching digits or a prose verdict cannot provide it. The inline
39
+ Telegram source-answer review path still has no OCR-specific source-index
40
+ adapter; the verified delivery route here is the full derived text export.
41
+ Both OCR-only and mixed native/OCR factual inline candidates are refused after
42
+ an actual successful OCR model handoff. The barrier is durable for the admitted
43
+ session/run/epoch; ingestion, metadata and failed transport do not create it.
44
+ The refusal preserves existing OCR evidence and gives the exact work/export/
45
+ review steps instead of requesting another native-empty read.
46
+
47
+ After fresh `corpus_export_review` completes under the current request, use
48
+ `task_complete` with `deliver_artifacts: true` and the exact neutral notice
49
+ `The reviewed OCR results are attached.` The host reopens the complete export,
50
+ its original OCR source proof and current signed semantic receipt. Completion
51
+ still requires actual provider acknowledgement for every selected output.
52
+ That file review does not approve unrelated inline factual prose, and the
53
+ neutral notice alone cannot waive missing review or delivery receipts.
54
+
55
+ Population traversal and page work are resumable and have no total source or
56
+ page count ceiling. A single-page rasterization still needs physical CPU/RAM
57
+ resources; this implementation does not tile unusually large page images.
@@ -0,0 +1,76 @@
1
+ # Large PDF collections
2
+
3
+ Ask Omnius to process the collection in ordinary language, specifying the result
4
+ you need: search, ordering, original-page manipulation, summary, or extraction.
5
+ For example: “Review every supplied PDF, extract each recorded duration with its
6
+ source page, order the documents by the invoice date, and deliver the complete
7
+ results.” A field's meaning, units, missing-value handling, and ordering direction
8
+ remain part of the request; a date appearing somewhere in a PDF does not by
9
+ itself establish that it is the requested invoice date.
10
+
11
+ The collection is stored outside the model context. Original PDFs, complete
12
+ native page text, page geometry, immutable source identities and hashes remain
13
+ available in the private source archive. SQL applies scope, version and request
14
+ filters before sorting and paging. Retrieval can reopen exact source ranges;
15
+ condensing a model prompt never replaces the original evidence.
16
+
17
+ Search uses cursor-paged lexical matches in the authorized collection. A search
18
+ result, including a result with no matches, does not establish that every source
19
+ was extracted or reviewed. Exhaustive requests retain the complete selected
20
+ population and track source coverage separately from relevance ranking.
21
+
22
+ There is no application limit on the total number of PDFs, pages, selected
23
+ records, or output files. Per-call work widths keep memory and prompts finite;
24
+ the model's actual context window, available storage, compute and each provider's
25
+ per-file upload limit still apply. Processing the entire collection takes work
26
+ proportional to that collection. Targeted search and exhaustive extraction use
27
+ different coverage requirements.
28
+
29
+ | Task | Runtime tools and retained result |
30
+ | --- | --- |
31
+ | Ingest and search | `source_corpus` retains originals, indexes native pages, and returns scoped inventories and exact ranges. Telegram's `manifest="current_task"` selects the host-admitted attachment population. |
32
+ | Scanned pages | Explicit `source_corpus` OCR work retains page images, full engine text, word positions and engine receipts in the separate `ocr_text` channel. Interrupted page work resumes without replacing native text. |
33
+ | Summary and extraction | `corpus_work` preserves the complete request and selection, issues bounded input claims, records ranges that actually reached a successful model request, and commits derived records with source anchors. |
34
+ | Field ordering | `corpus_work` stores source-anchored typed fields and orders through SQL. Exact decimal and date handling, ties, missing values and multiple values have explicit policies. Model-selected field meaning remains subject to source review. |
35
+ | Original-page manipulation | `pdf_corpus_recipe` and `pdf_corpus_transform` plan and execute original-page ordering, merge and split operations without reconstructing PDFs from summaries. |
36
+ | Factual acceptance | `source_answer_review` and `corpus_export_review` independently review complete selected output and source coverage. Numeric aggregates reopen every selected native input and verify exact operands and arithmetic. |
37
+ | Large result delivery | `corpus_export_review` partition actions retain upload-sized data and reconstruction files. `partition_finalize` inherits a complete current parent review and verifies every child; actual provider receipts still establish delivery. |
38
+
39
+ Processing and delivery checkpoints survive restart. Committed work and accepted
40
+ uploads are reused under the current task; stale owner or request authority must
41
+ be renewed. A Telegram upload quota wait retains the exact reviewed candidate
42
+ and resumes at the provider retry time. Completion requires receipts for every
43
+ selected output, including all reconstruction files. An extracted index, a model
44
+ claim of completion, or an intermediate progress message does not establish that
45
+ the final answer was delivered.
46
+
47
+ Directory acquisition preserves enumeration, original-file acquisition and
48
+ manifest-writing checkpoints. Restart verifies the previously observed directory
49
+ and file identities before continuing; a changing directory cannot silently
50
+ become a different collection. This is an observed, verified manifest, not an
51
+ atomic filesystem snapshot. Export writing and fixity checks also resume within
52
+ an individual JSONL record, so output size does not impose a total export cap.
53
+
54
+ Verified durable work can continue beyond the default emergency turn budget.
55
+ An explicit finite budget still applies. Repeating a call without advancing its
56
+ current source-bound checkpoint earns no continuation credit; progress does not
57
+ approve facts or fulfill the final-output and delivery requirements.
58
+
59
+ After restart, the host reopens the current pending SQL job before applying its
60
+ retry guard. An authentic job can receive one admission attempt at its existing
61
+ producer clock, including an initialized job that has not advanced yet. Reopening
62
+ the job creates no progress event. The consumed attempt survives restart and
63
+ cannot be renewed by switching job IDs; actual verified work must advance the
64
+ clock before another attempt becomes available.
65
+
66
+ Native text and geometry can be incomplete or ambiguous. Unresolved extraction,
67
+ field association or arithmetic stays explicit; visual review can resolve the
68
+ relevant page on the configured capable backend. The research basis and
69
+ stage-by-stage evaluation criteria are in the
70
+ [PDF distillation synthesis](../../.aiwg/research/pdf-knowledge-distillation/synthesis.md).
71
+
72
+ Numeric review distinguishes populated cells from recorded events. A nonempty
73
+ cell can contain zero or an incomplete time placeholder; it does not necessarily
74
+ record an event. Bounded examples expose exact distinct native spellings without
75
+ frequencies or expected answers. The reviewer selects the meaning from the full
76
+ request, and the host verifies arithmetic against the complete original field.
@@ -145,6 +145,12 @@ a lease, bounded backoff, and the returned Telegram message ID.
145
145
  | Audio | `audio_edit` | inspect, trim, concatenate, typed splice and silence, mix, normalize, fade, convert, resample | `audio_analyze` for sound/music or `transcribe_file` for speech |
146
146
  | PDF or DOCX | `document` | create from heading/paragraph/bullet/page-break blocks, inspect, hash-guarded revise | `document action='inspect'` on the exact output |
147
147
 
148
+ Photo intake and `telegram_image_analyze` use the configured endpoint and model
149
+ with the original image. The backend must declare image support. If that
150
+ capability is unavailable, Omnius retains the image and reports it as unassessed.
151
+ These paths do not automatically select another vision model. An uncaptioned
152
+ photo retains its native media identity without inventing a caption or request.
153
+
148
154
  These tools do not accept shell commands, raw FFmpeg filters, ImageMagick
149
155
  expressions, raw PDF/OOXML bytes, HTML, macros, or paths outside the chat
150
156
  workspace. Image and audio edits never overwrite an artifact. Document
@@ -43,11 +43,11 @@ Important body fields:
43
43
  | `tools` | array | OpenAI-shape tools array |
44
44
  | `tool_choice` | any | OpenAI-shape tool choice |
45
45
  | `parallel_tool_calls` | boolean | Forwarded to backend |
46
- | `timeout_s` | number | Per-request timeout |
46
+ | `timeout_s` | number | Per-backend-request liveness timeout |
47
47
  | `agent_loop` | boolean | Run server-side tool loop |
48
48
  | `include_daemon_tools` | array | Permit the bounded core daemon-tool catalog by scope: `read`, `run`, `admin` |
49
49
  | `daemon_tool_names` | array | Exact daemon-tool allowlist; recommended for local models |
50
- | `agent_timeout_s` | number | Whole-loop deadline, default 45 seconds and maximum 600 |
50
+ | `agent_timeout_s` | number | Deprecated compatibility field; ignored |
51
51
  | `agent_max_tool_rounds` | integer | Daemon tool rounds before forced final synthesis; default 1 |
52
52
  | `agent_prefetch_web_search` | boolean | Explicit one-generation web-search prefetch; factual-first enables it automatically |
53
53
  | `max_turns` | integer | Server-side agent loop turn cap |
@@ -71,7 +71,7 @@ Realtime example:
71
71
 
72
72
  ## `/v1/chat`
73
73
 
74
- This is the Omnius stateful chat endpoint. It uses direct backend inference by default. Set `tools: true` or `use_tools: true` to explicitly launch the full Omnius agent stack with tools, memory, skills, and multi-agent context. `realtime: true` always uses the direct backend path. Explicit agent runs default to a 180-second daemon-owned wall-clock deadline and reject equivalent concurrent work even when callers omit `session_id`.
74
+ This is the Omnius stateful chat endpoint. It uses direct backend inference by default. Set `tools: true` or `use_tools: true` to explicitly launch the full Omnius agent stack with tools, memory, skills, and multi-agent context. `realtime: true` always uses the direct backend path. Explicit agent runs reject equivalent concurrent work even when callers omit `session_id` and continue until completion, failure, explicit Stop, or daemon shutdown. Agent runs have no whole-run wall-clock deadline; legacy `agent_timeout_s` and `OMNIUS_CHAT_AGENT_TIMEOUT_S` are ignored.
75
75
 
76
76
  Body fields:
77
77
 
@@ -84,7 +84,7 @@ Body fields:
84
84
  | `tools` | boolean | Set true to explicitly launch the full agent stack |
85
85
  | `use_tools` | boolean | Omnius-native alias for `tools: true` |
86
86
  | `timeout_s` | number | Per-backend-request liveness timeout |
87
- | `agent_timeout_s` | number | Whole-agent daemon deadline, default 180 seconds and maximum 3600 |
87
+ | `agent_timeout_s` | number | Deprecated compatibility field; ignored |
88
88
  | `realtime` | boolean | Short ASR/TTS conversation mode |
89
89
  | `realtime_options` | object | Realtime settings |
90
90
 
@@ -144,4 +144,4 @@ For ASR/TTS systems that only need the text brain, use `/realtime` or `/v1/realt
144
144
 
145
145
  `/v1/chat/completions` can run an internal tool loop when `agent_loop: true`. This lets clients collapse multiple model/tool round trips into one daemon request. Daemon tool calls execute inline; client-owned tool calls can still be yielded in OpenAI-compatible shape.
146
146
 
147
- Ollama-backed loops use its native `/api/chat` tool protocol. `timeout_s` applies to each backend round, while `agent_timeout_s` bounds the complete loop and defaults to 45 seconds. For a normal loop, the planning turn is capped at 96 output tokens; one daemon-tool round is the default, after which Omnius removes daemon schemas for final synthesis. `prompt_template: "factual-first"` skips that model-planning round entirely: Omnius executes the already-mandated, authorized `web_search` using the latest user turn, inserts the protocol-correct tool evidence, and performs one grounded synthesis generation. `agent_prefetch_web_search: true` opts into the same path directly. Generic/deeper tool workflows remain available through `agent_max_tool_rounds`. Omnius returns typed HTTP 504/508 failures, caps tool evidence at 6,000 characters, and limits the implicit catalog unless `daemon_tool_names` requests exact additions.
147
+ Ollama-backed loops use its native `/api/chat` tool protocol. `timeout_s` applies to each backend round. There is no whole-loop wall-clock deadline; legacy `agent_timeout_s` and `OMNIUS_AGENT_LOOP_TOTAL_TIMEOUT_MS` are ignored. Each daemon tool retains its own execution timeout and cancellation handling, and the loop still respects client disconnects, `max_turns`, and repeated-call guards. For a normal loop, the planning turn is capped at 96 output tokens; one daemon-tool round is the default, after which Omnius removes daemon schemas for final synthesis. `prompt_template: "factual-first"` skips that model-planning round entirely: Omnius executes the already-mandated, authorized `web_search` using the latest user turn, inserts the protocol-correct tool evidence, and performs one grounded synthesis generation. `agent_prefetch_web_search: true` opts into the same path directly. Generic/deeper tool workflows remain available through `agent_max_tool_rounds`. Backend liveness timeouts return typed HTTP 504 failures, and identical repeated tool calls return HTTP 508. Omnius caps tool evidence at 6,000 characters and limits the implicit catalog unless `daemon_tool_names` requests exact additions.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.807",
3
+ "version": "1.0.809",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.807",
9
+ "version": "1.0.809",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],