@hybridaione/hybridclaw 0.3.1 → 0.4.2
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 +38 -0
- package/README.md +59 -3
- package/config.example.json +24 -1
- package/container/dist/approval-policy.js +41 -0
- package/container/dist/approval-policy.js.map +1 -1
- package/container/dist/browser-tools.js +86 -20
- package/container/dist/browser-tools.js.map +1 -1
- package/container/dist/index.js +32 -14
- package/container/dist/index.js.map +1 -1
- package/container/dist/model-client.js +27 -0
- package/container/dist/model-client.js.map +1 -0
- package/container/dist/model-retry.js +1 -1
- package/container/dist/model-retry.js.map +1 -1
- package/container/dist/{hybridai-client.js → providers/hybridai.js} +40 -57
- package/container/dist/providers/hybridai.js.map +1 -0
- package/container/dist/providers/openai-codex.js +598 -0
- package/container/dist/providers/openai-codex.js.map +1 -0
- package/container/dist/providers/shared.js +85 -0
- package/container/dist/providers/shared.js.map +1 -0
- package/container/dist/token-usage.js +1 -3
- package/container/dist/token-usage.js.map +1 -1
- package/container/dist/tools.js +147 -22
- package/container/dist/tools.js.map +1 -1
- package/container/dist/web-search.js +923 -0
- package/container/dist/web-search.js.map +1 -0
- package/container/package-lock.json +2 -2
- package/container/package.json +1 -1
- package/container/src/approval-policy.ts +48 -0
- package/container/src/browser-tools.ts +92 -19
- package/container/src/index.ts +57 -3
- package/container/src/model-client.ts +43 -0
- package/container/src/model-retry.ts +1 -1
- package/container/src/{hybridai-client.ts → providers/hybridai.ts} +51 -108
- package/container/src/providers/openai-codex.ts +824 -0
- package/container/src/providers/shared.ts +119 -0
- package/container/src/token-usage.ts +1 -4
- package/container/src/tools.ts +171 -23
- package/container/src/types.ts +22 -0
- package/container/src/web-search.ts +1182 -0
- package/dist/{agent.d.ts → agent/agent.d.ts} +1 -1
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/{agent.js → agent/agent.js} +1 -1
- package/dist/agent/agent.js.map +1 -0
- package/dist/{conversation.d.ts → agent/conversation.d.ts} +5 -3
- package/dist/agent/conversation.d.ts.map +1 -0
- package/dist/{conversation.js → agent/conversation.js} +5 -3
- package/dist/agent/conversation.js.map +1 -0
- package/dist/agent/delegation-manager.d.ts.map +1 -0
- package/dist/{delegation-manager.js → agent/delegation-manager.js} +2 -2
- package/dist/agent/delegation-manager.js.map +1 -0
- package/dist/{executor.d.ts → agent/executor.d.ts} +1 -1
- package/dist/agent/executor.d.ts.map +1 -0
- package/dist/{executor.js → agent/executor.js} +3 -3
- package/dist/agent/executor.js.map +1 -0
- package/dist/agent/proactive-policy.d.ts.map +1 -0
- package/dist/{proactive-policy.js → agent/proactive-policy.js} +1 -1
- package/dist/agent/proactive-policy.js.map +1 -0
- package/dist/{prompt-hooks.d.ts → agent/prompt-hooks.d.ts} +3 -1
- package/dist/agent/prompt-hooks.d.ts.map +1 -0
- package/dist/{prompt-hooks.js → agent/prompt-hooks.js} +14 -8
- package/dist/agent/prompt-hooks.js.map +1 -0
- package/dist/{side-effects.d.ts → agent/side-effects.d.ts} +1 -1
- package/dist/agent/side-effects.d.ts.map +1 -0
- package/dist/{side-effects.js → agent/side-effects.js} +3 -3
- package/dist/agent/side-effects.js.map +1 -0
- package/dist/agent/silent-reply-stream.d.ts.map +1 -0
- package/dist/agent/silent-reply-stream.js.map +1 -0
- package/dist/agent/silent-reply.d.ts.map +1 -0
- package/dist/agent/silent-reply.js.map +1 -0
- package/dist/agent/tool-summary.d.ts +6 -0
- package/dist/agent/tool-summary.d.ts.map +1 -0
- package/dist/agent/tool-summary.js +96 -0
- package/dist/agent/tool-summary.js.map +1 -0
- package/dist/audit/audit-cli.d.ts.map +1 -0
- package/dist/{audit-cli.js → audit/audit-cli.js} +3 -3
- package/dist/audit/audit-cli.js.map +1 -0
- package/dist/{audit-events.d.ts → audit/audit-events.d.ts} +1 -1
- package/dist/audit/audit-events.d.ts.map +1 -0
- package/dist/{audit-events.js → audit/audit-events.js} +2 -2
- package/dist/audit/audit-events.js.map +1 -0
- package/dist/audit/audit-trail.d.ts.map +1 -0
- package/dist/{audit-trail.js → audit/audit-trail.js} +1 -1
- package/dist/audit/audit-trail.js.map +1 -0
- package/dist/audit/observability-ingest.d.ts.map +1 -0
- package/dist/{observability-ingest.js → audit/observability-ingest.js} +3 -3
- package/dist/audit/observability-ingest.js.map +1 -0
- package/dist/auth/codex-auth.d.ts +111 -0
- package/dist/auth/codex-auth.d.ts.map +1 -0
- package/dist/auth/codex-auth.js +959 -0
- package/dist/auth/codex-auth.js.map +1 -0
- package/dist/auth/hybridai-auth.d.ts +24 -0
- package/dist/auth/hybridai-auth.d.ts.map +1 -0
- package/dist/auth/hybridai-auth.js +306 -0
- package/dist/auth/hybridai-auth.js.map +1 -0
- package/dist/channels/discord/attachments.js +1 -1
- package/dist/channels/discord/attachments.js.map +1 -1
- package/dist/channels/discord/delivery.d.ts.map +1 -1
- package/dist/channels/discord/delivery.js +2 -2
- package/dist/channels/discord/delivery.js.map +1 -1
- package/dist/channels/discord/inbound.js +2 -2
- package/dist/channels/discord/inbound.js.map +1 -1
- package/dist/channels/discord/runtime.d.ts.map +1 -1
- package/dist/channels/discord/runtime.js +85 -5
- package/dist/channels/discord/runtime.js.map +1 -1
- package/dist/channels/discord/send-permissions.d.ts +1 -1
- package/dist/channels/discord/send-permissions.d.ts.map +1 -1
- package/dist/channels/discord/send-permissions.js +1 -1
- package/dist/channels/discord/send-permissions.js.map +1 -1
- package/dist/channels/discord/stream.d.ts.map +1 -1
- package/dist/channels/discord/stream.js +2 -2
- package/dist/channels/discord/stream.js.map +1 -1
- package/dist/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +202 -44
- package/dist/cli.js.map +1 -1
- package/dist/{cli-flags.d.ts → config/cli-flags.d.ts} +3 -1
- package/dist/config/cli-flags.d.ts.map +1 -0
- package/dist/{cli-flags.js → config/cli-flags.js} +14 -1
- package/dist/config/cli-flags.js.map +1 -0
- package/dist/{config.d.ts → config/config.d.ts} +10 -1
- package/dist/config/config.d.ts.map +1 -0
- package/dist/{config.js → config/config.js} +45 -11
- package/dist/config/config.js.map +1 -0
- package/dist/{runtime-config.d.ts → config/runtime-config.d.ts} +17 -1
- package/dist/config/runtime-config.d.ts.map +1 -0
- package/dist/{runtime-config.js → config/runtime-config.js} +95 -1
- package/dist/config/runtime-config.js.map +1 -0
- package/dist/gateway/gateway-client.d.ts.map +1 -0
- package/dist/{gateway-client.js → gateway/gateway-client.js} +1 -1
- package/dist/gateway/gateway-client.js.map +1 -0
- package/dist/{gateway-service.d.ts → gateway/gateway-service.d.ts} +1 -1
- package/dist/gateway/gateway-service.d.ts.map +1 -0
- package/dist/{gateway-service.js → gateway/gateway-service.js} +144 -40
- package/dist/gateway/gateway-service.js.map +1 -0
- package/dist/{gateway-types.d.ts → gateway/gateway-types.d.ts} +8 -1
- package/dist/gateway/gateway-types.d.ts.map +1 -0
- package/dist/gateway/gateway-types.js.map +1 -0
- package/dist/{gateway.d.ts.map → gateway/gateway.d.ts.map} +1 -1
- package/dist/{gateway.js → gateway/gateway.js} +16 -15
- package/dist/gateway/gateway.js.map +1 -0
- package/dist/gateway/health.d.ts.map +1 -0
- package/dist/{health.js → gateway/health.js} +16 -8
- package/dist/gateway/health.js.map +1 -0
- package/dist/{container-runner.d.ts → infra/container-runner.d.ts} +1 -1
- package/dist/infra/container-runner.d.ts.map +1 -0
- package/dist/{container-runner.js → infra/container-runner.js} +74 -22
- package/dist/infra/container-runner.js.map +1 -0
- package/dist/{container-setup.d.ts → infra/container-setup.d.ts} +2 -0
- package/dist/infra/container-setup.d.ts.map +1 -0
- package/dist/{container-setup.js → infra/container-setup.js} +65 -21
- package/dist/infra/container-setup.js.map +1 -0
- package/dist/{host-runner.d.ts → infra/host-runner.d.ts} +1 -1
- package/dist/infra/host-runner.d.ts.map +1 -0
- package/dist/{host-runner.js → infra/host-runner.js} +62 -22
- package/dist/infra/host-runner.js.map +1 -0
- package/dist/infra/install-root.d.ts.map +1 -0
- package/dist/infra/install-root.js.map +1 -0
- package/dist/{ipc.d.ts → infra/ipc.d.ts} +3 -3
- package/dist/infra/ipc.d.ts.map +1 -0
- package/dist/{ipc.js → infra/ipc.js} +7 -5
- package/dist/infra/ipc.js.map +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +32 -2
- package/dist/logger.js.map +1 -1
- package/dist/memory/chunk.d.ts.map +1 -0
- package/dist/memory/chunk.js.map +1 -0
- package/dist/{db.d.ts → memory/db.d.ts} +2 -2
- package/dist/memory/db.d.ts.map +1 -0
- package/dist/{db.js → memory/db.js} +3 -3
- package/dist/memory/db.js.map +1 -0
- package/dist/memory/memory-consolidation.d.ts.map +1 -0
- package/dist/memory/memory-consolidation.js.map +1 -0
- package/dist/{memory-service.d.ts → memory/memory-service.d.ts} +1 -1
- package/dist/memory/memory-service.d.ts.map +1 -0
- package/dist/memory/memory-service.js.map +1 -0
- package/dist/onboarding.d.ts +2 -0
- package/dist/onboarding.d.ts.map +1 -1
- package/dist/onboarding.js +216 -101
- package/dist/onboarding.js.map +1 -1
- package/dist/providers/anthropic.d.ts +4 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +22 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/factory.d.ts +10 -0
- package/dist/providers/factory.d.ts.map +1 -0
- package/dist/providers/factory.js +42 -0
- package/dist/providers/factory.js.map +1 -0
- package/dist/{hybridai-bots.d.ts → providers/hybridai-bots.d.ts} +1 -1
- package/dist/providers/hybridai-bots.d.ts.map +1 -0
- package/dist/{hybridai-bots.js → providers/hybridai-bots.js} +2 -1
- package/dist/providers/hybridai-bots.js.map +1 -0
- package/dist/providers/hybridai-models.d.ts.map +1 -0
- package/dist/{hybridai-models.js → providers/hybridai-models.js} +1 -0
- package/dist/providers/hybridai-models.js.map +1 -0
- package/dist/providers/hybridai.d.ts +3 -0
- package/dist/providers/hybridai.d.ts.map +1 -0
- package/dist/providers/hybridai.js +30 -0
- package/dist/providers/hybridai.js.map +1 -0
- package/dist/providers/openai.d.ts +4 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +38 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/types.d.ts +25 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +2 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/scheduler/heartbeat.d.ts.map +1 -0
- package/dist/{heartbeat.js → scheduler/heartbeat.js} +23 -16
- package/dist/scheduler/heartbeat.js.map +1 -0
- package/dist/scheduler/scheduled-task-runner.d.ts.map +1 -0
- package/dist/{scheduled-task-runner.js → scheduler/scheduled-task-runner.js} +7 -5
- package/dist/scheduler/scheduled-task-runner.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/{scheduler.js → scheduler/scheduler.js} +3 -3
- package/dist/scheduler/scheduler.js.map +1 -0
- package/dist/security/instruction-approval-audit.d.ts.map +1 -0
- package/dist/{instruction-approval-audit.js → security/instruction-approval-audit.js} +3 -3
- package/dist/security/instruction-approval-audit.js.map +1 -0
- package/dist/security/instruction-integrity.d.ts.map +1 -0
- package/dist/{instruction-integrity.js → security/instruction-integrity.js} +1 -1
- package/dist/security/instruction-integrity.js.map +1 -0
- package/dist/{mount-security.d.ts → security/mount-security.d.ts} +1 -1
- package/dist/security/mount-security.d.ts.map +1 -0
- package/dist/{mount-security.js → security/mount-security.js} +2 -2
- package/dist/security/mount-security.js.map +1 -0
- package/dist/security/runtime-secrets.d.ts.map +1 -0
- package/dist/security/runtime-secrets.js.map +1 -0
- package/dist/{session-export.d.ts → session/session-export.d.ts} +1 -1
- package/dist/session/session-export.d.ts.map +1 -0
- package/dist/{session-export.js → session/session-export.js} +2 -2
- package/dist/session/session-export.js.map +1 -0
- package/dist/session/session-maintenance.d.ts.map +1 -0
- package/dist/{session-maintenance.js → session/session-maintenance.js} +7 -6
- package/dist/session/session-maintenance.js.map +1 -0
- package/dist/session/session-transcripts.d.ts.map +1 -0
- package/dist/{session-transcripts.js → session/session-transcripts.js} +2 -2
- package/dist/session/session-transcripts.js.map +1 -0
- package/dist/{token-efficiency.d.ts → session/token-efficiency.d.ts} +1 -1
- package/dist/session/token-efficiency.d.ts.map +1 -0
- package/dist/session/token-efficiency.js.map +1 -0
- package/dist/skills/skills-guard.d.ts.map +1 -0
- package/dist/skills/skills-guard.js.map +1 -0
- package/dist/skills/skills.d.ts.map +1 -0
- package/dist/{skills.js → skills/skills.js} +3 -3
- package/dist/skills/skills.js.map +1 -0
- package/dist/tui.js +4 -4
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +6 -3
- package/dist/workspace.js.map +1 -1
- package/docs/index.html +14 -14
- package/docs/tools/web-search.md +74 -0
- package/package.json +1 -1
- package/templates/AGENTS.md +4 -3
- package/templates/SOUL.md +1 -1
- package/container/dist/hybridai-client.js.map +0 -1
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js.map +0 -1
- package/dist/audit-cli.d.ts.map +0 -1
- package/dist/audit-cli.js.map +0 -1
- package/dist/audit-events.d.ts.map +0 -1
- package/dist/audit-events.js.map +0 -1
- package/dist/audit-trail.d.ts.map +0 -1
- package/dist/audit-trail.js.map +0 -1
- package/dist/chunk.d.ts.map +0 -1
- package/dist/chunk.js.map +0 -1
- package/dist/cli-flags.d.ts.map +0 -1
- package/dist/cli-flags.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/container-runner.d.ts.map +0 -1
- package/dist/container-runner.js.map +0 -1
- package/dist/container-setup.d.ts.map +0 -1
- package/dist/container-setup.js.map +0 -1
- package/dist/conversation.d.ts.map +0 -1
- package/dist/conversation.js.map +0 -1
- package/dist/db.d.ts.map +0 -1
- package/dist/db.js.map +0 -1
- package/dist/delegation-manager.d.ts.map +0 -1
- package/dist/delegation-manager.js.map +0 -1
- package/dist/executor.d.ts.map +0 -1
- package/dist/executor.js.map +0 -1
- package/dist/gateway-client.d.ts.map +0 -1
- package/dist/gateway-client.js.map +0 -1
- package/dist/gateway-service.d.ts.map +0 -1
- package/dist/gateway-service.js.map +0 -1
- package/dist/gateway-types.d.ts.map +0 -1
- package/dist/gateway-types.js.map +0 -1
- package/dist/gateway.js.map +0 -1
- package/dist/health.d.ts.map +0 -1
- package/dist/health.js.map +0 -1
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js.map +0 -1
- package/dist/host-runner.d.ts.map +0 -1
- package/dist/host-runner.js.map +0 -1
- package/dist/hybridai-bots.d.ts.map +0 -1
- package/dist/hybridai-bots.js.map +0 -1
- package/dist/hybridai-models.d.ts.map +0 -1
- package/dist/hybridai-models.js.map +0 -1
- package/dist/install-root.d.ts.map +0 -1
- package/dist/install-root.js.map +0 -1
- package/dist/instruction-approval-audit.d.ts.map +0 -1
- package/dist/instruction-approval-audit.js.map +0 -1
- package/dist/instruction-integrity.d.ts.map +0 -1
- package/dist/instruction-integrity.js.map +0 -1
- package/dist/ipc.d.ts.map +0 -1
- package/dist/ipc.js.map +0 -1
- package/dist/memory-consolidation.d.ts.map +0 -1
- package/dist/memory-consolidation.js.map +0 -1
- package/dist/memory-service.d.ts.map +0 -1
- package/dist/memory-service.js.map +0 -1
- package/dist/mount-security.d.ts.map +0 -1
- package/dist/mount-security.js.map +0 -1
- package/dist/observability-ingest.d.ts.map +0 -1
- package/dist/observability-ingest.js.map +0 -1
- package/dist/proactive-policy.d.ts.map +0 -1
- package/dist/proactive-policy.js.map +0 -1
- package/dist/prompt-hooks.d.ts.map +0 -1
- package/dist/prompt-hooks.js.map +0 -1
- package/dist/runtime-config.d.ts.map +0 -1
- package/dist/runtime-config.js.map +0 -1
- package/dist/runtime-secrets.d.ts.map +0 -1
- package/dist/runtime-secrets.js.map +0 -1
- package/dist/scheduled-task-runner.d.ts.map +0 -1
- package/dist/scheduled-task-runner.js.map +0 -1
- package/dist/scheduler.d.ts.map +0 -1
- package/dist/scheduler.js.map +0 -1
- package/dist/session-export.d.ts.map +0 -1
- package/dist/session-export.js.map +0 -1
- package/dist/session-maintenance.d.ts.map +0 -1
- package/dist/session-maintenance.js.map +0 -1
- package/dist/session-transcripts.d.ts.map +0 -1
- package/dist/session-transcripts.js.map +0 -1
- package/dist/side-effects.d.ts.map +0 -1
- package/dist/side-effects.js.map +0 -1
- package/dist/silent-reply-stream.d.ts.map +0 -1
- package/dist/silent-reply-stream.js.map +0 -1
- package/dist/silent-reply.d.ts.map +0 -1
- package/dist/silent-reply.js.map +0 -1
- package/dist/skills-guard.d.ts.map +0 -1
- package/dist/skills-guard.js.map +0 -1
- package/dist/skills.d.ts.map +0 -1
- package/dist/skills.js.map +0 -1
- package/dist/token-efficiency.d.ts.map +0 -1
- package/dist/token-efficiency.js.map +0 -1
- /package/dist/{delegation-manager.d.ts → agent/delegation-manager.d.ts} +0 -0
- /package/dist/{proactive-policy.d.ts → agent/proactive-policy.d.ts} +0 -0
- /package/dist/{silent-reply-stream.d.ts → agent/silent-reply-stream.d.ts} +0 -0
- /package/dist/{silent-reply-stream.js → agent/silent-reply-stream.js} +0 -0
- /package/dist/{silent-reply.d.ts → agent/silent-reply.d.ts} +0 -0
- /package/dist/{silent-reply.js → agent/silent-reply.js} +0 -0
- /package/dist/{audit-cli.d.ts → audit/audit-cli.d.ts} +0 -0
- /package/dist/{audit-trail.d.ts → audit/audit-trail.d.ts} +0 -0
- /package/dist/{observability-ingest.d.ts → audit/observability-ingest.d.ts} +0 -0
- /package/dist/{gateway-client.d.ts → gateway/gateway-client.d.ts} +0 -0
- /package/dist/{gateway-types.js → gateway/gateway-types.js} +0 -0
- /package/dist/{gateway.d.ts → gateway/gateway.d.ts} +0 -0
- /package/dist/{health.d.ts → gateway/health.d.ts} +0 -0
- /package/dist/{install-root.d.ts → infra/install-root.d.ts} +0 -0
- /package/dist/{install-root.js → infra/install-root.js} +0 -0
- /package/dist/{chunk.d.ts → memory/chunk.d.ts} +0 -0
- /package/dist/{chunk.js → memory/chunk.js} +0 -0
- /package/dist/{memory-consolidation.d.ts → memory/memory-consolidation.d.ts} +0 -0
- /package/dist/{memory-consolidation.js → memory/memory-consolidation.js} +0 -0
- /package/dist/{memory-service.js → memory/memory-service.js} +0 -0
- /package/dist/{hybridai-models.d.ts → providers/hybridai-models.d.ts} +0 -0
- /package/dist/{heartbeat.d.ts → scheduler/heartbeat.d.ts} +0 -0
- /package/dist/{scheduled-task-runner.d.ts → scheduler/scheduled-task-runner.d.ts} +0 -0
- /package/dist/{scheduler.d.ts → scheduler/scheduler.d.ts} +0 -0
- /package/dist/{instruction-approval-audit.d.ts → security/instruction-approval-audit.d.ts} +0 -0
- /package/dist/{instruction-integrity.d.ts → security/instruction-integrity.d.ts} +0 -0
- /package/dist/{runtime-secrets.d.ts → security/runtime-secrets.d.ts} +0 -0
- /package/dist/{runtime-secrets.js → security/runtime-secrets.js} +0 -0
- /package/dist/{session-maintenance.d.ts → session/session-maintenance.d.ts} +0 -0
- /package/dist/{session-transcripts.d.ts → session/session-transcripts.d.ts} +0 -0
- /package/dist/{token-efficiency.js → session/token-efficiency.js} +0 -0
- /package/dist/{skills-guard.d.ts → skills/skills-guard.d.ts} +0 -0
- /package/dist/{skills-guard.js → skills/skills-guard.js} +0 -0
- /package/dist/{skills.d.ts → skills/skills.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.4.2](https://github.com/HybridAIOne/hybridclaw/tree/v0.4.2)
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Gateway debug tracing**: Added `hybridclaw gateway start|restart --debug` to force debug logging and emit request-stage traces across Discord intake, gateway chat handling, container model calls, and Codex streaming transport.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- **Unified configured model catalog**: Discord slash commands, gateway model commands, and TUI model selection now all consume the same deduplicated configured model list derived from runtime config.
|
|
14
|
+
- **Startup path reliability**: TUI now attaches to a reachable gateway without redundant local runtime preflight, and the CLI resolves symlinked installs correctly so globally linked `hybridclaw` commands no longer exit silently.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **Discord DM trigger suppression**: Greeting-only direct messages are no longer dropped by the guild-oriented auto-suppress filter before they reach the model pipeline.
|
|
19
|
+
- **Container refresh fallback**: Gateway restart now keeps using an existing local image if a stale-image rebuild attempt fails, instead of aborting despite a usable runtime image.
|
|
20
|
+
|
|
21
|
+
## [0.4.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.4.1)
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **HybridAI auth commands**: Added `hybridclaw hybridai login`, `status`, and `logout` commands with browser-assisted, headless/manual, and env-import flows backed by the existing `~/.hybridclaw/credentials.json` secrets store.
|
|
26
|
+
|
|
27
|
+
## [0.4.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.4.0)
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
|
|
31
|
+
- **OpenAI Codex OAuth support**: Added `hybridclaw codex login`, `status`, and `logout` commands with browser PKCE, device-code, and Codex CLI import flows backed by a dedicated `~/.hybridclaw/codex-auth.json` store.
|
|
32
|
+
- **Provider-aware model selection**: Runtime config and onboarding now support `openai-codex/...` models alongside HybridAI models, including an expanded default Codex model catalog and provider-specific credential routing.
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- **Human-readable tool summary in prompts**: System prompts now include a compact grouped tool inventory, and delegated subagents see the same summary filtered to their actual allowed toolset so plain-language tool selection guidance reinforces the API schemas.
|
|
37
|
+
- **Gateway/runtime provider plumbing**: Gateway status output now surfaces Codex auth state, model resolution routes provider-prefixed models through dedicated adapters, and the container runtime uses provider-specific model clients.
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- **Web-vs-browser tool routing**: Prompt guidance now pushes read-only retrieval toward `web_fetch`, while gateway media routing avoids `browser_vision` for Discord-uploaded images unless the task is explicitly about the active browser tab.
|
|
42
|
+
|
|
5
43
|
## [0.3.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.3.1)
|
|
6
44
|
|
|
7
45
|
### Changed
|
package/README.md
CHANGED
|
@@ -11,8 +11,6 @@ npm install -g @hybridaione/hybridclaw
|
|
|
11
11
|
hybridclaw onboarding
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Latest release: [v0.3.1](https://github.com/HybridAIOne/hybridclaw/releases/tag/v0.3.1)
|
|
15
|
-
|
|
16
14
|
## HybridAI Advantage
|
|
17
15
|
|
|
18
16
|
- Security-focused foundation
|
|
@@ -61,6 +59,58 @@ hybridclaw tui
|
|
|
61
59
|
# open http://127.0.0.1:9090/chat
|
|
62
60
|
```
|
|
63
61
|
|
|
62
|
+
## Authentication
|
|
63
|
+
|
|
64
|
+
HybridClaw supports two auth paths:
|
|
65
|
+
|
|
66
|
+
- `HybridAI API key` via `hybridclaw hybridai ...` or `hybridclaw onboarding`
|
|
67
|
+
- `OpenAI Codex OAuth` via `hybridclaw codex ...`
|
|
68
|
+
|
|
69
|
+
HybridAI commands:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
hybridclaw hybridai login
|
|
73
|
+
hybridclaw hybridai login --device-code
|
|
74
|
+
hybridclaw hybridai login --browser
|
|
75
|
+
hybridclaw hybridai login --import
|
|
76
|
+
hybridclaw hybridai status
|
|
77
|
+
hybridclaw hybridai logout
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
- `hybridclaw hybridai login` auto-selects browser login on local GUI machines and a manual/headless API-key flow on SSH, CI, and container shells.
|
|
81
|
+
- `hybridclaw hybridai login --import` copies the current `HYBRIDAI_API_KEY` from your shell into `~/.hybridclaw/credentials.json`.
|
|
82
|
+
- HybridAI secrets are stored in `~/.hybridclaw/credentials.json`.
|
|
83
|
+
|
|
84
|
+
Codex commands:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
hybridclaw codex login
|
|
88
|
+
hybridclaw codex login --device-code
|
|
89
|
+
hybridclaw codex login --browser
|
|
90
|
+
hybridclaw codex login --import
|
|
91
|
+
hybridclaw codex status
|
|
92
|
+
hybridclaw codex logout
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- `hybridclaw codex login` auto-selects browser PKCE on local GUI machines and device code on headless or remote shells.
|
|
96
|
+
- Codex credentials are stored separately in `~/.hybridclaw/codex-auth.json`.
|
|
97
|
+
|
|
98
|
+
## Model Selection
|
|
99
|
+
|
|
100
|
+
Codex models use the `openai-codex/` prefix. The default shipped Codex model is `openai-codex/gpt-5-codex`.
|
|
101
|
+
|
|
102
|
+
Examples:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
/model openai-codex/gpt-5-codex
|
|
106
|
+
/model default openai-codex/gpt-5-codex
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
- `hybridai.defaultModel` in `~/.hybridclaw/config.json` can point at either a HybridAI model or an `openai-codex/...` model.
|
|
110
|
+
- `codex.models` in runtime config controls the allowed Codex model list shown in selectors and status output.
|
|
111
|
+
- When the selected model starts with `openai-codex/`, HybridClaw resolves OAuth credentials through the Codex provider instead of `HYBRIDAI_API_KEY`.
|
|
112
|
+
- Use `HYBRIDCLAW_CODEX_BASE_URL` to override the default Codex backend base URL (`https://chatgpt.com/backend-api/codex`).
|
|
113
|
+
|
|
64
114
|
Runtime model:
|
|
65
115
|
|
|
66
116
|
- `hybridclaw gateway` is the core process and should run first.
|
|
@@ -80,7 +130,7 @@ HybridClaw creates `~/.hybridclaw/config.json` on first run and hot-reloads most
|
|
|
80
130
|
- Runtime state lives under `~/.hybridclaw/` (`config.json`, `credentials.json`, `data/hybridclaw.db`, audit/session files).
|
|
81
131
|
- HybridClaw does not keep runtime state in the current working directory. If `./.env` exists, supported secrets are migrated once into `~/.hybridclaw/credentials.json`.
|
|
82
132
|
- `container.*` controls execution isolation, including `sandboxMode`, `memory`, `memorySwap`, `cpus`, `network`, and additional mounts.
|
|
83
|
-
- Keep secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY` required, `DISCORD_TOKEN` optional).
|
|
133
|
+
- Keep HybridAI secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY` required for HybridAI models, `DISCORD_TOKEN` optional). Codex OAuth sessions are stored separately in `~/.hybridclaw/codex-auth.json`.
|
|
84
134
|
- Trust-model acceptance is stored in `~/.hybridclaw/config.json` under `security.*` and is required before runtime starts.
|
|
85
135
|
- See [TRUST_MODEL.md](./TRUST_MODEL.md) for onboarding acceptance policy and [SECURITY.md](./SECURITY.md) for technical security guidelines.
|
|
86
136
|
- For advanced configuration, audit/observability details, skills internals, agent tools, and developer docs, see [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
@@ -97,6 +147,12 @@ CLI runtime commands:
|
|
|
97
147
|
- `hybridclaw gateway <command...>` — Send a command to a running gateway (for example `sessions`, `bot info`)
|
|
98
148
|
- `hybridclaw tui` — Start terminal client connected to gateway
|
|
99
149
|
- `hybridclaw onboarding` — Run HybridAI account/API key onboarding
|
|
150
|
+
- `hybridclaw hybridai login [--device-code|--browser|--import]` — Store HybridAI API credentials via browser-assisted, headless/manual, or env-import flows
|
|
151
|
+
- `hybridclaw hybridai status` — Show stored HybridAI auth state, token mask, and source
|
|
152
|
+
- `hybridclaw hybridai logout` — Clear stored HybridAI credentials
|
|
153
|
+
- `hybridclaw codex login [--device-code|--browser|--import]` — Authenticate OpenAI Codex via OAuth or one-time Codex CLI import
|
|
154
|
+
- `hybridclaw codex status` — Show stored Codex auth state, token mask, expiry, and source
|
|
155
|
+
- `hybridclaw codex logout` — Clear stored Codex credentials
|
|
100
156
|
- `hybridclaw update [status|--check] [--yes]` — Check for updates and upgrade global npm installs (source checkouts get git-based update instructions)
|
|
101
157
|
- `hybridclaw audit ...` — Verify and inspect structured audit trail (`recent`, `search`, `approvals`, `verify`, `instructions`)
|
|
102
158
|
- `hybridclaw audit instructions [--sync]` — Compare runtime instruction copies under `~/.hybridclaw/instructions/` against installed sources and restore shipped defaults when needed
|
package/config.example.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version":
|
|
2
|
+
"version": 7,
|
|
3
3
|
"security": {
|
|
4
4
|
"trustModelAccepted": false,
|
|
5
5
|
"trustModelAcceptedAt": "",
|
|
@@ -68,6 +68,19 @@
|
|
|
68
68
|
"enableRag": true,
|
|
69
69
|
"models": ["gpt-5-nano", "gpt-5-mini", "gpt-5"]
|
|
70
70
|
},
|
|
71
|
+
"codex": {
|
|
72
|
+
"baseUrl": "https://chatgpt.com/backend-api/codex",
|
|
73
|
+
"models": [
|
|
74
|
+
"openai-codex/gpt-5-codex",
|
|
75
|
+
"openai-codex/gpt-5.3-codex",
|
|
76
|
+
"openai-codex/gpt-5.4",
|
|
77
|
+
"openai-codex/gpt-5.3-codex-spark",
|
|
78
|
+
"openai-codex/gpt-5.2-codex",
|
|
79
|
+
"openai-codex/gpt-5.1-codex-max",
|
|
80
|
+
"openai-codex/gpt-5.2",
|
|
81
|
+
"openai-codex/gpt-5.1-codex-mini"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
71
84
|
"container": {
|
|
72
85
|
"sandboxMode": "container",
|
|
73
86
|
"image": "hybridclaw-agent",
|
|
@@ -80,6 +93,16 @@
|
|
|
80
93
|
"maxOutputBytes": 10485760,
|
|
81
94
|
"maxConcurrent": 5
|
|
82
95
|
},
|
|
96
|
+
"web": {
|
|
97
|
+
"search": {
|
|
98
|
+
"provider": "auto",
|
|
99
|
+
"fallbackProviders": [],
|
|
100
|
+
"defaultCount": 5,
|
|
101
|
+
"cacheTtlMinutes": 5,
|
|
102
|
+
"searxngBaseUrl": "",
|
|
103
|
+
"tavilySearchDepth": "advanced"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
83
106
|
"heartbeat": {
|
|
84
107
|
"enabled": true,
|
|
85
108
|
"intervalMs": 1800000,
|
|
@@ -941,6 +941,47 @@ export class TrustedCoworkerApprovalRuntime {
|
|
|
941
941
|
stickyYellow: false,
|
|
942
942
|
};
|
|
943
943
|
}
|
|
944
|
+
if (lowerTool === 'web_search') {
|
|
945
|
+
const provider = normalizeText(args.provider).toLowerCase();
|
|
946
|
+
const providerHosts = (() => {
|
|
947
|
+
switch (provider) {
|
|
948
|
+
case 'brave':
|
|
949
|
+
return ['api.search.brave.com'];
|
|
950
|
+
case 'perplexity':
|
|
951
|
+
return ['api.perplexity.ai'];
|
|
952
|
+
case 'tavily':
|
|
953
|
+
return ['api.tavily.com'];
|
|
954
|
+
case 'duckduckgo':
|
|
955
|
+
return ['html.duckduckgo.com'];
|
|
956
|
+
case 'searxng':
|
|
957
|
+
return extractHostScopes(extractHostsFromUrlLikeText(process.env.SEARXNG_BASE_URL || ''));
|
|
958
|
+
default:
|
|
959
|
+
return [
|
|
960
|
+
'api.search.brave.com',
|
|
961
|
+
'api.perplexity.ai',
|
|
962
|
+
'api.tavily.com',
|
|
963
|
+
'html.duckduckgo.com',
|
|
964
|
+
];
|
|
965
|
+
}
|
|
966
|
+
})();
|
|
967
|
+
const primaryHost = providerHosts[0] || 'web-search';
|
|
968
|
+
const unseen = providerHosts.filter((host) => !this.seenNetworkHosts.has(host));
|
|
969
|
+
return {
|
|
970
|
+
tier: unseen.length > 0 ? 'red' : 'yellow',
|
|
971
|
+
actionKey: `network:${primaryHost}`,
|
|
972
|
+
intent: `search the web via ${provider || 'configured providers'}`,
|
|
973
|
+
consequenceIfDenied: 'I will avoid external search providers and continue with local context only.',
|
|
974
|
+
reason: unseen.length > 0
|
|
975
|
+
? 'this would contact a new external host'
|
|
976
|
+
: 'this is an external network action',
|
|
977
|
+
commandPreview: normalizePreview(JSON.stringify(args)),
|
|
978
|
+
pathHints: [],
|
|
979
|
+
hostHints: providerHosts,
|
|
980
|
+
writeIntent: false,
|
|
981
|
+
promotableRed: unseen.length > 0,
|
|
982
|
+
stickyYellow: true,
|
|
983
|
+
};
|
|
984
|
+
}
|
|
944
985
|
if (lowerTool === 'web_fetch' || lowerTool === 'browser_navigate') {
|
|
945
986
|
const rawUrl = normalizeText(args.url);
|
|
946
987
|
const hostScopes = extractHostScopes(extractHostsFromUrlLikeText(rawUrl));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,21 +124,57 @@ const FIND_FILE_INPUT_SELECTORS_SCRIPT = `(() => {
|
|
|
124
124
|
const activeSessions = new Map();
|
|
125
125
|
let cachedRunner;
|
|
126
126
|
let currentBrowserModelContext = {
|
|
127
|
+
provider: 'hybridai',
|
|
127
128
|
baseUrl: '',
|
|
128
129
|
apiKey: '',
|
|
129
130
|
model: '',
|
|
130
131
|
chatbotId: '',
|
|
132
|
+
requestHeaders: {},
|
|
131
133
|
};
|
|
132
|
-
export function setBrowserModelContext(baseUrl, apiKey, model, chatbotId) {
|
|
134
|
+
export function setBrowserModelContext(provider, baseUrl, apiKey, model, chatbotId, requestHeaders) {
|
|
133
135
|
currentBrowserModelContext = {
|
|
136
|
+
provider: provider || 'hybridai',
|
|
134
137
|
baseUrl: String(baseUrl || '')
|
|
135
138
|
.trim()
|
|
136
139
|
.replace(/\/+$/, ''),
|
|
137
140
|
apiKey: String(apiKey || '').trim(),
|
|
138
141
|
model: String(model || '').trim(),
|
|
139
142
|
chatbotId: String(chatbotId || '').trim(),
|
|
143
|
+
requestHeaders: { ...(requestHeaders || {}) },
|
|
140
144
|
};
|
|
141
145
|
}
|
|
146
|
+
function normalizeCodexModelName(model) {
|
|
147
|
+
const trimmed = String(model || '').trim();
|
|
148
|
+
if (!trimmed.toLowerCase().startsWith('openai-codex/'))
|
|
149
|
+
return trimmed;
|
|
150
|
+
return trimmed.slice('openai-codex/'.length) || trimmed;
|
|
151
|
+
}
|
|
152
|
+
function extractCodexOutputText(payload) {
|
|
153
|
+
const output = Array.isArray(payload.output) ? payload.output : [];
|
|
154
|
+
const chunks = [];
|
|
155
|
+
for (const item of output) {
|
|
156
|
+
if (!item || typeof item !== 'object' || Array.isArray(item))
|
|
157
|
+
continue;
|
|
158
|
+
const record = item;
|
|
159
|
+
if (record.type !== 'message' || !Array.isArray(record.content))
|
|
160
|
+
continue;
|
|
161
|
+
for (const contentItem of record.content) {
|
|
162
|
+
if (contentItem &&
|
|
163
|
+
typeof contentItem === 'object' &&
|
|
164
|
+
!Array.isArray(contentItem)) {
|
|
165
|
+
const contentRecord = contentItem;
|
|
166
|
+
const text = typeof contentRecord.text === 'string'
|
|
167
|
+
? contentRecord.text
|
|
168
|
+
: typeof contentRecord.output_text === 'string'
|
|
169
|
+
? contentRecord.output_text
|
|
170
|
+
: '';
|
|
171
|
+
if (text)
|
|
172
|
+
chunks.push(text);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return chunks.join('\n').trim();
|
|
177
|
+
}
|
|
142
178
|
function normalizeSessionKey(sessionId) {
|
|
143
179
|
const normalized = String(sessionId || 'default')
|
|
144
180
|
.trim()
|
|
@@ -719,6 +755,7 @@ async function callVisionModel(question, imageBase64) {
|
|
|
719
755
|
const baseUrl = currentBrowserModelContext.baseUrl;
|
|
720
756
|
const model = currentBrowserModelContext.model;
|
|
721
757
|
const chatbotId = currentBrowserModelContext.chatbotId;
|
|
758
|
+
const provider = currentBrowserModelContext.provider;
|
|
722
759
|
if (!apiKey) {
|
|
723
760
|
throw new Error('browser_vision is not configured: missing active request API key context.');
|
|
724
761
|
}
|
|
@@ -728,32 +765,51 @@ async function callVisionModel(question, imageBase64) {
|
|
|
728
765
|
if (!model) {
|
|
729
766
|
throw new Error('browser_vision is not configured: missing active request model context.');
|
|
730
767
|
}
|
|
731
|
-
if (!chatbotId) {
|
|
768
|
+
if (provider !== 'openai-codex' && !chatbotId) {
|
|
732
769
|
throw new Error('browser_vision is not configured: missing active request chatbot_id context.');
|
|
733
770
|
}
|
|
734
|
-
const endpoint =
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
771
|
+
const endpoint = provider === 'openai-codex'
|
|
772
|
+
? `${baseUrl}/responses`
|
|
773
|
+
: `${baseUrl}/v1/chat/completions`;
|
|
774
|
+
const payload = provider === 'openai-codex'
|
|
775
|
+
? {
|
|
776
|
+
model: normalizeCodexModelName(model),
|
|
777
|
+
input: [
|
|
778
|
+
{
|
|
779
|
+
role: 'user',
|
|
780
|
+
content: [
|
|
781
|
+
{ type: 'input_text', text: question },
|
|
782
|
+
{
|
|
783
|
+
type: 'input_image',
|
|
784
|
+
image_url: `data:image/png;base64,${imageBase64}`,
|
|
785
|
+
},
|
|
786
|
+
],
|
|
787
|
+
},
|
|
788
|
+
],
|
|
789
|
+
}
|
|
790
|
+
: {
|
|
791
|
+
model,
|
|
792
|
+
chatbot_id: chatbotId,
|
|
793
|
+
enable_rag: false,
|
|
794
|
+
messages: [
|
|
795
|
+
{
|
|
796
|
+
role: 'user',
|
|
797
|
+
content: [
|
|
798
|
+
{ type: 'text', text: question },
|
|
799
|
+
{
|
|
800
|
+
type: 'image_url',
|
|
801
|
+
image_url: { url: `data:image/png;base64,${imageBase64}` },
|
|
802
|
+
},
|
|
803
|
+
],
|
|
804
|
+
},
|
|
805
|
+
],
|
|
806
|
+
};
|
|
752
807
|
const response = await fetch(endpoint, {
|
|
753
808
|
method: 'POST',
|
|
754
809
|
headers: {
|
|
755
810
|
'Content-Type': 'application/json',
|
|
756
811
|
Authorization: `Bearer ${apiKey}`,
|
|
812
|
+
...currentBrowserModelContext.requestHeaders,
|
|
757
813
|
},
|
|
758
814
|
body: JSON.stringify(payload),
|
|
759
815
|
});
|
|
@@ -770,6 +826,16 @@ async function callVisionModel(question, imageBase64) {
|
|
|
770
826
|
throw new Error('vision API returned a non-JSON response');
|
|
771
827
|
}
|
|
772
828
|
const record = asRecord(parsed);
|
|
829
|
+
if (provider === 'openai-codex') {
|
|
830
|
+
if (!record) {
|
|
831
|
+
throw new Error('vision API response did not include a JSON object');
|
|
832
|
+
}
|
|
833
|
+
const analysis = extractCodexOutputText(record);
|
|
834
|
+
if (!analysis) {
|
|
835
|
+
throw new Error('vision API response did not include text output');
|
|
836
|
+
}
|
|
837
|
+
return { model, analysis };
|
|
838
|
+
}
|
|
773
839
|
const choices = record?.choices;
|
|
774
840
|
if (!Array.isArray(choices) || choices.length === 0) {
|
|
775
841
|
throw new Error('vision API response did not include choices');
|