omnius 1.0.680 → 1.0.682
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 +1 -0
- package/dist/api/py-embed.js +28 -1
- package/dist/index.js +8662 -4956
- package/dist/update-worker.js +28 -1
- package/docs/DISCOVERY.json +170 -2
- package/docs/DISCOVERY.md +3 -0
- package/docs/guides/telegram.md +81 -4
- package/docs/reference/configuration.md +5 -0
- package/docs/reference/slash-commands.md +2 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/dist/update-worker.js
CHANGED
|
@@ -291370,6 +291370,33 @@ var MANAGED_ASR_VENV = join4(homedir5(), ".omnius", "runtimes", "asr", ".venv-wh
|
|
|
291370
291370
|
var MANAGED_TRANSCRIBE_CLI_DIR = join4(homedir5(), ".omnius", "runtimes", "asr", "transcribe-cli-node");
|
|
291371
291371
|
var YT_DLP_VENV = join4(homedir5(), ".omnius", "runtimes", "media-tools", ".venv-ytdlp");
|
|
291372
291372
|
|
|
291373
|
+
// packages/execution/dist/tools/document.js
|
|
291374
|
+
var DEFAULT_MAX_DOCUMENT_BYTES = 8 * 1024 * 1024;
|
|
291375
|
+
var MAX_ZIP_EXPANDED_BYTES = 16 * 1024 * 1024;
|
|
291376
|
+
var MAX_ZIP_ENTRY_BYTES = 4 * 1024 * 1024;
|
|
291377
|
+
|
|
291378
|
+
// packages/execution/dist/tools/safe-image-edit.js
|
|
291379
|
+
var MAX_INPUT_BYTES = 25 * 1024 * 1024;
|
|
291380
|
+
var MAX_OUTPUT_BYTES = 30 * 1024 * 1024;
|
|
291381
|
+
|
|
291382
|
+
// packages/execution/dist/tools/audio-edit.js
|
|
291383
|
+
init_process_async();
|
|
291384
|
+
var AUDIO_EDIT_LIMITS = {
|
|
291385
|
+
maxInputFiles: 16,
|
|
291386
|
+
maxMixInputs: 8,
|
|
291387
|
+
maxSegments: 32,
|
|
291388
|
+
maxInputBytes: 512 * 1024 * 1024,
|
|
291389
|
+
maxTotalInputBytes: 1024 * 1024 * 1024,
|
|
291390
|
+
maxInputDurationSec: 2 * 60 * 60,
|
|
291391
|
+
maxTotalInputDurationSec: 4 * 60 * 60,
|
|
291392
|
+
maxOutputDurationSec: 2 * 60 * 60,
|
|
291393
|
+
maxOutputBytes: 512 * 1024 * 1024,
|
|
291394
|
+
maxSilenceSegmentSec: 5 * 60,
|
|
291395
|
+
maxTotalSilenceSec: 10 * 60,
|
|
291396
|
+
maxDelaySec: 10 * 60,
|
|
291397
|
+
processTimeoutMs: 10 * 60 * 1e3
|
|
291398
|
+
};
|
|
291399
|
+
|
|
291373
291400
|
// packages/execution/dist/tools/safe-math-eval.js
|
|
291374
291401
|
var CONSTANTS = {
|
|
291375
291402
|
"math.pi": Math.PI,
|
|
@@ -293091,7 +293118,7 @@ var DEFAULT_SPONSOR_MEDIA_LIMITS = {
|
|
|
293091
293118
|
|
|
293092
293119
|
// packages/execution/dist/tools/pdf-document.js
|
|
293093
293120
|
init_process_async();
|
|
293094
|
-
var
|
|
293121
|
+
var DEFAULT_MAX_DOCUMENT_BYTES2 = 500 * 1024 * 1024;
|
|
293095
293122
|
|
|
293096
293123
|
// packages/execution/dist/index.js
|
|
293097
293124
|
init_vision();
|
package/docs/DISCOVERY.json
CHANGED
|
@@ -25220,11 +25220,11 @@
|
|
|
25220
25220
|
},
|
|
25221
25221
|
{
|
|
25222
25222
|
"signature": "/remind <when> <message>",
|
|
25223
|
-
"description": "Set a scoped
|
|
25223
|
+
"description": "Set a scoped person notification; a due time is required"
|
|
25224
25224
|
},
|
|
25225
25225
|
{
|
|
25226
25226
|
"signature": "/remind in 30m <message>",
|
|
25227
|
-
"description": "Set a scoped
|
|
25227
|
+
"description": "Set a scoped person notification with a relative due time"
|
|
25228
25228
|
},
|
|
25229
25229
|
{
|
|
25230
25230
|
"signature": "/reminders",
|
|
@@ -36648,6 +36648,62 @@
|
|
|
36648
36648
|
}
|
|
36649
36649
|
]
|
|
36650
36650
|
},
|
|
36651
|
+
{
|
|
36652
|
+
"id": "tool.audio-edit",
|
|
36653
|
+
"kind": "tool",
|
|
36654
|
+
"title": "Audio Edit",
|
|
36655
|
+
"summary": "audio_edit is a directly callable Omnius tool.",
|
|
36656
|
+
"aliases": [
|
|
36657
|
+
"audio_edit"
|
|
36658
|
+
],
|
|
36659
|
+
"keywords": [
|
|
36660
|
+
"tool",
|
|
36661
|
+
"audio",
|
|
36662
|
+
"edit"
|
|
36663
|
+
],
|
|
36664
|
+
"maturity": "stable",
|
|
36665
|
+
"layer": "execution",
|
|
36666
|
+
"audiences": [
|
|
36667
|
+
"coding-agent",
|
|
36668
|
+
"integrator",
|
|
36669
|
+
"service-agent"
|
|
36670
|
+
],
|
|
36671
|
+
"use_when": [
|
|
36672
|
+
"The caller needs this isolated operation and live metadata confirms direct-call availability"
|
|
36673
|
+
],
|
|
36674
|
+
"avoid_when": [
|
|
36675
|
+
"The live registry reports the tool unavailable or the caller lacks its required scope"
|
|
36676
|
+
],
|
|
36677
|
+
"interfaces": [
|
|
36678
|
+
{
|
|
36679
|
+
"type": "rest-schema",
|
|
36680
|
+
"target": "/v1/tools/audio_edit"
|
|
36681
|
+
},
|
|
36682
|
+
{
|
|
36683
|
+
"type": "rest-call",
|
|
36684
|
+
"target": "/v1/tools/audio_edit/call"
|
|
36685
|
+
}
|
|
36686
|
+
],
|
|
36687
|
+
"references": [
|
|
36688
|
+
{
|
|
36689
|
+
"type": "source",
|
|
36690
|
+
"target": "packages/execution/src/tools/audio-edit.ts",
|
|
36691
|
+
"relation": "implementation"
|
|
36692
|
+
}
|
|
36693
|
+
],
|
|
36694
|
+
"direct_callable": true,
|
|
36695
|
+
"live_metadata": "GET /v1/tools/audio_edit",
|
|
36696
|
+
"source_of_truth": [
|
|
36697
|
+
"packages/execution/src/tools/audio-edit.ts",
|
|
36698
|
+
"GET /v1/tools/audio_edit"
|
|
36699
|
+
],
|
|
36700
|
+
"verification": [
|
|
36701
|
+
{
|
|
36702
|
+
"check": "Inspect GET /v1/tools/audio_edit before use",
|
|
36703
|
+
"expected": "Schema, security, exposure, and availability match the intended invocation"
|
|
36704
|
+
}
|
|
36705
|
+
]
|
|
36706
|
+
},
|
|
36651
36707
|
{
|
|
36652
36708
|
"id": "tool.audio-playback",
|
|
36653
36709
|
"kind": "tool",
|
|
@@ -37710,6 +37766,61 @@
|
|
|
37710
37766
|
}
|
|
37711
37767
|
]
|
|
37712
37768
|
},
|
|
37769
|
+
{
|
|
37770
|
+
"id": "tool.document",
|
|
37771
|
+
"kind": "tool",
|
|
37772
|
+
"title": "Document",
|
|
37773
|
+
"summary": "document is a directly callable Omnius tool.",
|
|
37774
|
+
"aliases": [
|
|
37775
|
+
"document"
|
|
37776
|
+
],
|
|
37777
|
+
"keywords": [
|
|
37778
|
+
"tool",
|
|
37779
|
+
"document"
|
|
37780
|
+
],
|
|
37781
|
+
"maturity": "stable",
|
|
37782
|
+
"layer": "execution",
|
|
37783
|
+
"audiences": [
|
|
37784
|
+
"coding-agent",
|
|
37785
|
+
"integrator",
|
|
37786
|
+
"service-agent"
|
|
37787
|
+
],
|
|
37788
|
+
"use_when": [
|
|
37789
|
+
"The caller needs this isolated operation and live metadata confirms direct-call availability"
|
|
37790
|
+
],
|
|
37791
|
+
"avoid_when": [
|
|
37792
|
+
"The live registry reports the tool unavailable or the caller lacks its required scope"
|
|
37793
|
+
],
|
|
37794
|
+
"interfaces": [
|
|
37795
|
+
{
|
|
37796
|
+
"type": "rest-schema",
|
|
37797
|
+
"target": "/v1/tools/document"
|
|
37798
|
+
},
|
|
37799
|
+
{
|
|
37800
|
+
"type": "rest-call",
|
|
37801
|
+
"target": "/v1/tools/document/call"
|
|
37802
|
+
}
|
|
37803
|
+
],
|
|
37804
|
+
"references": [
|
|
37805
|
+
{
|
|
37806
|
+
"type": "source",
|
|
37807
|
+
"target": "packages/execution/src/tools/document.ts",
|
|
37808
|
+
"relation": "implementation"
|
|
37809
|
+
}
|
|
37810
|
+
],
|
|
37811
|
+
"direct_callable": true,
|
|
37812
|
+
"live_metadata": "GET /v1/tools/document",
|
|
37813
|
+
"source_of_truth": [
|
|
37814
|
+
"packages/execution/src/tools/document.ts",
|
|
37815
|
+
"GET /v1/tools/document"
|
|
37816
|
+
],
|
|
37817
|
+
"verification": [
|
|
37818
|
+
{
|
|
37819
|
+
"check": "Inspect GET /v1/tools/document before use",
|
|
37820
|
+
"expected": "Schema, security, exposure, and availability match the intended invocation"
|
|
37821
|
+
}
|
|
37822
|
+
]
|
|
37823
|
+
},
|
|
37713
37824
|
{
|
|
37714
37825
|
"id": "tool.embedding-store",
|
|
37715
37826
|
"kind": "tool",
|
|
@@ -41445,6 +41556,63 @@
|
|
|
41445
41556
|
}
|
|
41446
41557
|
]
|
|
41447
41558
|
},
|
|
41559
|
+
{
|
|
41560
|
+
"id": "tool.safe-image-edit",
|
|
41561
|
+
"kind": "tool",
|
|
41562
|
+
"title": "Safe Image Edit",
|
|
41563
|
+
"summary": "safe_image_edit is a directly callable Omnius tool.",
|
|
41564
|
+
"aliases": [
|
|
41565
|
+
"safe_image_edit"
|
|
41566
|
+
],
|
|
41567
|
+
"keywords": [
|
|
41568
|
+
"tool",
|
|
41569
|
+
"safe",
|
|
41570
|
+
"image",
|
|
41571
|
+
"edit"
|
|
41572
|
+
],
|
|
41573
|
+
"maturity": "stable",
|
|
41574
|
+
"layer": "execution",
|
|
41575
|
+
"audiences": [
|
|
41576
|
+
"coding-agent",
|
|
41577
|
+
"integrator",
|
|
41578
|
+
"service-agent"
|
|
41579
|
+
],
|
|
41580
|
+
"use_when": [
|
|
41581
|
+
"The caller needs this isolated operation and live metadata confirms direct-call availability"
|
|
41582
|
+
],
|
|
41583
|
+
"avoid_when": [
|
|
41584
|
+
"The live registry reports the tool unavailable or the caller lacks its required scope"
|
|
41585
|
+
],
|
|
41586
|
+
"interfaces": [
|
|
41587
|
+
{
|
|
41588
|
+
"type": "rest-schema",
|
|
41589
|
+
"target": "/v1/tools/safe_image_edit"
|
|
41590
|
+
},
|
|
41591
|
+
{
|
|
41592
|
+
"type": "rest-call",
|
|
41593
|
+
"target": "/v1/tools/safe_image_edit/call"
|
|
41594
|
+
}
|
|
41595
|
+
],
|
|
41596
|
+
"references": [
|
|
41597
|
+
{
|
|
41598
|
+
"type": "source",
|
|
41599
|
+
"target": "packages/execution/src/tools/safe-image-edit.ts",
|
|
41600
|
+
"relation": "implementation"
|
|
41601
|
+
}
|
|
41602
|
+
],
|
|
41603
|
+
"direct_callable": true,
|
|
41604
|
+
"live_metadata": "GET /v1/tools/safe_image_edit",
|
|
41605
|
+
"source_of_truth": [
|
|
41606
|
+
"packages/execution/src/tools/safe-image-edit.ts",
|
|
41607
|
+
"GET /v1/tools/safe_image_edit"
|
|
41608
|
+
],
|
|
41609
|
+
"verification": [
|
|
41610
|
+
{
|
|
41611
|
+
"check": "Inspect GET /v1/tools/safe_image_edit before use",
|
|
41612
|
+
"expected": "Schema, security, exposure, and availability match the intended invocation"
|
|
41613
|
+
}
|
|
41614
|
+
]
|
|
41615
|
+
},
|
|
41448
41616
|
{
|
|
41449
41617
|
"id": "tool.safe-python",
|
|
41450
41618
|
"kind": "tool",
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -657,6 +657,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
657
657
|
| `tool.asr-listen` | Asr Listen | asr_listen is a directly callable Omnius tool. |
|
|
658
658
|
| `tool.audio-analyze` | Audio Analyze | audio_analyze is a directly callable Omnius tool. |
|
|
659
659
|
| `tool.audio-capture` | Audio Capture | audio_capture is a directly callable Omnius tool. |
|
|
660
|
+
| `tool.audio-edit` | Audio Edit | audio_edit is a directly callable Omnius tool. |
|
|
660
661
|
| `tool.audio-playback` | Audio Playback | audio_playback is a directly callable Omnius tool. |
|
|
661
662
|
| `tool.autoresearch` | Autoresearch | autoresearch is a directly callable Omnius tool. |
|
|
662
663
|
| `tool.av-comprehend` | Av Comprehend | av_comprehend is a directly callable Omnius tool. |
|
|
@@ -676,6 +677,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
676
677
|
| `tool.desktop-click` | Desktop Click | desktop_click is a directly callable Omnius tool. |
|
|
677
678
|
| `tool.desktop-describe` | Desktop Describe | desktop_describe is a directly callable Omnius tool. |
|
|
678
679
|
| `tool.diagnostic` | Diagnostic | diagnostic is a directly callable Omnius tool. |
|
|
680
|
+
| `tool.document` | Document | document is a directly callable Omnius tool. |
|
|
679
681
|
| `tool.embedding-store` | Embedding Store | embedding_store is a directly callable Omnius tool. |
|
|
680
682
|
| `tool.enter-worktree` | Enter Worktree | enter_worktree is a directly callable Omnius tool. |
|
|
681
683
|
| `tool.exit-worktree` | Exit Worktree | exit_worktree is a directly callable Omnius tool. |
|
|
@@ -742,6 +744,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
742
744
|
| `tool.repl-exec` | Repl Exec | repl_exec is a directly callable Omnius tool. |
|
|
743
745
|
| `tool.replay-with-intervention` | Replay With Intervention | replay_with_intervention is a directly callable Omnius tool. |
|
|
744
746
|
| `tool.repo-map` | Repo Map | repo_map is a directly callable Omnius tool. |
|
|
747
|
+
| `tool.safe-image-edit` | Safe Image Edit | safe_image_edit is a directly callable Omnius tool. |
|
|
745
748
|
| `tool.safe-python` | Safe Python | safe_python is a directly callable Omnius tool. |
|
|
746
749
|
| `tool.scheduler` | Scheduler | scheduler is a directly callable Omnius tool. |
|
|
747
750
|
| `tool.screenshot` | Screenshot | screenshot is a directly callable Omnius tool. |
|
package/docs/guides/telegram.md
CHANGED
|
@@ -29,7 +29,7 @@ The Telegram bridge is a scoped public ingress and egress layer. It supports adm
|
|
|
29
29
|
| Public group | scoped public intake | only if Telegram grants send rights | creative/public policy | group plus sender |
|
|
30
30
|
| No send rights | observed incoming messages only | no | no outbound retry loop | failure noted for that chat |
|
|
31
31
|
|
|
32
|
-
If Telegram returns a
|
|
32
|
+
If Telegram returns a permanent write refusal, the bridge opens a durable read-only circuit for that chat. Later messages still enter scoped history, but they do not start reply inference. A time-gated `getChatMember` permission check must confirm restored text-write capability before reply inference resumes.
|
|
33
33
|
|
|
34
34
|
## Scope Model
|
|
35
35
|
|
|
@@ -64,7 +64,11 @@ Preference writes require an explicit tool decision. They are not selected by re
|
|
|
64
64
|
|
|
65
65
|
## Failure Feedback
|
|
66
66
|
|
|
67
|
-
Telegram platform and tool failures
|
|
67
|
+
Telegram platform and tool failures remain raw trajectory evidence when the model can choose a corrected action. Permanent transport capability failures are different. The host must stop work that cannot be delivered.
|
|
68
|
+
|
|
69
|
+
The write-capability circuit classifies only caught `Error` objects and structured Bot API responses. It never scans participant text. `CHAT_WRITE_FORBIDDEN`, bot removal/blocking, missing send rights, and an unavailable chat open the chat-scoped circuit. A closed topic opens a topic-scoped circuit. These checks establish transport capability only; they do not classify conversational intent or decide whether a message deserves a reply.
|
|
70
|
+
|
|
71
|
+
Typing begins only after the relationship router returns a valid, input-bound `should_reply=true` decision. If the first typing action returns a permanent write refusal, Omnius does not retry without the topic, does not start a heartbeat, and does not generate the reply. Later read-only intake does not invoke the attention router.
|
|
68
72
|
|
|
69
73
|
Failure feedback should include:
|
|
70
74
|
|
|
@@ -74,7 +78,47 @@ Failure feedback should include:
|
|
|
74
78
|
- whether the failure happened before or after content generation
|
|
75
79
|
- current chat/user preference scope
|
|
76
80
|
|
|
77
|
-
|
|
81
|
+
Other feedback is ordinary trajectory evidence. It should not be converted into reward hacks or hidden conversational classifiers.
|
|
82
|
+
|
|
83
|
+
## Scheduled Reminders
|
|
84
|
+
|
|
85
|
+
Telegram reminders have two explicit outcomes:
|
|
86
|
+
|
|
87
|
+
- `person_notification` stores text and sends that text to the scoped person or chat when due.
|
|
88
|
+
- `agent_action` stores a task description, starts a new tool-capable run when due, and lets the host deliver the verified final result to the stored Telegram scope.
|
|
89
|
+
|
|
90
|
+
The legacy names `minimal` and `action` remain accepted for existing data. The
|
|
91
|
+
model must select the outcome from the requested future effect. “Remind me to
|
|
92
|
+
read the news at 09:00” is a person notification. “Get the news on topic X,
|
|
93
|
+
validate it, summarize it, and send it every morning at 9” is an agent action
|
|
94
|
+
with `repeat="daily"`, `time="09:00"`, and a complete `task_description`.
|
|
95
|
+
|
|
96
|
+
The scheduler claims each occurrence with a durable lease. It renews the lease
|
|
97
|
+
while the action runs. It increments `triggerCount` and advances recurrence only
|
|
98
|
+
after verified task completion and a target delivery receipt. A crash, incomplete
|
|
99
|
+
run, unavailable bridge, or failed send retains the occurrence and records
|
|
100
|
+
bounded exponential backoff. The host owns result delivery. An action task must
|
|
101
|
+
not send a second copy or create another reminder as a delivery workaround.
|
|
102
|
+
|
|
103
|
+
## Latency Adaptation
|
|
104
|
+
|
|
105
|
+
Telegram measures the full interval from intake receipt to a durable delivery receipt. Each chat/model pair starts with the full profile. A turn beyond the hard latency limit trials one leaner profile on the next real turn. Omnius does not issue duplicate inference to race profiles.
|
|
106
|
+
|
|
107
|
+
The normal router is a dependent decision cascade. Its first frame emits only route, reply authorization, actor role, reply basis, and cited evidence. A chat decision can proceed immediately. An action decision expands inside the task runner, where mission, effects, verification, and delivery are tracked. Durable peer-output classification is exposed only when the host packet contains repeated same-actor bot evidence. A strict retry uses the same small authorization frame and cannot create preferences, pattern memory, stimulation state, or expected-outcome side decisions.
|
|
108
|
+
|
|
109
|
+
This keeps ordinary human chat replies within a 320-token router ceiling. The 420-token recovery ceiling exists only for an invalid core contract. The larger contract is reserved for the evidence-gated repeated peer-output branch. More output capacity does not force generation, but the common path does not expose fields that the model does not need.
|
|
110
|
+
|
|
111
|
+
The full, balanced, and lean profiles preserve the typed relationship decision, action routing, evidence checks, and final Telegram receipt. Leaner chat profiles reduce optional context duplication and output ceilings. A failed typed contract or delivery receipt immediately returns the session to a richer profile. A leaner profile remains selected only after enough receipt-valid samples show no material quality-rate loss and at least a 10 percent median latency improvement.
|
|
112
|
+
|
|
113
|
+
Tuneables:
|
|
114
|
+
|
|
115
|
+
| Variable | Default | Purpose |
|
|
116
|
+
| --- | ---: | --- |
|
|
117
|
+
| `OMNIUS_TG_LATENCY_TARGET_MS` | `30000` | Desired end-to-end Telegram reply time |
|
|
118
|
+
| `OMNIUS_TG_LATENCY_HARD_MS` | `60000` | Latency that trials the next leaner profile |
|
|
119
|
+
| `OMNIUS_TG_LATENCY_MIN_SAMPLES` | `3` | Valid samples required before retaining a challenger |
|
|
120
|
+
| `OMNIUS_TG_LATENCY_SAMPLE_WINDOW` | `24` | Per-profile rolling comparison window |
|
|
121
|
+
| `OMNIUS_TG_WRITE_CAPABILITY_RECHECK_MS` | `300000` | Minimum interval between read-only permission probes |
|
|
78
122
|
|
|
79
123
|
## Public Creative Tools
|
|
80
124
|
|
|
@@ -86,6 +130,39 @@ Public users can create files, images, and audio through scoped creative workspa
|
|
|
86
130
|
|
|
87
131
|
These tools should not grant arbitrary filesystem access.
|
|
88
132
|
|
|
133
|
+
Every public artifact is retained as an encrypted per-chat object and bound to
|
|
134
|
+
a host-signed capability containing its logical path, byte length, content
|
|
135
|
+
hash, detected MIME type, source tool, expiry, delivery allowance, and review
|
|
136
|
+
receipts. The model cannot mint that capability. Telegram delivery verifies
|
|
137
|
+
the decrypted bytes against it and uses a durable, idempotent delivery job with
|
|
138
|
+
a lease, bounded backoff, and the returned Telegram message ID.
|
|
139
|
+
|
|
140
|
+
### Scoped create, edit, review, deliver loop
|
|
141
|
+
|
|
142
|
+
| Artifact | Typed tool | Supported work | Required review before delivery |
|
|
143
|
+
| --- | --- | --- | --- |
|
|
144
|
+
| Raster image | `safe_image_edit` | inspect, crop, resize, upscale/downscale, mask, composite, combine, convert | `telegram_image_analyze detail='full'` on the exact output |
|
|
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
|
+
| PDF or DOCX | `document` | create from heading/paragraph/bullet/page-break blocks, inspect, hash-guarded revise | `document action='inspect'` on the exact output |
|
|
147
|
+
|
|
148
|
+
These tools do not accept shell commands, raw FFmpeg filters, ImageMagick
|
|
149
|
+
expressions, raw PDF/OOXML bytes, HTML, macros, or paths outside the chat
|
|
150
|
+
workspace. Image and audio edits never overwrite an artifact. Document
|
|
151
|
+
revision requires `overwrite=true` and the `expected_hash` from the latest
|
|
152
|
+
receipt. A changed output receives a new content hash, so old review evidence
|
|
153
|
+
cannot authorize delivery of new bytes.
|
|
154
|
+
|
|
155
|
+
The image tool uses fixed ImageMagick argument vectors. The audio tool uses
|
|
156
|
+
fixed FFmpeg and FFprobe argument vectors. Both require those host programs to
|
|
157
|
+
be installed. The dependency-free document tool creates real PDF 1.4 and
|
|
158
|
+
OOXML DOCX files. PDF text uses the built-in WinAnsi font set; use DOCX for
|
|
159
|
+
full Unicode. DOCX pagination is explicitly reported as an estimate.
|
|
160
|
+
|
|
161
|
+
The agent must inspect the returned receipt, compare the reviewed evidence to
|
|
162
|
+
the user request, and create another output when the evidence exposes a gap.
|
|
163
|
+
Automatic attachment waits for the matching signed review receipt. Public
|
|
164
|
+
edits also use a separate per-user, per-chat hourly quota.
|
|
165
|
+
|
|
89
166
|
## Media Intake
|
|
90
167
|
|
|
91
168
|
Photos, documents, audio, video, and voice messages use a two-stage intake:
|
|
@@ -127,4 +204,4 @@ Acquired public media remains blocked from delivery and `task_complete` until re
|
|
|
127
204
|
|
|
128
205
|
## Verification
|
|
129
206
|
|
|
130
|
-
Relevant focused tests include `telegram-media-admission.test.ts`, `telegram-media-cache.test.ts`, `telegram-media-evidence.test.ts`, `telegram-public-media.test.ts`, `telegram-creative-tools.test.ts`, Telegram delivery preferences, inference error suppression, reflection corpus, and Bot API compatibility tests.
|
|
207
|
+
Relevant focused tests include `telegram-media-admission.test.ts`, `telegram-media-cache.test.ts`, `telegram-media-evidence.test.ts`, `telegram-public-media.test.ts`, `telegram-artifact-ledger.test.ts`, `telegram-creative-tools.test.ts`, `safe-image-edit.test.ts`, `audio-edit.test.ts`, `document.test.ts`, Telegram delivery preferences, inference error suppression, reflection corpus, and Bot API compatibility tests.
|
|
@@ -18,6 +18,11 @@ Configuration is layered from environment, global user settings, project setting
|
|
|
18
18
|
| `OMNIUS_DAEMON` | Start in daemon mode when set to `1` |
|
|
19
19
|
| `OMNIUS_FORCE_NO_THINK` | Force `think: false` for Qwen-style backends |
|
|
20
20
|
| `OMNIUS_THINK_AUTO` | Enable opt-in automatic thinking mode trigger |
|
|
21
|
+
| `OMNIUS_TG_LATENCY_TARGET_MS` | Desired end-to-end Telegram reply time (default `30000`) |
|
|
22
|
+
| `OMNIUS_TG_LATENCY_HARD_MS` | Trial a leaner Telegram chat profile after this total latency (default `60000`) |
|
|
23
|
+
| `OMNIUS_TG_LATENCY_MIN_SAMPLES` | Receipt-valid samples required to retain a leaner profile (default `3`) |
|
|
24
|
+
| `OMNIUS_TG_LATENCY_SAMPLE_WINDOW` | Per-profile rolling Telegram latency sample count (default `24`) |
|
|
25
|
+
| `OMNIUS_TG_WRITE_CAPABILITY_RECHECK_MS` | Minimum read-only Telegram permission-probe interval (default `300000`, minimum `15000`) |
|
|
21
26
|
| `OMNIUS_ASR_CUDA_VISIBLE_DEVICES` | Exact CUDA GPU index or UUID used for managed ASR activation; multi-device masks are rejected (Jetson's integrated GPU is `0`) |
|
|
22
27
|
| `OMNIUS_VIBEVOICE_PYTHON` | Host Python used to create the VibeVoice venv; its CUDA-enabled Torch is inherited with `--system-site-packages` |
|
|
23
28
|
| `OMNIUS_VIBEVOICE_ATTN` | VibeVoice attention implementation (`sdpa` by default; use a host-supported implementation) |
|
|
@@ -1093,8 +1093,8 @@ List scoped TUI reminders
|
|
|
1093
1093
|
Signatures:
|
|
1094
1094
|
|
|
1095
1095
|
- `/reminder [list\|all]` - List scoped TUI reminders
|
|
1096
|
-
- `/remind <when> <message>` - Set a scoped
|
|
1097
|
-
- `/remind in 30m <message>` - Set a scoped
|
|
1096
|
+
- `/remind <when> <message>` - Set a scoped person notification; a due time is required
|
|
1097
|
+
- `/remind in 30m <message>` - Set a scoped person notification with a relative due time
|
|
1098
1098
|
- `/reminders` - Alias for /reminder
|
|
1099
1099
|
|
|
1100
1100
|
### /scheduler
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.682",
|
|
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.682",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|