omega-code 0.4.0__tar.gz
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.
- omega_code-0.4.0/.github/workflows/ci.yml +51 -0
- omega_code-0.4.0/.github/workflows/release.yml +106 -0
- omega_code-0.4.0/.gitignore +20 -0
- omega_code-0.4.0/CHANGELOG.md +43 -0
- omega_code-0.4.0/LICENSE +21 -0
- omega_code-0.4.0/PKG-INFO +479 -0
- omega_code-0.4.0/README.md +446 -0
- omega_code-0.4.0/app/Omega/App/AppState.swift +123 -0
- omega_code-0.4.0/app/Omega/App/Assets.xcassets/AccentColor.colorset/Contents.json +6 -0
- omega_code-0.4.0/app/Omega/App/Assets.xcassets/AppIcon.appiconset/Contents.json +15 -0
- omega_code-0.4.0/app/Omega/App/Assets.xcassets/Contents.json +6 -0
- omega_code-0.4.0/app/Omega/App/DaemonSetupView.swift +62 -0
- omega_code-0.4.0/app/Omega/App/Info.plist +32 -0
- omega_code-0.4.0/app/Omega/App/Omega.entitlements +14 -0
- omega_code-0.4.0/app/Omega/App/OmegaApp.swift +35 -0
- omega_code-0.4.0/app/Omega/App/RootView.swift +29 -0
- omega_code-0.4.0/app/Omega/Models/TaskViewModel.swift +189 -0
- omega_code-0.4.0/app/Omega/Omega.xcodeproj/project.pbxproj +616 -0
- omega_code-0.4.0/app/Omega/Omega.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- omega_code-0.4.0/app/Omega/Omega.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +24 -0
- omega_code-0.4.0/app/Omega/Omega.xcodeproj/xcshareddata/xcschemes/Omega.xcscheme +106 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Package.swift +21 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/ComposerPrompt.swift +127 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/Events.swift +327 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/MockOmegaClient.swift +112 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/Models.swift +325 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/Networking.swift +91 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/OmegaClient.swift +298 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/OmegaCore.swift +3 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/ServeConfig.swift +51 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/TerminalSocket.swift +69 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/ToolFormatting.swift +31 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/TranscriptBlocks.swift +113 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Sources/OmegaCore/TranscriptModel.swift +337 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Tests/OmegaCoreTests/ComposerPromptTests.swift +77 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Tests/OmegaCoreTests/EventDecodingTests.swift +80 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Tests/OmegaCoreTests/OmegaCoreTests.swift +6 -0
- omega_code-0.4.0/app/Omega/Packages/OmegaCore/Tests/OmegaCoreTests/TranscriptModelTests.swift +203 -0
- omega_code-0.4.0/app/Omega/README.md +154 -0
- omega_code-0.4.0/app/Omega/Services/AppSettings.swift +46 -0
- omega_code-0.4.0/app/Omega/Services/DaemonLauncher.swift +86 -0
- omega_code-0.4.0/app/Omega/Services/NotificationService.swift +69 -0
- omega_code-0.4.0/app/Omega/Views/Inspector/DiffSheetView.swift +88 -0
- omega_code-0.4.0/app/Omega/Views/Inspector/InspectorArtifactsTab.swift +105 -0
- omega_code-0.4.0/app/Omega/Views/Inspector/InspectorConnectionsTab.swift +48 -0
- omega_code-0.4.0/app/Omega/Views/Inspector/InspectorGitTab.swift +168 -0
- omega_code-0.4.0/app/Omega/Views/Inspector/InspectorSessionTab.swift +98 -0
- omega_code-0.4.0/app/Omega/Views/Inspector/InspectorView.swift +45 -0
- omega_code-0.4.0/app/Omega/Views/Overview/ConnectionPill.swift +22 -0
- omega_code-0.4.0/app/Omega/Views/Overview/OverviewTaskCard.swift +67 -0
- omega_code-0.4.0/app/Omega/Views/Overview/OverviewView.swift +157 -0
- omega_code-0.4.0/app/Omega/Views/Overview/TerminalRow.swift +41 -0
- omega_code-0.4.0/app/Omega/Views/Settings/SettingsView.swift +40 -0
- omega_code-0.4.0/app/Omega/Views/Shared/ConnectionStyle.swift +14 -0
- omega_code-0.4.0/app/Omega/Views/Shared/ElapsedFormatter.swift +14 -0
- omega_code-0.4.0/app/Omega/Views/Shared/ModelChip.swift +15 -0
- omega_code-0.4.0/app/Omega/Views/Shared/PRBadge.swift +36 -0
- omega_code-0.4.0/app/Omega/Views/Shared/StatusDot.swift +33 -0
- omega_code-0.4.0/app/Omega/Views/Sidebar/NewTaskSheet.swift +137 -0
- omega_code-0.4.0/app/Omega/Views/Sidebar/QuickSwitcherView.swift +64 -0
- omega_code-0.4.0/app/Omega/Views/Sidebar/SidebarView.swift +119 -0
- omega_code-0.4.0/app/Omega/Views/Task/AskUserCardView.swift +69 -0
- omega_code-0.4.0/app/Omega/Views/Task/ComposerTextView.swift +300 -0
- omega_code-0.4.0/app/Omega/Views/Task/ComposerView.swift +300 -0
- omega_code-0.4.0/app/Omega/Views/Task/ConfirmCardView.swift +54 -0
- omega_code-0.4.0/app/Omega/Views/Task/StatusLineView.swift +29 -0
- omega_code-0.4.0/app/Omega/Views/Task/TaskDetailView.swift +101 -0
- omega_code-0.4.0/app/Omega/Views/Task/ToolRowView.swift +98 -0
- omega_code-0.4.0/app/Omega/Views/Task/TranscriptView.swift +137 -0
- omega_code-0.4.0/app/Omega/Views/Task/WorkspaceFileIndex.swift +61 -0
- omega_code-0.4.0/app/Omega/Views/Terminal/TerminalDrawerView.swift +133 -0
- omega_code-0.4.0/app/Omega/Views/Terminal/TerminalPaneView.swift +59 -0
- omega_code-0.4.0/app/Omega/project.yml +85 -0
- omega_code-0.4.0/omega/__init__.py +0 -0
- omega_code-0.4.0/omega/__main__.py +589 -0
- omega_code-0.4.0/omega/artifacts.py +151 -0
- omega_code-0.4.0/omega/checkpoint.py +246 -0
- omega_code-0.4.0/omega/compact.py +106 -0
- omega_code-0.4.0/omega/config.py +285 -0
- omega_code-0.4.0/omega/eval/__init__.py +3 -0
- omega_code-0.4.0/omega/eval/cli.py +127 -0
- omega_code-0.4.0/omega/eval/examples/plan-version-flag.yaml +11 -0
- omega_code-0.4.0/omega/eval/examples/relative-age-negative-delta.yaml +14 -0
- omega_code-0.4.0/omega/eval/examples/version-flag.yaml +10 -0
- omega_code-0.4.0/omega/eval/manifest.py +129 -0
- omega_code-0.4.0/omega/eval/prices.py +29 -0
- omega_code-0.4.0/omega/eval/report.py +135 -0
- omega_code-0.4.0/omega/eval/runner.py +199 -0
- omega_code-0.4.0/omega/eval/tasks.py +97 -0
- omega_code-0.4.0/omega/events.py +145 -0
- omega_code-0.4.0/omega/export.py +80 -0
- omega_code-0.4.0/omega/gitlog.py +229 -0
- omega_code-0.4.0/omega/hooks.py +63 -0
- omega_code-0.4.0/omega/instructions.py +103 -0
- omega_code-0.4.0/omega/integrations.py +284 -0
- omega_code-0.4.0/omega/keys.py +173 -0
- omega_code-0.4.0/omega/llm.py +442 -0
- omega_code-0.4.0/omega/loop.py +510 -0
- omega_code-0.4.0/omega/mcp.py +490 -0
- omega_code-0.4.0/omega/memory/__init__.py +5 -0
- omega_code-0.4.0/omega/memory/consolidate.py +103 -0
- omega_code-0.4.0/omega/memory/curate.py +69 -0
- omega_code-0.4.0/omega/memory/store.py +321 -0
- omega_code-0.4.0/omega/memory/tools.py +175 -0
- omega_code-0.4.0/omega/migrate.py +40 -0
- omega_code-0.4.0/omega/onboarding.py +242 -0
- omega_code-0.4.0/omega/permissions.py +137 -0
- omega_code-0.4.0/omega/secrets.py +173 -0
- omega_code-0.4.0/omega/server/__init__.py +7 -0
- omega_code-0.4.0/omega/server/__main__.py +18 -0
- omega_code-0.4.0/omega/server/app.py +71 -0
- omega_code-0.4.0/omega/server/auth.py +73 -0
- omega_code-0.4.0/omega/server/manager.py +287 -0
- omega_code-0.4.0/omega/server/models.py +123 -0
- omega_code-0.4.0/omega/server/tasks_api.py +311 -0
- omega_code-0.4.0/omega/server/terminals.py +245 -0
- omega_code-0.4.0/omega/server/worker.py +186 -0
- omega_code-0.4.0/omega/session.py +209 -0
- omega_code-0.4.0/omega/setup.html +281 -0
- omega_code-0.4.0/omega/setup_server.py +452 -0
- omega_code-0.4.0/omega/skills.py +158 -0
- omega_code-0.4.0/omega/subagent.py +98 -0
- omega_code-0.4.0/omega/tasks.py +195 -0
- omega_code-0.4.0/omega/tools.py +590 -0
- omega_code-0.4.0/omega/trace.py +156 -0
- omega_code-0.4.0/omega/trajectory.py +146 -0
- omega_code-0.4.0/omega/ui/__init__.py +0 -0
- omega_code-0.4.0/omega/ui/composer.py +140 -0
- omega_code-0.4.0/omega/ui/format.py +708 -0
- omega_code-0.4.0/omega/ui/plain.py +141 -0
- omega_code-0.4.0/omega/ui/tui/__init__.py +9 -0
- omega_code-0.4.0/omega/ui/tui/app.py +958 -0
- omega_code-0.4.0/omega/ui/tui/history.py +50 -0
- omega_code-0.4.0/omega/ui/tui/modals.py +292 -0
- omega_code-0.4.0/omega/ui/tui/onboarding.py +367 -0
- omega_code-0.4.0/omega/ui/tui/prefs.py +25 -0
- omega_code-0.4.0/omega/ui/tui/sidebar.py +510 -0
- omega_code-0.4.0/omega/ui/tui/status.py +115 -0
- omega_code-0.4.0/omega/ui/tui/theme.py +91 -0
- omega_code-0.4.0/omega/ui/tui/transcript.py +783 -0
- omega_code-0.4.0/omega/verify.py +133 -0
- omega_code-0.4.0/pyproject.toml +79 -0
- omega_code-0.4.0/scripts/release.sh +144 -0
- omega_code-0.4.0/tests/_stub_worker.py +120 -0
- omega_code-0.4.0/tests/conftest.py +45 -0
- omega_code-0.4.0/tests/test_artifacts.py +180 -0
- omega_code-0.4.0/tests/test_checkpoint.py +182 -0
- omega_code-0.4.0/tests/test_compact_session.py +323 -0
- omega_code-0.4.0/tests/test_composer.py +64 -0
- omega_code-0.4.0/tests/test_config.py +189 -0
- omega_code-0.4.0/tests/test_eval_manifest.py +75 -0
- omega_code-0.4.0/tests/test_eval_prices.py +24 -0
- omega_code-0.4.0/tests/test_eval_report.py +73 -0
- omega_code-0.4.0/tests/test_eval_runner.py +162 -0
- omega_code-0.4.0/tests/test_eval_tasks.py +97 -0
- omega_code-0.4.0/tests/test_events.py +127 -0
- omega_code-0.4.0/tests/test_export.py +72 -0
- omega_code-0.4.0/tests/test_gitlog.py +266 -0
- omega_code-0.4.0/tests/test_hooks.py +106 -0
- omega_code-0.4.0/tests/test_instructions.py +102 -0
- omega_code-0.4.0/tests/test_integrations.py +78 -0
- omega_code-0.4.0/tests/test_llm_anthropic.py +316 -0
- omega_code-0.4.0/tests/test_llm_retry.py +289 -0
- omega_code-0.4.0/tests/test_loop_checkpoint.py +97 -0
- omega_code-0.4.0/tests/test_loop_events.py +250 -0
- omega_code-0.4.0/tests/test_loop_retry_guard.py +180 -0
- omega_code-0.4.0/tests/test_loop_verify_review.py +290 -0
- omega_code-0.4.0/tests/test_main_cli.py +293 -0
- omega_code-0.4.0/tests/test_mcp_manager.py +250 -0
- omega_code-0.4.0/tests/test_memory_consolidate.py +137 -0
- omega_code-0.4.0/tests/test_memory_curate.py +99 -0
- omega_code-0.4.0/tests/test_memory_store.py +150 -0
- omega_code-0.4.0/tests/test_memory_tools.py +144 -0
- omega_code-0.4.0/tests/test_migrate.py +121 -0
- omega_code-0.4.0/tests/test_onboarding.py +124 -0
- omega_code-0.4.0/tests/test_permissions.py +79 -0
- omega_code-0.4.0/tests/test_secrets.py +173 -0
- omega_code-0.4.0/tests/test_server_api.py +288 -0
- omega_code-0.4.0/tests/test_server_tasks.py +140 -0
- omega_code-0.4.0/tests/test_server_terminals.py +119 -0
- omega_code-0.4.0/tests/test_skills.py +186 -0
- omega_code-0.4.0/tests/test_status_bar.py +34 -0
- omega_code-0.4.0/tests/test_streaming.py +75 -0
- omega_code-0.4.0/tests/test_subagent_events.py +73 -0
- omega_code-0.4.0/tests/test_tools.py +130 -0
- omega_code-0.4.0/tests/test_tools_hooks_and_background.py +126 -0
- omega_code-0.4.0/tests/test_tools_phase2.py +175 -0
- omega_code-0.4.0/tests/test_trace.py +102 -0
- omega_code-0.4.0/tests/test_trajectory.py +128 -0
- omega_code-0.4.0/tests/test_tui.py +1186 -0
- omega_code-0.4.0/tests/test_tui_onboarding.py +176 -0
- omega_code-0.4.0/tests/test_ui_format.py +350 -0
- omega_code-0.4.0/tests/test_ui_plain.py +140 -0
- omega_code-0.4.0/tests/test_verify.py +153 -0
- omega_code-0.4.0/uv.lock +1661 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
os: [ubuntu-latest, macos-latest]
|
|
15
|
+
python-version: ["3.11", "3.13"]
|
|
16
|
+
|
|
17
|
+
runs-on: ${{ matrix.os }}
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Install ripgrep (Linux)
|
|
23
|
+
if: runner.os == 'Linux'
|
|
24
|
+
run: sudo apt-get update && sudo apt-get install -y ripgrep
|
|
25
|
+
|
|
26
|
+
- name: Install ripgrep (macOS)
|
|
27
|
+
if: runner.os == 'macOS'
|
|
28
|
+
run: brew install ripgrep
|
|
29
|
+
|
|
30
|
+
- name: Configure git identity
|
|
31
|
+
run: |
|
|
32
|
+
git config --global user.name "omega-ci"
|
|
33
|
+
git config --global user.email "omega-ci@users.noreply.github.com"
|
|
34
|
+
|
|
35
|
+
- name: Install uv
|
|
36
|
+
uses: astral-sh/setup-uv@v4
|
|
37
|
+
with:
|
|
38
|
+
python-version: ${{ matrix.python-version }}
|
|
39
|
+
enable-cache: true
|
|
40
|
+
|
|
41
|
+
- name: Install dependencies
|
|
42
|
+
run: uv sync
|
|
43
|
+
|
|
44
|
+
- name: Lint with ruff
|
|
45
|
+
run: uv run ruff check .
|
|
46
|
+
|
|
47
|
+
- name: Type check with mypy
|
|
48
|
+
run: uv run mypy
|
|
49
|
+
|
|
50
|
+
- name: Test with pytest
|
|
51
|
+
run: uv run pytest -q
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# One-time setup required by the repo owner before this workflow can publish:
|
|
2
|
+
#
|
|
3
|
+
# 1. Sign in to https://pypi.org and create (or claim) the "omega-code" project.
|
|
4
|
+
# If the project does not exist yet on PyPI, use PyPI's "pending publisher"
|
|
5
|
+
# flow instead: https://pypi.org/manage/account/publishing/ and register a
|
|
6
|
+
# pending trusted publisher for a project that does not exist yet.
|
|
7
|
+
# 2. On the project's "Publishing" settings page (Manage -> Publishing), add a
|
|
8
|
+
# new trusted publisher with:
|
|
9
|
+
# - Owner: Timothy102
|
|
10
|
+
# - Repository name: omega
|
|
11
|
+
# - Workflow name: release.yml
|
|
12
|
+
# - Environment name: pypi
|
|
13
|
+
# 3. No API token or secret is needed — PyPI trusts this workflow's OIDC
|
|
14
|
+
# identity directly, scoped to the "pypi" GitHub Environment below.
|
|
15
|
+
# (Optional but recommended: create a "pypi" environment under repo
|
|
16
|
+
# Settings -> Environments and add required reviewers for extra safety.)
|
|
17
|
+
#
|
|
18
|
+
# Once that's done, pushing a tag matching `v*` (e.g. `v0.3.0`) builds the
|
|
19
|
+
# sdist/wheel, publishes them to PyPI, and creates a matching GitHub release.
|
|
20
|
+
|
|
21
|
+
name: Release
|
|
22
|
+
|
|
23
|
+
on:
|
|
24
|
+
push:
|
|
25
|
+
tags:
|
|
26
|
+
- "v*"
|
|
27
|
+
|
|
28
|
+
permissions:
|
|
29
|
+
contents: write
|
|
30
|
+
|
|
31
|
+
jobs:
|
|
32
|
+
build:
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v4
|
|
36
|
+
|
|
37
|
+
- name: Install uv
|
|
38
|
+
uses: astral-sh/setup-uv@v4
|
|
39
|
+
with:
|
|
40
|
+
python-version: "3.11"
|
|
41
|
+
enable-cache: true
|
|
42
|
+
|
|
43
|
+
- name: Build sdist and wheel
|
|
44
|
+
run: uv build
|
|
45
|
+
|
|
46
|
+
- name: Upload build artifacts
|
|
47
|
+
uses: actions/upload-artifact@v4
|
|
48
|
+
with:
|
|
49
|
+
name: dist
|
|
50
|
+
path: dist/
|
|
51
|
+
|
|
52
|
+
publish-pypi:
|
|
53
|
+
needs: build
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
environment: pypi
|
|
56
|
+
permissions:
|
|
57
|
+
id-token: write
|
|
58
|
+
steps:
|
|
59
|
+
- name: Download build artifacts
|
|
60
|
+
uses: actions/download-artifact@v4
|
|
61
|
+
with:
|
|
62
|
+
name: dist
|
|
63
|
+
path: dist/
|
|
64
|
+
|
|
65
|
+
- name: Publish to PyPI
|
|
66
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
67
|
+
with:
|
|
68
|
+
packages-dir: dist/
|
|
69
|
+
|
|
70
|
+
github-release:
|
|
71
|
+
needs: publish-pypi
|
|
72
|
+
runs-on: ubuntu-latest
|
|
73
|
+
steps:
|
|
74
|
+
- uses: actions/checkout@v4
|
|
75
|
+
|
|
76
|
+
- name: Download build artifacts
|
|
77
|
+
uses: actions/download-artifact@v4
|
|
78
|
+
with:
|
|
79
|
+
name: dist
|
|
80
|
+
path: dist/
|
|
81
|
+
|
|
82
|
+
- name: Extract changelog section for this tag
|
|
83
|
+
id: changelog
|
|
84
|
+
run: |
|
|
85
|
+
version="${GITHUB_REF_NAME#v}"
|
|
86
|
+
notes_file="$(mktemp)"
|
|
87
|
+
awk -v ver="$version" '
|
|
88
|
+
BEGIN { found = 0 }
|
|
89
|
+
/^## / {
|
|
90
|
+
if (found) exit
|
|
91
|
+
if ($0 ~ "^## \\[?" ver "\\]?") { found = 1; next }
|
|
92
|
+
next
|
|
93
|
+
}
|
|
94
|
+
found { print }
|
|
95
|
+
' CHANGELOG.md > "$notes_file"
|
|
96
|
+
if [ ! -s "$notes_file" ]; then
|
|
97
|
+
echo "Release ${GITHUB_REF_NAME}" > "$notes_file"
|
|
98
|
+
fi
|
|
99
|
+
echo "notes_file=$notes_file" >> "$GITHUB_OUTPUT"
|
|
100
|
+
|
|
101
|
+
- name: Create GitHub release
|
|
102
|
+
uses: softprops/action-gh-release@v2
|
|
103
|
+
with:
|
|
104
|
+
name: ${{ github.ref_name }}
|
|
105
|
+
body_path: ${{ steps.changelog.outputs.notes_file }}
|
|
106
|
+
files: dist/*
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.pyc
|
|
3
|
+
.venv/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
.pytest_cache/
|
|
8
|
+
.rig/
|
|
9
|
+
.omega/
|
|
10
|
+
.DS_Store
|
|
11
|
+
.env
|
|
12
|
+
|
|
13
|
+
# Xcode / SwiftPM
|
|
14
|
+
app/**/.build/
|
|
15
|
+
app/**/DerivedData/
|
|
16
|
+
app/**/xcuserdata/
|
|
17
|
+
*.xcuserstate
|
|
18
|
+
|
|
19
|
+
# Personal Claude Code overrides, not team policy
|
|
20
|
+
.claude/settings.local.json
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
|
|
7
|
+
## [0.4.0] - 2026-09-11
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- Multiline TUI composer (`TextArea`): line numbers after wrap, current-line highlight, Enter to send, Shift+Enter for newline, `@` file mentions. Starts one line tall and grows with content.
|
|
11
|
+
- Native macOS composer (`NSTextView`): real caret, click-to-place, drop/paste chips, `@` workspace mentions.
|
|
12
|
+
- `omega keys` and OS-keychain secret storage so API keys no longer live in `config.json`.
|
|
13
|
+
- Catalog aliases: spark, astra, sol, terra, luna, grok.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- Top-level agent cap is 1000 rounds (subagents stay 12 / 6).
|
|
17
|
+
- Local `read` no longer taints the turn; only remote MCP content does.
|
|
18
|
+
- Transcript and status-bar formatting.
|
|
19
|
+
|
|
20
|
+
## [0.3.0] - 2026-09-03
|
|
21
|
+
|
|
22
|
+
The v2 rebuild: a from-scratch harness architecture, a Textual TUI, and the
|
|
23
|
+
project's rename from `rig` to `omega`.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- Harness v2: event pipeline, artifact offload, memory graph, `ask_user`, and a plain-text UI fallback (9e4b9f6)
|
|
27
|
+
- Textual TUI, built up over several passes: core UI (d84f86a), thinking state, onboarding wizard, honest tool-call lines, sidebar rework (cc805cd)
|
|
28
|
+
- Native Anthropic backend alongside OpenAI, with a model catalog and picker, plus onboarding (c5ca438)
|
|
29
|
+
- Connections manager: integration catalog and lazy MCP connect (823aeb7)
|
|
30
|
+
- Git tab: repository discovery and recent commits via `gitlog` (de6f9d2)
|
|
31
|
+
- Context engineering, reliability improvements, an eval harness with example tasks, and bundled skills (7764a4e)
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
- Renamed the project from `rig` to `omega` (ae35441)
|
|
35
|
+
- Stricter typing, shared UI formatting helpers, stdin prompt support (639f00a)
|
|
36
|
+
- CLI now warns when a subcommand ignores trailing flags (29b3309)
|
|
37
|
+
- Point a new user at `omega setup` when no API key is configured (e17fd8f)
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
- Stopped conflating long-term memory with the conversation (848ae6f)
|
|
41
|
+
|
|
42
|
+
### Documentation
|
|
43
|
+
- README and packaging cleanup: real clone URL, MIT licence, packaging ignores (46c87d0, 802c0e7)
|
omega_code-0.4.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Tim Cvetko
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|