justsisyphus
d760b49f59
fix(ci): add registry-url to setup-node for OIDC auth
2026-01-16 02:25:51 +09:00
justsisyphus
8f5802b677
Revert "fix(ci): add NPM_TOKEN support for npm publishing"
...
This reverts commit 5de3d4fb7d .
2026-01-16 02:20:15 +09:00
justsisyphus
6156800262
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
a736fa7691
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
6956a1a0ac
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
fee7cb6110
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
fbe1aa4280
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
0d7f0f5bde
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
28cc4a0fb3
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
527de942b5
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
f596a1a6d3
chore: changes by sisyphus-dev-ai
2026-01-15 15:34:12 +00:00
Kenny
764ee49347
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
5a522ddfac
fix(ci): add missing --copilot=no flag to agent workflow
2026-01-16 00:26:44 +09:00
Kenny
3762bdc141
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
d4e70b3daa
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
8fe9195446
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
3c49bd9235
fix(ci): run tests on PRs to dev branch
2026-01-15 07:43:43 -05:00
Kenny
d8c21f6a6e
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
974d3cf53f
docs: update beta version link to v3.0.0-beta.7 in README
2026-01-15 21:10:13 +09:00
Suyeol Jeon
14da34ecef
docs: update beta version to 3.0.0-beta.7 in README
2026-01-15 20:48:39 +09:00
justsisyphus
b76816e9f7
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
4ccc0b3f26
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]
6c8099e78e
@mmlmt2604 has signed the CLA in code-yeongyu/oh-my-opencode#812
2026-01-15 09:57:28 +00:00
Nguyen Khac Trung Kien
62448c1148
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
be5f20f4cc
chore: changes by sisyphus-dev-ai
2026-01-15 09:29:01 +00:00
justsisyphus
314869dda8
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
f0a2ee7f1f
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
2ad8173144
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
fef272a529
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
7ab7eaf2a7
fix(todo-continuation): preserve model when injecting continuation prompt
2026-01-15 14:30:48 +09:00
justsisyphus
366b9c0d7f
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
a88a76ab26
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
b96e5b6a2d
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
c8486f90ba
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
3ee14f9ba6
fix: reset cursor when history changes
2026-01-14 19:58:56 -05:00
Aleksey Bragin
d351f16c57
fix: add session cursor for tool output
2026-01-14 19:43:46 -05:00
Kenny
4a63c834b0
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
5bf490b824
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
66cf9b198d
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
8be1863ed4
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
45ddfdbaa2
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]
6c77d8f0f0
@stranger29 has signed the CLA in code-yeongyu/oh-my-opencode#795
2026-01-14 20:31:45 +00:00
Kenny
4d6935f129
Delete clean_pr_body.txt
2026-01-14 15:27:48 -05:00
stranger2904
a90adf6e7f
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
5fdbad0892
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
aae089ffcc
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
0169035f0f
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
3f0fe3b29b
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]
371b81a3a0
@stranger2904 has signed the CLA in code-yeongyu/oh-my-opencode#788
2026-01-14 17:06:22 +00:00
stranger2904
7ec6d202ee
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