justsisyphus
396043a122
fix(ci): add registry-url to setup-node for OIDC auth
2026-01-16 02:25:51 +09:00
justsisyphus
9854e9f6e5
Revert "fix(ci): add NPM_TOKEN support for npm publishing"
...
This reverts commit 5de3d4fb7d4fd68d67b2d3d59d2b58b49c0aae5b.
2026-01-16 02:20:15 +09:00
justsisyphus
48167a6920
refactor(lsp): remove duplicate LSP tools already provided by OpenCode
...
Remove lsp_goto_definition, lsp_find_references, lsp_symbols as they
duplicate OpenCode's built-in LspGotoDefinition, LspFindReferences,
LspDocumentSymbols, and LspWorkspaceSymbols.
Keep oh-my-opencode-specific tools:
- lsp_diagnostics (OpenCode lacks pull diagnostics)
- lsp_servers (server management)
- lsp_prepare_rename / lsp_rename (OpenCode lacks rename)
Clean up associated dead code:
- Client methods: hover, definition, references, symbols, codeAction
- Utils: formatLocation, formatSymbolKind, formatDocumentSymbol, etc.
- Types: Location, LocationLink, SymbolInfo, DocumentSymbol, etc.
- Constants: SYMBOL_KIND_MAP, DEFAULT_MAX_REFERENCES/SYMBOLS
-418 lines removed.
2026-01-16 02:17:00 +09:00
justsisyphus
207a39b17a
fix(skill): unify skill resolution to support user custom skills
...
sisyphus_task was only loading builtin skills via resolveMultipleSkills().
Now uses resolveMultipleSkillsAsync() which merges discoverSkills() + builtin skills.
- Add getAllSkills(), extractSkillTemplate(), resolveMultipleSkillsAsync()
- Update sisyphus_task to use async skill resolution
- Refactor skill tool to reuse unified getAllSkills()
- Add async skill resolution tests
2026-01-16 01:57:57 +09:00
justsisyphus
5de3d4fb7d
fix(ci): add NPM_TOKEN support for npm publishing
...
npm revoked all classic tokens. Workflow now requires NPM_TOKEN secret
with granular access token for publishing.
2026-01-16 01:23:00 +09:00
justsisyphus
7a9e604b2d
fix(ci): revert publish runner to ubuntu-latest for npm OIDC
...
macOS runner breaks npm OIDC trusted publishing. Bun can cross-compile
all platform binaries on ubuntu, so macOS runner is not needed.
2026-01-16 01:17:22 +09:00
justsisyphus
6670754efe
fix(ci): add registry-url to setup-node for npm OIDC auth
...
setup-node requires registry-url to configure .npmrc for OIDC authentication
2026-01-16 01:10:37 +09:00
justsisyphus
37d4aec4d0
fix(ci): use bunx tsc instead of bare tsc in publish workflow
...
tsc is not in PATH when installed via bun - use bunx to run from node_modules/.bin
2026-01-16 00:55:12 +09:00
Jeon Suyeol
c38b078c12
fix(test): isolate environment in non-interactive-env hook tests ( #822 )
...
- Delete PSModulePath in beforeEach() to prevent CI cross-platform detection
- Set SHELL=/bin/bash to ensure tests start with clean Unix-like environment
- Fixes flaky test failures on GitHub Actions CI runners
- Tests can still override these values for PowerShell-specific behavior
2026-01-16 00:54:53 +09:00
Kenny
5e44996746
Merge pull request #813 from KNN-07/fix/start-work-ultrawork-plan-confusion
...
fix(start-work): honor explicit plan name and strip ultrawork keywords
2026-01-15 10:42:45 -05:00
sisyphus-dev-ai
9a152bcebb
chore: changes by sisyphus-dev-ai
2026-01-15 15:34:12 +00:00
Kenny
c67ca8275e
feat: Bun single-file executable distribution ( #819 )
...
* feat: add Bun single-file executable distribution
- Add 7 platform packages for standalone CLI binaries
- Add bin/platform.js for shared platform detection
- Add bin/oh-my-opencode.js ESM wrapper
- Add postinstall.mjs for binary verification
- Add script/build-binaries.ts for cross-compilation
- Update publish workflow for multi-package publishing
- Add CI guard against @ast-grep/napi in CLI
- Add unit tests for platform detection (12 tests)
- Update README to remove Bun runtime requirement
Platforms supported:
- macOS ARM64 & x64
- Linux x64 & ARM64 (glibc)
- Linux x64 & ARM64 (musl/Alpine)
- Windows x64
Closes #816
* chore: remove unnecessary @ast-grep/napi CI check
* chore: gitignore compiled platform binaries
* fix: use require() instead of top-level await import() for Bun compile compatibility
* refactor: use static ESM import for package.json instead of require()
2026-01-16 00:33:07 +09:00
justsisyphus
72a3975799
fix(ci): add missing --copilot=no flag to agent workflow
2026-01-16 00:26:44 +09:00
Kenny
747d824cbf
Merge pull request #818 from code-yeongyu/fix/sisyphus-orchestrator-test-assertions
...
fix(sisyphus-orchestrator): update test assertions to match new prompt text
2026-01-15 08:44:52 -05:00
Kenny
b8a8cc95e2
fix(sisyphus-orchestrator): update test assertions to match new prompt text
...
Update 5 test assertions to use stable substrings following section-markers
best practice:
- "MANDATORY VERIFICATION" → "MANDATORY:" (2 places)
- "SUBAGENTS LIE" → "LIE" (1 place)
- "0 left" → "0 remaining" (1 place)
- "2 left" → "2 remaining" (1 place)
Fixes test failures introduced in 9bed597.
2026-01-15 08:40:28 -05:00
Kenny
96630bb0ee
Merge pull request #817 from code-yeongyu/fix/ci-pr-tests-on-dev
...
fix(ci): run tests on PRs to dev branch
2026-01-15 07:48:21 -05:00
Kenny
15e3e16bf2
fix(ci): run tests on PRs to dev branch
2026-01-15 07:43:43 -05:00
Kenny
68699330b8
Merge pull request #815 from devxoul/fix/readme-beta-version
...
docs: update beta version to 3.0.0-beta.7 in README
2026-01-15 07:30:15 -05:00
Suyeol Jeon
49384fa804
docs: update beta version link to v3.0.0-beta.7 in README
2026-01-15 21:10:13 +09:00
Suyeol Jeon
b056e775f5
docs: update beta version to 3.0.0-beta.7 in README
2026-01-15 20:48:39 +09:00
justsisyphus
9bed597e46
feat(prompts): strengthen post-task reminders with actionable guidance
...
- Rewrite VERIFICATION_REMINDER with 3-step action flow (verify → determine QA → add to todo)
- Add explicit BLOCKING directive to prevent premature task progression
- Enhance buildOrchestratorReminder with clear post-verification actions
- Improve capture-pane block message with concrete Bash examples
2026-01-15 19:40:50 +09:00
justsisyphus
74f355322a
feat(sisyphus_task): enhance error messages with detailed context
...
Add formatDetailedError helper that includes:
- Full args dump (description, category, agent, skills)
- Session ID and agent info
- Stack trace (first 10 lines)
Applied to all catch blocks for better debugging.
2026-01-15 19:02:28 +09:00
github-actions[bot]
1ea304513c
@mmlmt2604 has signed the CLA in code-yeongyu/oh-my-opencode#812
2026-01-15 09:57:28 +00:00
Nguyen Khac Trung Kien
e925ed0009
fix(start-work): honor explicit plan name and strip ultrawork keywords
...
When user types '/start-work my-plan ultrawork', the hook now:
1. Extracts plan name from <user-request> section
2. Strips ultrawork/ulw keywords from the plan name
3. Searches for matching plan (exact then partial match)
4. Uses the matched plan instead of resuming stale boulder state
This fixes the bug where '/start-work [PLAN] ultrawork' would:
- Include 'ultrawork' as part of the plan name argument
- Ignore the explicit plan and resume an old stale plan from boulder.json
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-15 16:55:44 +07:00
sisyphus-dev-ai
fc5c2baac0
chore: changes by sisyphus-dev-ai
2026-01-15 09:29:01 +00:00
justsisyphus
abc4a34ce4
fix(sisyphus): enforce HARD BLOCK for frontend visual changes
...
Restore zero-tolerance policy for visual/styling changes in frontend files.
Visual keyword detection now triggers mandatory delegation to frontend-ui-ux-engineer.
2026-01-15 17:11:30 +09:00
Sisyphus
d6499cbe31
fix(non-interactive-env): add Windows/PowerShell support ( #573 )
...
* fix(non-interactive-env): add Windows/PowerShell support
- Create shared shell-env utility with cross-platform shell detection
- Detect shell type via PSModulePath, SHELL env vars, platform fallback
- Support Unix (export), PowerShell ($env:), and cmd.exe (set) syntax
- Add 41 comprehensive unit tests for shell-env utilities
- Add 5 cross-platform integration tests for hook behavior
- All 696 tests pass, type checking passes, build succeeds
Closes #566
* fix: address review feedback - add isNonInteractive check and cmd.exe % escaping
- Add isNonInteractive() check to only apply env vars in CI/non-interactive contexts (Issue #566 )
- Fix cmd.exe percent sign escaping to prevent environment variable expansion
- Update test expectations for correct % escaping behavior
Resolves feedback from @greptile-apps and @cubic-dev-ai
---------
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
2026-01-15 16:04:06 +09:00
justsisyphus
a38dc28e40
docs: update AGENTS documentation metadata and agent model references
...
- Update generated timestamp and commit hash metadata
- Normalize agent model names with provider prefixes (anthropic/, opencode/, google/)
- Remove deprecated Google OAuth/Antigravity references
- Update line counts and complexity hotspot entries
- Adjust test count from 82 to 80+ files and assertions from 2559+ to 2500+
🤖 Generated with assistance of oh-my-opencode
2026-01-15 15:53:51 +09:00
justsisyphus
89fa9ff167
fix(look-at): add path alias and validation for LLM compatibility
...
LLMs often call look_at with 'path' instead of 'file_path' parameter,
causing TypeError and infinite retry loops.
- Add normalizeArgs() to accept both 'path' and 'file_path'
- Add validateArgs() with clear error messages showing correct usage
- Add tests for normalization and validation
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-01-15 14:49:56 +09:00
justsisyphus
4c22d6de76
fix(todo-continuation): preserve model when injecting continuation prompt
2026-01-15 14:30:48 +09:00
justsisyphus
1dd369fda5
perf(comment-checker): lazy init for CLI path resolution
...
Remove COMMENT_CHECKER_CLI_PATH constant that was blocking on module import.
Replace with getCommentCheckerPathSync() lazy function call.
- Defer file system sync calls (existsSync, require.resolve) to first use
- Add cli.test.ts with 4 BDD tests for lazy behavior verification
2026-01-15 14:23:15 +09:00
Kenny
84e97ba900
Merge pull request #801 from stranger2904/fix/session-cursor-output
...
fix: add session cursor for tool output
2026-01-14 21:25:40 -05:00
Kenny
ef65f405e8
fix: clean up session cursor state on session deletion
...
Add resetMessageCursor call in session.deleted handler to prevent
unbounded memory growth from orphaned cursor entries.
2026-01-14 21:17:41 -05:00
Kenny
3de559ff87
refactor: rename getNewMessages to consumeNewMessages
...
Rename to signal mutation behavior - the function advances the cursor
as a side effect, so 'consume' better reflects that calling it twice
with the same input yields different results.
2026-01-14 21:06:26 -05:00
Aleksey Bragin
acb16bcb27
fix: reset cursor when history changes
2026-01-14 19:58:56 -05:00
Aleksey Bragin
9995b680f7
fix: add session cursor for tool output
2026-01-14 19:43:46 -05:00
Kenny
41fa37eb11
Merge pull request #800 from jkoelker/fix_cli_install
...
fix(cli): add copilot install flag
2026-01-14 19:38:41 -05:00
Jason Kölker
70bca4a7a6
fix(cli): add copilot install flag
...
Installer validation already requires --copilot, but the CLI
command did not expose the option, so non-TUI runs could not
supply the flag. Add the option and update help examples.
2026-01-15 00:01:59 +00:00
Kenny
b1f19cbfbd
Merge pull request #681 from aw338WoWmUI/fix/installer-version-pinning
...
fix(cli): write version-aware plugin entry during installation
2026-01-14 17:26:03 -05:00
aw338WoWmUI
8395a6eaac
fix: address PR review feedback
...
- Prioritize 'latest', 'beta', 'next' tags in getPluginNameWithVersion()
to ensure deterministic results when version matches multiple tags
- Add 5s timeout to fetchNpmDistTags() to prevent blocking on slow networks
- Remove unused 'join' import from node:path
- Merge upstream/dev and resolve conflicts in config-manager.test.ts
2026-01-15 06:12:04 +08:00
Kenny
abd1ec1092
Merge pull request #790 from stranger2904/feat/http-mcp-transport
...
feat(skill-mcp): add HTTP transport support for remote MCP servers
2026-01-14 15:35:38 -05:00
github-actions[bot]
5a8d9f09d9
@stranger29 has signed the CLA in code-yeongyu/oh-my-opencode#795
2026-01-14 20:31:45 +00:00
Kenny
2c4730f094
Delete clean_pr_body.txt
2026-01-14 15:27:48 -05:00
stranger2904
951df07c0f
fix: correct test syntax for headers verification
...
Fix syntax error where expect().rejects.toThrow() was not properly closed
before the headers assertion.
2026-01-14 15:10:45 -05:00
Kenny
4c49299a93
Merge pull request #736 from Gladdonilli/fix/background-agent-edge-cases
...
fix(background-agent): address edge cases in task lifecycle
2026-01-14 15:05:09 -05:00
Kenny
00508e9959
Merge pull request #770 from KNN-07/fix/agent-model-inheritance
...
feat(sisyphus-task): inherit parent model for categories and show fal…
2026-01-14 15:01:18 -05:00
stranger2904
c9ef648c60
test: mock StreamableHTTPClientTransport for faster, deterministic tests
...
Add mocks for HTTP transport to avoid real network calls during tests.
This addresses reviewer feedback about test reliability:
- Tests are now faster (no network latency)
- Tests are deterministic across environments
- Test intent is clearer (unit testing error handling logic)
The mock throws immediately with a controlled error message,
allowing tests to validate error handling without network dependencies.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 15:01:10 -05:00
Kenny
8a9ebe1012
refactor(sisyphus-task): use dynamic model fallback from OpenCode config
...
- Remove hardcoded "anthropic/claude-sonnet-4-5" fallback
- Fetch systemDefaultModel from client.config.get() at tool boundary
- Add 'category-default' and 'system-default' fallback types
- Use switch(actualModel) for cleaner type detection
- Add guard clauses and fail-loud validation for invalid models
- Wrap config fetch in try/catch for graceful degradation
- Update toast messages with typed suffixMap
2026-01-14 14:45:01 -05:00
github-actions[bot]
014bdaeec2
@stranger2904 has signed the CLA in code-yeongyu/oh-my-opencode#788
2026-01-14 17:06:22 +00:00
stranger2904
570b51d07b
feat(skill-mcp): add HTTP transport support for remote MCP servers
...
Add support for connecting to remote MCP servers via HTTP in addition to
the existing stdio (local process) connections. This enables skills to
use cloud-hosted MCP servers and aggregated MCP gateways.
## Changes
- Extend SkillMcpManager to detect connection type from config:
- Explicit `type: "http"` or `type: "sse"` → HTTP connection
- Explicit `type: "stdio"` → stdio connection
- Infer from `url` field → HTTP connection
- Infer from `command` field → stdio connection
- Add StreamableHTTPClientTransport from MCP SDK for HTTP connections
- Supports custom headers for authentication (e.g., API keys)
- Proper error handling with helpful hints
- Maintain full backward compatibility with existing stdio configurations
## Usage
```yaml
# HTTP connection (new)
mcp:
remote-server:
url: https://mcp.example.com/mcp
headers:
Authorization: Bearer ${API_KEY}
# stdio connection (existing, unchanged)
mcp:
local-server:
command: npx
args: [-y, @some/mcp-server]
```
## Tests
Added comprehensive tests for:
- Connection type detection (explicit type vs inferred)
- HTTP URL validation and error messages
- Headers configuration
- Backward compatibility with stdio configs
2026-01-14 11:35:32 -05:00