omnius 1.0.806 → 1.0.808
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/README.md +5 -0
- package/dist/api/py-embed.js +118 -0
- package/dist/index.js +2 -2
- package/dist/library.js +300 -0
- package/dist/update-worker.js +118 -0
- package/docs/DISCOVERY.json +119 -0
- package/docs/DISCOVERY.md +3 -0
- package/docs/corpus-ocr.md +57 -0
- package/docs/guides/pdf-collections.md +76 -0
- package/docs/guides/telegram.md +6 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/dist/update-worker.js
CHANGED
|
@@ -295027,9 +295027,127 @@ init_vision();
|
|
|
295027
295027
|
init_system_deps();
|
|
295028
295028
|
init_vision();
|
|
295029
295029
|
|
|
295030
|
+
// packages/execution/dist/tools/pdf-corpus-archive.js
|
|
295031
|
+
init_process_async();
|
|
295032
|
+
|
|
295030
295033
|
// packages/execution/dist/tools/ocr-pdf.js
|
|
295031
295034
|
init_process_async();
|
|
295032
295035
|
|
|
295036
|
+
// packages/execution/dist/tools/pdf-transform.js
|
|
295037
|
+
init_process_async();
|
|
295038
|
+
var BUFFER_BYTES = 128 * 1024;
|
|
295039
|
+
var MAX_RECORD_BYTES = 64 * 1024;
|
|
295040
|
+
|
|
295041
|
+
// packages/execution/dist/tools/source-corpus.js
|
|
295042
|
+
var SEGMENT_CHARS = 64 * 1024;
|
|
295043
|
+
var RECORD_BYTES = 64 * 1024;
|
|
295044
|
+
var ACTIONS = /* @__PURE__ */ new Set(["ingest", "inventory", "search", "read", "begin", "process", "status"]);
|
|
295045
|
+
var SOURCE_CORPUS_TOOL_DEFINITION = {
|
|
295046
|
+
name: "source_corpus",
|
|
295047
|
+
aliases: ["pdf_corpus"],
|
|
295048
|
+
description: "Acquire and process a scoped PDF corpus without a total document/page-count cap. ingest uses an immutable JSONL manifest, one {ref,sha256} per source, and returns a durable import ID; repeat it to resume bounded batches. Local directory acquisition requires an explicit host policy and resumes bounded traversal/hash/manifest work with ingest_id. It captures an observed, version-fenced filesystem selection, not an atomic live-tree snapshot, and excludes only this workspace's owned .omnius state tree. inventory/search are cursor-paged; read returns exact channel-labelled segments with character offsets. begin preserves the full processing request and selected source versions; process checkpoints complete native pages and resumes after cancellation/restart. Source bytes, full native text and bbox are archived before bounded views. Explicit filters.channel='ocr_text' schedules resumable CPU OCR; rendered pages, engine/language, full OCR text and TSV are preserved separately. For OCR summaries/extractions use corpus_work filters.channel='ocr_text', complete anchored work, export, and corpus_export_review before delivery; source_answer_review only accepts native facts. Native or OCR engine completion does not prove visual understanding, summaries or final delivery.",
|
|
295049
|
+
parameters: { type: "object", properties: {
|
|
295050
|
+
action: { type: "string", enum: [...ACTIONS] },
|
|
295051
|
+
corpus_id: { type: "string" },
|
|
295052
|
+
manifest: { type: "string", description: "Host-authorized JSONL file or alias; one {ref,sha256} record per PDF." },
|
|
295053
|
+
manifest_sha256: { type: "string" },
|
|
295054
|
+
directory: { type: "string", description: "Explicit local-admin directory enumeration only." },
|
|
295055
|
+
ingest_id: { type: "string", description: "Resume directory acquisition or the immutable import without resupplying its directory/manifest. Use a new ID for a deliberately changed directory selection." },
|
|
295056
|
+
source_budget: { type: "integer", minimum: 1, maximum: 64 },
|
|
295057
|
+
operation_id: { type: "string" },
|
|
295058
|
+
request: { type: "string", description: "Complete extraction processing request; not authority to replace the user's goal." },
|
|
295059
|
+
page_budget: { type: "integer", minimum: 1, maximum: 64 },
|
|
295060
|
+
page_size: { type: "integer", minimum: 1, maximum: 128 },
|
|
295061
|
+
cursor: { type: "string" },
|
|
295062
|
+
query: { type: "string" },
|
|
295063
|
+
filters: { type: "object" },
|
|
295064
|
+
direction: { type: "string", enum: ["asc", "desc"] },
|
|
295065
|
+
page_id: { type: "string" },
|
|
295066
|
+
ocr_language: { type: "string", description: "Explicit OCR operation language, e.g. eng or eng+deu. Immutable after begin; uses installed Tesseract languages." },
|
|
295067
|
+
char_offset: { type: "integer", minimum: 0 },
|
|
295068
|
+
max_chars: { type: "integer", minimum: 2, maximum: SEGMENT_CHARS }
|
|
295069
|
+
}, required: ["action", "corpus_id"], additionalProperties: false }
|
|
295070
|
+
};
|
|
295071
|
+
|
|
295072
|
+
// packages/execution/dist/tools/corpus-work.js
|
|
295073
|
+
var ACTIONS2 = ["begin", "next", "read", "commit", "status", "complete", "cancel", "export", "aggregate", "order"];
|
|
295074
|
+
var CORPUS_WORK_TOOL_DEFINITION = {
|
|
295075
|
+
name: "corpus_work",
|
|
295076
|
+
aliases: ["pdf_corpus_work"],
|
|
295077
|
+
description: "Durable model-driven summary or extraction over a scoped corpus. Native text is default; explicitly select filters.channel='ocr_text' for previously processed OCR evidence. begin preserves the FULL request and immutable selection. next gives bounded leased claims; read exposes each complete input through resumable exact character ranges. commit requires every input fully delivered through a successful host model request and exact quote anchors for every input. A read result prepares an exact range; same-response read+commit cannot establish model exposure. Full derived content is archived, never substituted for originals. Summary parents use host-issued bounded child membership and require complete child reads. Repeat next until leaves and reduction finish. Processing coverage is actor-attested, not proof of factual correctness, visual understanding or final delivery. Optional anchored decimal/count records support exact deterministic aggregates; record selection remains actor-attested. Exact anchored typed fields support SQL ordering before pagination through order, after processing completes. Text uses explicit binary collation; decimal is exact, dates calendar, clocks require declared fixed/source offsets. Missing and multiple values require explicit policies; field meaning and selection remain actor-attested. export resumably streams all derived leaf records and the summary root to JSONL. Repeat the exact export while completeExport=false; partial work has no finished artifact. byte_budget bounds each call, not the final output. Public OCR results require corpus_export_review prepare/process/finalize on the returned retained artifactPath; source_answer_review does not ground OCR inline prose. There is no total corpus or output count cap.",
|
|
295078
|
+
parameters: { type: "object", properties: {
|
|
295079
|
+
action: { type: "string", enum: [...ACTIONS2] },
|
|
295080
|
+
corpus_id: { type: "string" },
|
|
295081
|
+
operation_id: { type: "string" },
|
|
295082
|
+
mode: { type: "string", enum: ["summary", "extraction"] },
|
|
295083
|
+
request: { type: "string" },
|
|
295084
|
+
filters: { type: "object" },
|
|
295085
|
+
query: { type: "string" },
|
|
295086
|
+
direction: { type: "string", enum: ["asc", "desc"] },
|
|
295087
|
+
fan_in: { type: "integer", minimum: 2, maximum: 64, description: "Per-parent child allocation, not total corpus limit." },
|
|
295088
|
+
byte_budget: { type: "integer", minimum: 1, maximum: 67108864, description: "Per-call export write/fixity byte budget; repeat export to finish arbitrarily large output." },
|
|
295089
|
+
page_size: { type: "integer", minimum: 1, maximum: 32 },
|
|
295090
|
+
claim_id: { type: "string" },
|
|
295091
|
+
input_id: { type: "string" },
|
|
295092
|
+
char_offset: { type: "integer", minimum: 0 },
|
|
295093
|
+
max_chars: { type: "integer", minimum: 2, maximum: 65536 },
|
|
295094
|
+
content: { type: "string", description: "Complete nonempty model-derived output for this claim." },
|
|
295095
|
+
anchors: { type: "array", minItems: 1, items: { type: "object", properties: {
|
|
295096
|
+
input_id: { type: "string" },
|
|
295097
|
+
char_start: { type: "integer", minimum: 0 },
|
|
295098
|
+
char_end: { type: "integer", minimum: 0 },
|
|
295099
|
+
quote: { type: "string" }
|
|
295100
|
+
}, required: ["input_id", "char_start", "char_end", "quote"], additionalProperties: false } },
|
|
295101
|
+
fields: { type: "array", items: { type: "object", properties: {
|
|
295102
|
+
field: { type: "string" },
|
|
295103
|
+
kind: { type: "string", enum: ["text", "decimal", "date", "time", "datetime"] },
|
|
295104
|
+
anchor: { type: "integer", minimum: 0 },
|
|
295105
|
+
literal: { type: "string", description: "Entire exact literal in the indicated source anchor." },
|
|
295106
|
+
timezone: { type: "string", description: "Dates: calendar. Clocks: source_offset when the literal has Z/offset; otherwise UTC or a fixed +/-HH:MM offset. No inferred timezone." }
|
|
295107
|
+
}, required: ["field", "kind", "anchor", "literal"], additionalProperties: false } },
|
|
295108
|
+
order_spec: { type: "object", properties: {
|
|
295109
|
+
field: { type: "string" },
|
|
295110
|
+
kind: { type: "string", enum: ["text", "decimal", "date", "time", "datetime"] },
|
|
295111
|
+
unit: { type: "string", enum: ["source", "page"] },
|
|
295112
|
+
direction: { type: "string", enum: ["asc", "desc"] },
|
|
295113
|
+
missing: { type: "string", enum: ["first", "last", "exclude", "error"] },
|
|
295114
|
+
multiple: { type: "string", enum: ["min", "max", "error"] },
|
|
295115
|
+
collation: { type: "string", enum: ["binary"] },
|
|
295116
|
+
timezone: { type: "string", enum: ["calendar", "recorded_offset"] },
|
|
295117
|
+
timeSemantics: { type: "string", enum: ["utc_clock"] },
|
|
295118
|
+
where: { type: "object", properties: { equals: { type: "string" }, from: { type: "string" }, through: { type: "string" } }, additionalProperties: false }
|
|
295119
|
+
}, required: ["field", "kind", "unit", "direction", "missing", "multiple"], additionalProperties: false },
|
|
295120
|
+
cursor: { type: "string" },
|
|
295121
|
+
numbers: { type: "array", items: { type: "object", properties: {
|
|
295122
|
+
field: { type: "string" },
|
|
295123
|
+
kind: { type: "string", enum: ["decimal", "count"] },
|
|
295124
|
+
anchor: { type: "integer", minimum: 0 },
|
|
295125
|
+
literal: { type: "string" }
|
|
295126
|
+
}, required: ["field", "kind", "anchor"], additionalProperties: false } },
|
|
295127
|
+
field: { type: "string" }
|
|
295128
|
+
}, required: ["action", "corpus_id", "operation_id"], additionalProperties: false }
|
|
295129
|
+
};
|
|
295130
|
+
|
|
295131
|
+
// packages/execution/dist/tools/pdf-corpus-transform.js
|
|
295132
|
+
init_process_async();
|
|
295133
|
+
var LINE_BYTES = 64 * 1024;
|
|
295134
|
+
var ACTIONS3 = /* @__PURE__ */ new Set(["begin", "process", "status"]);
|
|
295135
|
+
var PDF_CORPUS_TRANSFORM_TOOL_DEFINITION = {
|
|
295136
|
+
name: "pdf_corpus_transform",
|
|
295137
|
+
aliases: ["pdf_corpus_compose"],
|
|
295138
|
+
description: "Resumable original-page PDF merge, split and reorder over an acquired source_corpus. begin accepts an immutable JSONL recipe with one {sourceId,sourceSha256,page} per output page; order and repetitions are exact. process commits bounded partial PDFs and a durable merge tree; repeat the same operation_id after cancellation/update/restart. Source references must already belong to this host-scoped corpus. No text/OCR extraction is required for page copying. Returns a canonical PDF and streamed flattened original-page lineage with exact hashes; document metadata/forms/signatures are not preserved. No total PDF/page-count cap; each physical merge is atomic and may require a longer host work deadline for very large containers.",
|
|
295139
|
+
parameters: { type: "object", properties: {
|
|
295140
|
+
action: { type: "string", enum: [...ACTIONS3] },
|
|
295141
|
+
corpus_id: { type: "string" },
|
|
295142
|
+
operation_id: { type: "string" },
|
|
295143
|
+
operation: { type: "string", enum: ["merge", "split", "reorder"] },
|
|
295144
|
+
request: { type: "string", description: "Complete caller-declared transformation request; does not replace host goal authority." },
|
|
295145
|
+
manifest: { type: "string" },
|
|
295146
|
+
manifest_sha256: { type: "string" },
|
|
295147
|
+
work_budget: { type: "integer", minimum: 1, maximum: 64, description: "Bounded recipe import or leaf/merge work units for this invocation." }
|
|
295148
|
+
}, required: ["action", "corpus_id", "operation_id"], additionalProperties: false }
|
|
295149
|
+
};
|
|
295150
|
+
|
|
295033
295151
|
// packages/execution/dist/tools/pdf-visual-markdown.js
|
|
295034
295152
|
var MAX_IMAGE_BYTES = 8 * 1024 * 1024;
|
|
295035
295153
|
|
package/docs/DISCOVERY.json
CHANGED
|
@@ -29211,6 +29211,37 @@
|
|
|
29211
29211
|
}
|
|
29212
29212
|
]
|
|
29213
29213
|
},
|
|
29214
|
+
{
|
|
29215
|
+
"id": "guide.corpus-ocr",
|
|
29216
|
+
"kind": "guide",
|
|
29217
|
+
"title": "Explicit scanned-PDF corpus OCR",
|
|
29218
|
+
"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",
|
|
29219
|
+
"keywords": [
|
|
29220
|
+
"corpus",
|
|
29221
|
+
"ocr",
|
|
29222
|
+
"md"
|
|
29223
|
+
],
|
|
29224
|
+
"maturity": "stable",
|
|
29225
|
+
"audiences": [
|
|
29226
|
+
"user",
|
|
29227
|
+
"integrator",
|
|
29228
|
+
"coding-agent"
|
|
29229
|
+
],
|
|
29230
|
+
"layer": "documentation",
|
|
29231
|
+
"interfaces": [
|
|
29232
|
+
{
|
|
29233
|
+
"type": "file",
|
|
29234
|
+
"target": "docs/corpus-ocr.md"
|
|
29235
|
+
}
|
|
29236
|
+
],
|
|
29237
|
+
"references": [
|
|
29238
|
+
{
|
|
29239
|
+
"type": "documentation",
|
|
29240
|
+
"target": "docs/corpus-ocr.md",
|
|
29241
|
+
"relation": "canonical-artifact"
|
|
29242
|
+
}
|
|
29243
|
+
]
|
|
29244
|
+
},
|
|
29214
29245
|
{
|
|
29215
29246
|
"id": "guide.dedup-false-positive-meta-analysis",
|
|
29216
29247
|
"kind": "guide",
|
|
@@ -29931,6 +29962,38 @@
|
|
|
29931
29962
|
}
|
|
29932
29963
|
]
|
|
29933
29964
|
},
|
|
29965
|
+
{
|
|
29966
|
+
"id": "guide.guides-pdf-collections",
|
|
29967
|
+
"kind": "guide",
|
|
29968
|
+
"title": "Large PDF collections",
|
|
29969
|
+
"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",
|
|
29970
|
+
"keywords": [
|
|
29971
|
+
"guides",
|
|
29972
|
+
"pdf",
|
|
29973
|
+
"collections",
|
|
29974
|
+
"md"
|
|
29975
|
+
],
|
|
29976
|
+
"maturity": "stable",
|
|
29977
|
+
"audiences": [
|
|
29978
|
+
"user",
|
|
29979
|
+
"integrator",
|
|
29980
|
+
"coding-agent"
|
|
29981
|
+
],
|
|
29982
|
+
"layer": "documentation",
|
|
29983
|
+
"interfaces": [
|
|
29984
|
+
{
|
|
29985
|
+
"type": "file",
|
|
29986
|
+
"target": "docs/guides/pdf-collections.md"
|
|
29987
|
+
}
|
|
29988
|
+
],
|
|
29989
|
+
"references": [
|
|
29990
|
+
{
|
|
29991
|
+
"type": "documentation",
|
|
29992
|
+
"target": "docs/guides/pdf-collections.md",
|
|
29993
|
+
"relation": "canonical-artifact"
|
|
29994
|
+
}
|
|
29995
|
+
]
|
|
29996
|
+
},
|
|
29934
29997
|
{
|
|
29935
29998
|
"id": "guide.guides-realtime",
|
|
29936
29999
|
"kind": "guide",
|
|
@@ -45026,6 +45089,62 @@
|
|
|
45026
45089
|
}
|
|
45027
45090
|
]
|
|
45028
45091
|
},
|
|
45092
|
+
{
|
|
45093
|
+
"id": "tool.pdf-transform",
|
|
45094
|
+
"kind": "tool",
|
|
45095
|
+
"title": "Pdf Transform",
|
|
45096
|
+
"summary": "pdf_transform is a directly callable Omnius tool.",
|
|
45097
|
+
"aliases": [
|
|
45098
|
+
"pdf_transform"
|
|
45099
|
+
],
|
|
45100
|
+
"keywords": [
|
|
45101
|
+
"tool",
|
|
45102
|
+
"pdf",
|
|
45103
|
+
"transform"
|
|
45104
|
+
],
|
|
45105
|
+
"maturity": "stable",
|
|
45106
|
+
"layer": "execution",
|
|
45107
|
+
"audiences": [
|
|
45108
|
+
"coding-agent",
|
|
45109
|
+
"integrator",
|
|
45110
|
+
"service-agent"
|
|
45111
|
+
],
|
|
45112
|
+
"use_when": [
|
|
45113
|
+
"The caller needs this isolated operation and live metadata confirms direct-call availability"
|
|
45114
|
+
],
|
|
45115
|
+
"avoid_when": [
|
|
45116
|
+
"The live registry reports the tool unavailable or the caller lacks its required scope"
|
|
45117
|
+
],
|
|
45118
|
+
"interfaces": [
|
|
45119
|
+
{
|
|
45120
|
+
"type": "rest-schema",
|
|
45121
|
+
"target": "/v1/tools/pdf_transform"
|
|
45122
|
+
},
|
|
45123
|
+
{
|
|
45124
|
+
"type": "rest-call",
|
|
45125
|
+
"target": "/v1/tools/pdf_transform/call"
|
|
45126
|
+
}
|
|
45127
|
+
],
|
|
45128
|
+
"references": [
|
|
45129
|
+
{
|
|
45130
|
+
"type": "source",
|
|
45131
|
+
"target": "packages/execution/src/tools/pdf-transform.ts",
|
|
45132
|
+
"relation": "implementation"
|
|
45133
|
+
}
|
|
45134
|
+
],
|
|
45135
|
+
"direct_callable": true,
|
|
45136
|
+
"live_metadata": "GET /v1/tools/pdf_transform",
|
|
45137
|
+
"source_of_truth": [
|
|
45138
|
+
"packages/execution/src/tools/pdf-transform.ts",
|
|
45139
|
+
"GET /v1/tools/pdf_transform"
|
|
45140
|
+
],
|
|
45141
|
+
"verification": [
|
|
45142
|
+
{
|
|
45143
|
+
"check": "Inspect GET /v1/tools/pdf_transform before use",
|
|
45144
|
+
"expected": "Schema, security, exposure, and availability match the intended invocation"
|
|
45145
|
+
}
|
|
45146
|
+
]
|
|
45147
|
+
},
|
|
45029
45148
|
{
|
|
45030
45149
|
"id": "tool.pdf-visual-markdown",
|
|
45031
45150
|
"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 | > 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.
|
package/docs/guides/telegram.md
CHANGED
|
@@ -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
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.808",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omnius",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.808",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|