open-multi-agent-kit 0.93.0 → 0.94.1
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/CHANGELOG.md +29 -1
- package/README.md +3 -2
- package/dist/core/agent-session.d.ts +7 -14
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +78 -347
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/github-star-nudge.d.ts +15 -0
- package/dist/core/github-star-nudge.d.ts.map +1 -0
- package/dist/core/github-star-nudge.js +21 -0
- package/dist/core/github-star-nudge.js.map +1 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +11 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/sandbox/default-policy.d.ts +14 -0
- package/dist/core/sandbox/default-policy.d.ts.map +1 -0
- package/dist/core/sandbox/default-policy.js +58 -0
- package/dist/core/sandbox/default-policy.js.map +1 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-bash-runtime.d.ts +62 -0
- package/dist/core/session-bash-runtime.d.ts.map +1 -0
- package/dist/core/session-bash-runtime.js +167 -0
- package/dist/core/session-bash-runtime.js.map +1 -0
- package/dist/core/session-bash-service.d.ts +61 -0
- package/dist/core/session-bash-service.d.ts.map +1 -0
- package/dist/core/session-bash-service.js +155 -0
- package/dist/core/session-bash-service.js.map +1 -0
- package/dist/core/session-compaction-service.d.ts +48 -0
- package/dist/core/session-compaction-service.d.ts.map +1 -0
- package/dist/core/session-compaction-service.js +250 -0
- package/dist/core/session-compaction-service.js.map +1 -0
- package/dist/core/settings-manager.d.ts +5 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +9 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills-catalog-cache.d.ts +25 -0
- package/dist/core/skills-catalog-cache.d.ts.map +1 -0
- package/dist/core/skills-catalog-cache.js +123 -0
- package/dist/core/skills-catalog-cache.js.map +1 -0
- package/dist/core/skills.d.ts +6 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +25 -4
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +4 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +3 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +3 -2
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/diagnostics.d.ts +29 -0
- package/dist/core/tools/diagnostics.d.ts.map +1 -0
- package/dist/core/tools/diagnostics.js +325 -0
- package/dist/core/tools/diagnostics.js.map +1 -0
- package/dist/core/tools/index.d.ts +2 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +18 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/verified-bash-adapter.d.ts +18 -1
- package/dist/core/verified-bash-adapter.d.ts.map +1 -1
- package/dist/core/verified-bash-adapter.js +38 -1
- package/dist/core/verified-bash-adapter.js.map +1 -1
- package/dist/core/verified-bash-runtime.d.ts +13 -0
- package/dist/core/verified-bash-runtime.d.ts.map +1 -0
- package/dist/core/verified-bash-runtime.js +81 -0
- package/dist/core/verified-bash-runtime.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +55 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/types/evidence.d.ts +1 -1
- package/dist/types/evidence.d.ts.map +1 -1
- package/dist/types/evidence.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +31 -5
- package/dist/utils/frontmatter.js.map +1 -1
- package/docs/environment-variables.md +4 -0
- package/docs/sdk.md +10 -4
- package/docs/settings.md +11 -0
- package/docs/usage.md +1 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +15 -15
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.94.1] - 2026-07-27
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **Persistent GitHub star nudge** on interactive startup: first installs and anyone who has not confirmed a star keep seeing a nag banner every launch until they star https://github.com/dmae97/omk and run `/star` (writes global `githubStarred: true` in `~/.omk/agent/settings.json`). `/star reset` brings the nag back. Project settings cannot silence it.
|
|
8
|
+
|
|
9
|
+
## [0.94.0] - 2026-07-27
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **`diagnostics` is now a default-active tool** for new sessions (LLM-callable alongside `read`/`bash`/`edit`/`write`). It stays registered-but-inactive for sessions that pin their own tool list; opt out per session via `activeToolNames` or `excludedToolNames`.
|
|
14
|
+
- **Persistent skill-catalog cache** (`src/core/skills-catalog-cache.ts`): per-dir fingerprint walk (readdir/stat only) gates a JSON catalog at `<agentDir>/cache/skill-catalog-v1.json`. Repeat session starts skip all SKILL.md reads on unchanged trees (measured on this host: 105 ms cold → 41 ms warm for the full scan). Any add/edit/delete under a scanned tree invalidates exactly that dir; corrupt cache degrades to a clean miss. Atomic tmp+rename writes.
|
|
15
|
+
- **Hermetic test environment** (`test/setup-env.ts`): machine-level `OMK_*` and provider credential variables are scrubbed before every worker, so test results no longer depend on the developer shell (safety-gate suites saw env-disabled gates; live e2e suites ran against expired credentials instead of skipping). `LIVE_E2E=1` keeps provider keys when running the live suites on purpose.
|
|
16
|
+
- **`diagnostics` tool** (`src/core/tools/diagnostics.ts`): compiler-backed diagnostics via the project's own checkers — `tsc --noEmit`, `pyright`/`ruff`, `go vet`, `cargo check` — normalized to `SEVERITY path:line:col message`, per-language fail-soft (`skipped` instead of tool errors), 5 s TTL cache, 50-item cap, path/language auto-detect. Registered in `createAllToolDefinitions` and exported from the SDK (`createDiagnosticsTool`, `createDiagnosticsToolDefinition`).
|
|
17
|
+
- **Interactive sandbox promotion**: `session.setBashSandboxMode("audit" | "enforce" | "off")` switches the session sandbox at runtime (next spawn), with a `sandbox_audit` mode-change ledger entry; `session.bashSandboxMode` reads the effective mode. `SessionBashRuntime.setSandboxMode` backs it.
|
|
18
|
+
- **Default-on bash sandbox (opt-out).** Session bash now carries a default `audit`-mode sandbox preflight (workspace-write rooted at the session cwd, OS temp dir as extra write target). Spawns stay unwrapped but every decision lands in the replay ledger as a `sandbox_audit` event — a tamper-evident trail no other harness ships. `OMK_BASH_SANDBOX=enforce` activates the real OS backend (macOS `sandbox-exec` / Linux `bwrap`, auto-detected) and fails closed when unavailable; `=0` disables. New `onSpawnDecision` observer on `BashSandboxPreflight`, plus `createWorkspaceSandboxPolicy()` / `resolveBashSandboxMode()` SDK exports.
|
|
19
|
+
- **Git-aware verified-bash scope.** Session bash receipts now bind the git toplevel plus the sorted dirty set (staged/modified/untracked, capped at 32 paths, 1 s TTL cache) instead of an empty artifact set, so `captureWorkspaceFingerprint` records HEAD and a scope-limited dirty digest. Exported as `resolveSessionWorkspaceScope()`.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **API provider registry is now a process-wide singleton** (`globalThis`-anchored in `omk-ai/api-registry`). Symlinked workspace dist copies consumed natively and the same files inlined by vite-node used to keep separate registries, so `registerFauxProvider` (and any runtime registration) was invisible to streamers resolving through the other copy — surfacing as "No API provider registered for api: ..." in agent loops. Also removed a stale nested `packages/agent/node_modules/omk-ai` copy (0.92.0) that shadowed the workspace build.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **Extracted `SessionCompactionService`** (`src/core/session-compaction-service.ts`): the compaction state machine — capture/lock, barrier evaluation, emergency tail repair, provenance capture, transaction begin, envelope commit — moved out of `AgentSession` (5,271 → 4,911 lines), which now delegates through thin one-line wrappers. Transaction symbols import from `compaction/transaction.ts` directly so the `compaction/index.js` vi.mock pattern in suites keeps working.
|
|
28
|
+
- **Extracted `SessionBashService`** (`src/core/session-bash-service.ts`): the full bash surface — `executeBash` (prefix/loadout/safety-floor/headless gate), `recordBashResult` with the streaming-deferral queue, `abortBash`, `flushPending` — moved out of `AgentSession`, which now delegates one line each. Ordering contract (queue while streaming, flush on turn end) is pinned by the bash-persistence suite.
|
|
29
|
+
- **Extracted `SessionBashRuntime`** (`src/core/session-bash-runtime.ts`) from `AgentSession`: verified-evidence executor, default sandbox preflight (audit/enforce), git-aware workspace scope, and the receipt-bound bash orchestration (`executeVerified`) now live in one lazily-initialized unit; the session delegates. No behavior change.
|
|
30
|
+
|
|
31
|
+
- **Verified bash is default-on (opt-out).** When an AgentSession has a replay ledger, LLM-callable `bash` and interactive/RPC `executeBash` bind through `executeVerifiedBash` (`executor: "bash-tool"`, receipts under `<sessionFile>.evidence`). Set `OMK_VERIFIED_BASH=0` for the legacy unverified path. Adapter gains `env`/`onData` fan-out and `createVerifiedBashOperations()` so session PI_* env and live streaming stay intact without import cycles. See [SDK — Evidence](docs/sdk.md#evidence-and-verification) and [Environment Variables](docs/environment-variables.md).
|
|
4
32
|
|
|
5
33
|
## [0.93.0] - 2026-07-26
|
|
6
34
|
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<p align="center">
|
|
16
16
|
<a href="https://discord.com/invite/3cU7Bz4UPx"><img alt="Discord" src="https://img.shields.io/badge/discord-community-5865F2?style=flat-square&logo=discord&logoColor=white" /></a>
|
|
17
17
|
<a href="https://www.npmjs.com/package/open-multi-agent-kit"><img alt="npm" src="https://img.shields.io/npm/v/open-multi-agent-kit?style=flat-square" /></a>
|
|
18
|
-
<a href="https://github.com/dmae97/omk/releases/tag/v0.
|
|
18
|
+
<a href="https://github.com/dmae97/omk/releases/tag/v0.94.1"><img alt="Release" src="https://img.shields.io/badge/release-v0.94.1-00d7ff?style=flat-square" /></a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
21
|
> New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See [CONTRIBUTING.md](https://github.com/dmae97/open-multi-agent-kit/blob/v0.90.4/CONTRIBUTING.md).
|
|
@@ -43,7 +43,7 @@ This feature release moves footer resource metrics to whole-machine telemetry, s
|
|
|
43
43
|
| AdaptOrch | `omk-adaptorch-wpl` promoted to stable as a CLI runtime dependency; opt-in global-only `adaptorchBridge` advisory hints for the auto thinking-level resolver (default off). |
|
|
44
44
|
| Providers | New built-in subscription providers under `/login`: Qwen (Qwen Code Subscription) and Grok (xAI OAuth Proxy). |
|
|
45
45
|
|
|
46
|
-
GitHub-focused release notes live in [RELEASE_NOTES_v0.
|
|
46
|
+
GitHub-focused release notes live in [RELEASE_NOTES_v0.94.1.md](https://github.com/dmae97/omk/blob/v0.94.1/.github/RELEASE_NOTES_v0.94.1.md). The GitHub release workflow also extracts the canonical release body from [packages/coding-agent/CHANGELOG.md](https://github.com/dmae97/omk/blob/v0.94.1/packages/coding-agent/CHANGELOG.md).
|
|
47
47
|
|
|
48
48
|
## Release v0.90.8
|
|
49
49
|
|
|
@@ -226,6 +226,7 @@ Type `/` in the editor to trigger commands. [Extensions](#extensions) can regist
|
|
|
226
226
|
| `/share` | Upload as private GitHub gist with shareable HTML link |
|
|
227
227
|
| `/reload` | Reload keybindings, extensions, skills, prompts, and context files (themes hot-reload automatically) |
|
|
228
228
|
| `/hotkeys` | Show all keyboard shortcuts |
|
|
229
|
+
| `/star` | Open the OMK GitHub repo and stop the startup star nudge (`/star reset` restores it) |
|
|
229
230
|
| `/changelog` | Display version history |
|
|
230
231
|
| `/quit` | Quit omk |
|
|
231
232
|
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Modes use this class and add their own I/O layer on top.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, ThinkingLevel } from "omk-agent-core";
|
|
16
16
|
import type { ImageContent, Model, TextContent } from "omk-ai";
|
|
17
17
|
import type { ReplayLedgerManager } from "../guardrails/evidence-system.ts";
|
|
18
|
-
import {
|
|
18
|
+
import type { BashResult } from "./bash-executor.ts";
|
|
19
19
|
import { type CompactionResult } from "./compaction/index.ts";
|
|
20
20
|
import { type ContextCacheInvalidationSnapshot } from "./context-budget-v2-cache-invalidation.ts";
|
|
21
21
|
import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, type ExtensionMode, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.ts";
|
|
@@ -290,10 +290,8 @@ export declare class AgentSession {
|
|
|
290
290
|
private _retryAbortController;
|
|
291
291
|
private _retryAttempt;
|
|
292
292
|
private _refusedModels;
|
|
293
|
-
private
|
|
294
|
-
private
|
|
295
|
-
private _configuredBashSandboxPreflight;
|
|
296
|
-
private _detectedBashSandboxBackend;
|
|
293
|
+
private readonly _bashService;
|
|
294
|
+
private readonly _compactionService;
|
|
297
295
|
private _extensionRunner;
|
|
298
296
|
private _turnIndex;
|
|
299
297
|
private _resourceLoader;
|
|
@@ -323,6 +321,7 @@ export declare class AgentSession {
|
|
|
323
321
|
private readonly _replayLedger;
|
|
324
322
|
private readonly _replayGoalId;
|
|
325
323
|
private readonly _replayLaneId;
|
|
324
|
+
private readonly _bashRuntime;
|
|
326
325
|
private _transcriptRepair;
|
|
327
326
|
private _sessionRiskLevel;
|
|
328
327
|
private _workspaceMutationCount;
|
|
@@ -358,6 +357,8 @@ export declare class AgentSession {
|
|
|
358
357
|
private _recordEvidenceReceiptInvalidation;
|
|
359
358
|
private _sessionRevision;
|
|
360
359
|
private _appendReplayEvent;
|
|
360
|
+
/** Lazy verified-bash executor bound to this session's replay ledger (default-on path). */
|
|
361
|
+
private _getVerifiedEvidenceExecutor;
|
|
361
362
|
/** Append one required durable audit record. Persistence failures propagate. */
|
|
362
363
|
private _appendRunJournalAudit;
|
|
363
364
|
private _terminationMessage;
|
|
@@ -722,15 +723,7 @@ export declare class AgentSession {
|
|
|
722
723
|
* Saves to settings.
|
|
723
724
|
*/
|
|
724
725
|
setFollowUpMode(mode: "all" | "one-at-a-time"): void;
|
|
725
|
-
private _captureCompactionState;
|
|
726
|
-
private _captureCompactionStateLocked;
|
|
727
|
-
private _captureCompactionProvenance;
|
|
728
|
-
private _barrierError;
|
|
729
|
-
private _evaluateCompactionBarrier;
|
|
730
|
-
private _repairEmergencyCompactionTail;
|
|
731
|
-
private _priorCommittedCompactionSourceDigests;
|
|
732
726
|
private _beginCompactionTransaction;
|
|
733
|
-
private _detailsWithCompactionEnvelope;
|
|
734
727
|
private _commitCompaction;
|
|
735
728
|
private _pendingToolResultReserve;
|
|
736
729
|
private _compactionHysteresisConfig;
|