mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
* feat(cli): add GitHub Copilot CLI agent support via ACP Wrap `copilot --acp --stdio` for remote sessions and spawn the native TUI locally, with full hub/web integration for spawn, resume, and permissions. Fixes tiann/hapi#362 Co-Authored-By: HAPI <noreply@hapi.run> Co-authored-by: Cursor <cursoragent@cursor.com> * feat(copilot): agent modes, models, slash/file UX, local session sync Add Interactive/Plan/Autopilot (fleet is slash-only), subscription-aware model discovery, web StatusBar/permission UX, @ file mentions, and fix local Safe Yolo plus session-id locator for handoff/resume. Co-authored-by: Cursor <cursoragent@cursor.com> * chore: re-trigger Codex PR review after auth outage Co-authored-by: Cursor <cursoragent@cursor.com> * chore: retry Codex PR review Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): preserve agent mode on resume and apply via ACP set_mode Resume was dropping copilotAgentMode so Plan/Autopilot reset to interactive. Also switch local/remote mode application to --mode / session set_mode instead of slash prompts. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): wake remote loop when agent mode changes Empty isolated queue tick lets setMode apply without inventing a user prompt. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): confirm mode changes before persisting Await Copilot mode changes and expose discovered models so session state reflects backend acceptance. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): guard mode discovery and slash updates Keep model probes within runner roots and preserve active sessions when mode switching is unavailable or rejected. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): preserve resume and auto semantics Deduplicate Copilot resume rows, apply Auto explicitly, and fail closed on denied permissions. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): close permission and model discovery gaps Keep write-capable commands pending in read-only mode, extend model probe RPCs, and preserve explicit model validation before session creation. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): persist runtime model and agent mode Fallback to ACP model options when direct model switching is unavailable and retain Copilot agent mode across hub restarts. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): normalize composer auto selection Use the null session sentinel for Copilot Auto so the composer selects and resets default models consistently. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(copilot): reject local permission mode changes * style(copilot): remove trailing blank line * fix(copilot): secure local config handoffs * fix(copilot): reject local agent mode slashes * fix(copilot): reject mode changes during turns * fix(copilot): consume rejected slash updates * fix(copilot): preserve thinking across slash handling * fix(copilot): stabilize async config changes * fix(copilot): roll back rejected startup model * fix(copilot): preserve cancellation and file mentions * fix(copilot): hide local permission controls * fix(deps): support clean workspace installs * test(copilot): account for spawn mode argument * fix(copilot): attribute usage to active model --------- Co-authored-by: HAPI <noreply@hapi.run> Co-authored-by: Cursor <cursoragent@cursor.com>
88 lines
2.8 KiB
JSON
88 lines
2.8 KiB
JSON
{
|
|
"name": "@twsxtd/hapi",
|
|
"version": "0.25.4",
|
|
"description": "App for agentic coding - access coding agent anywhere",
|
|
"author": "Kirill Dubovitskiy & weishu",
|
|
"license": "AGPL-3.0-only",
|
|
"type": "module",
|
|
"homepage": "https://github.com/tiann/hapi",
|
|
"bugs": "https://github.com/tiann/hapi/issues",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/tiann/hapi.git",
|
|
"directory": "cli"
|
|
},
|
|
"bin": {
|
|
"hapi": "bin/hapi.cjs"
|
|
},
|
|
"files": [
|
|
"bin/hapi.cjs",
|
|
"NOTICE"
|
|
],
|
|
"imports": {
|
|
"#embedded-assets": {
|
|
"bun": "./src/runtime/embeddedAssets.bun.ts",
|
|
"default": "./src/runtime/embeddedAssets.stub.ts"
|
|
}
|
|
},
|
|
"optionalDependencies": {
|
|
"@twsxtd/hapi-darwin-arm64": "0.25.4",
|
|
"@twsxtd/hapi-darwin-x64": "0.25.4",
|
|
"@twsxtd/hapi-linux-arm64": "0.25.4",
|
|
"@twsxtd/hapi-linux-x64": "0.25.4",
|
|
"@twsxtd/hapi-win32-x64": "0.25.4"
|
|
},
|
|
"scripts": {
|
|
"postinstall": "node -e \"try{require('fs').chmodSync(require('path').join(__dirname,'bin','hapi.cjs'),0o755)}catch(e){}\"",
|
|
"typecheck": "tsc --noEmit",
|
|
"build:exe": "bun run scripts/build-executable.ts",
|
|
"build:exe:all": "bun run scripts/build-executable.ts --all",
|
|
"build:exe:allinone": "bun run scripts/build-executable.ts --with-web-assets",
|
|
"build:exe:allinone:all": "bun run scripts/build-executable.ts --with-web-assets --all",
|
|
"prepare-npm-packages": "bun run scripts/prepare-npm-packages.ts",
|
|
"prepack": "bun run prepare-npm-packages",
|
|
"tools:unpack": "bun run scripts/unpack-tools.ts",
|
|
"update-homebrew-formula": "bun run scripts/update-homebrew-formula.ts",
|
|
"test": "bun run tools:unpack && vitest run",
|
|
"test:win": "vitest run",
|
|
"dev": "bun src/index.ts",
|
|
"dev:local-server": "bun --env-file .env.dev-local-server src/index.ts",
|
|
"dev:integration-test-env": "bun --env-file .env.integration-test src/index.ts",
|
|
"release-all": "bun run scripts/release-all.ts"
|
|
},
|
|
"dependencies": {
|
|
"@hapi/protocol": "workspace:*",
|
|
"hapi-hub": "workspace:*",
|
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
"@types/cross-spawn": "^6.0.6",
|
|
"@types/ps-list": "^6.2.1",
|
|
"@types/react": "^19.2.7",
|
|
"axios": "^1.13.2",
|
|
"chalk": "^5.6.2",
|
|
"cross-spawn": "^7.0.6",
|
|
"fastify": "^5.6.2",
|
|
"fastify-type-provider-zod": "6.1.0",
|
|
"ink": "^6.6.0",
|
|
"ps-list": "^9.0.0",
|
|
"react": "^19.2.3",
|
|
"socket.io-client": "^4.8.3",
|
|
"tar": "^7.5.2",
|
|
"vscode-jsonrpc": "8.2.0",
|
|
"yaml": "^2.8.2",
|
|
"zod": "^4.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": ">=25",
|
|
"bun-types": "^1.3.14",
|
|
"dotenv": "^17.2.3",
|
|
"typescript": "^5",
|
|
"vitest": "^4.0.16"
|
|
},
|
|
"resolutions": {
|
|
"whatwg-url": "14.2.0",
|
|
"parse-path": "7.0.3",
|
|
"@types/parse-path": "7.0.3"
|
|
},
|
|
"packageManager": "bun@1.3.14"
|
|
}
|