Commit Graph

62 Commits

Author SHA1 Message Date
武阳 0bbba2b936 Enforce session workspace boundaries 2026-05-08 17:09:07 +08:00
武阳 bd2f260b9f Add skill enable controls and data factory SQL skill 2026-05-08 14:56:32 +08:00
武阳 cd84fcc69f Support Anthropic-routed Claude models 2026-05-08 12:17:00 +08:00
武阳 e4c3b973d4 List validated chat model providers 2026-05-08 11:51:53 +08:00
武阳 37fc367304 Unify skills under repository root 2026-05-08 10:54:27 +08:00
武阳 d2712fdb67 Normalize data agent records output path 2026-05-08 10:40:06 +08:00
武阳 9e94648ae6 Stop repeated duplicate skill loops 2026-05-08 10:40:01 +08:00
武阳 de6bb12ae5 Guard skill and continuation loops 2026-05-07 20:26:59 +08:00
武阳 b1868a6401 Improve active run timing and turn limits 2026-05-07 17:51:23 +08:00
武阳 d57570e527 Persist active run event history 2026-05-07 17:40:46 +08:00
武阳 9d7d496443 Add session scoped runs and cancellation 2026-05-07 16:26:20 +08:00
武阳 37f411a547 Add Ubuntu deployment workflow 2026-05-07 11:50:50 +08:00
武阳 1aafc0fce7 Improve data skill routing and tool organization 2026-05-06 21:46:09 +08:00
武阳 9ca675be0d Improve WebUI streaming and Python tooling 2026-05-06 20:37:17 +08:00
武阳 a0da3c2423 Refine WebUI commands and data skills 2026-05-06 19:35:48 +08:00
武阳 7d4ae3e7ba Add assistant-ui data agent frontend 2026-05-06 16:18:32 +08:00
武阳 4e9ea0e3bb Restructure web app directories 2026-05-06 12:01:22 +08:00
武阳 2ea3a63447 Add router session mining tools 2026-04-30 18:25:13 +08:00
武阳 97bf5b9a54 Show data agent review summaries in sessions 2026-04-30 15:11:46 +08:00
武阳 5bdc0ffb01 Add data agent input and export workflow 2026-04-30 15:11:37 +08:00
武阳 e3664f8843 Avoid duplicate final output in GUI 2026-04-29 19:32:06 +08:00
武阳 279f56386c Document data record review workflow 2026-04-29 19:31:48 +08:00
武阳 c1951d6e4d Pause data generation for human review 2026-04-29 19:31:29 +08:00
武阳 12f6ced252 Add data agent record tools 2026-04-29 19:31:16 +08:00
武阳 a040d80096 Add directory-based project skills 2026-04-28 10:17:23 +08:00
Abdelrahman Abdallah 84a563578e Implemented the next missing parity slice around a local web GUI for the agent. 2026-04-20 05:14:57 +02:00
Abdelrahman Abdallah 20aaad62b3 Implemented the next missing parity slice around the /skills slash command listing.
/skills now enumerates bundled_skills.BUNDLED_SKILLS (matching the npm
SkillsMenu component, which lists skills — not slash commands).
Previously it mislabeled the slash-command catalog as "Available Skills".

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 01:09:13 +02:00
Abdelrahman Abdallah cfd3bb9ca7 Implemented the next missing parity slice around clearing session env vars on /clear.
Wires clear_session_env_vars() into LocalCodingAgent.clear_runtime_state so the
/clear slash command now drops session-scoped env vars alongside the rest of the
ephemeral runtime state, matching commands/clear/caches.ts:127.
2026-04-20 00:52:28 +02:00
Abdelrahman Abdallah 72e6fffb34 Implemented the next missing parity slice around session env var subprocess merging.
Wires session_env_vars.py into agent_tools._build_subprocess_env so that
variables set via the session registry now reach spawned children, matching
utils/shell/bashProvider.ts:249. Per-call extra_env still wins so explicit
tool overrides take precedence over session defaults.
2026-04-20 00:51:11 +02:00
Abdelrahman Abdallah 66920a3360 Implemented the next missing parity slice around display formatters. 2026-04-20 00:43:56 +02:00
Abdelrahman Abdallah ce59ead1ce Implemented the next missing parity slice around session-scoped environment variables. 2026-04-20 00:42:39 +02:00
Abdelrahman Abdallah dc86874641 Implemented the next missing parity slice around IDE path conversion (Windows ↔ WSL). 2026-04-20 00:40:05 +02:00
Abdelrahman Abdallah 1b98fb36fd Implemented the next missing parity slice around portable git utilities. 2026-04-20 00:39:01 +02:00
Abdelrahman Abdallah de6f02781b Implemented the next missing parity slice around platform detection and system directories. 2026-04-20 00:37:01 +02:00
Abdelrahman Abdallah 83d93cca85 Implemented the next missing parity slice around small portable utilities. 2026-04-20 00:35:01 +02:00
Abdelrahman Abdallah 78f3c6ec68 Implemented the next missing parity slice around model pricing tiers. 2026-04-20 00:29:47 +02:00
Abdelrahman Abdallah f770b794ae Implemented the next missing parity slice around SDK core types. 2026-04-20 00:27:41 +02:00
Abdelrahman Abdallah 9541d5d701 Implemented the next missing parity slice around sandbox configuration types. 2026-04-20 00:25:14 +02:00
Abdelrahman Abdallah b2a5a431c6 Implemented the next missing parity slice around setup-time runtime checks. 2026-04-20 00:23:45 +02:00
Abdelrahman Abdallah 266e1ac563 Implemented the next missing parity slice around remote-control slash commands. 2026-04-20 00:19:40 +02:00
Abdelrahman Abdallah a6a67d4c55 Implemented the next missing parity slice around discovery slash commands. 2026-04-20 00:16:47 +02:00
Abdelrahman Abdallah e3d9472113 Implemented the next missing parity slice around settings slash commands.
Adds /theme, /voice, /sandbox-toggle (alias /sandbox), /keybindings,
and /btw ported from npm src/commands/. Settings-touching commands
write through the existing ConfigRuntime to .claude/settings.local.json
(theme, voiceEnabled, sandbox.excludedCommands). /keybindings creates
a JSON template on first invocation. /btw flips into a prompt-style
result that asks the model to answer the side question without
mutating workspace state.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 23:50:11 +02:00
Abdelrahman Abdallah 1072793487 Implemented the next missing parity slice around informational slash commands.
Adds 15 commands ported from npm src/commands/: /output-style,
/release-notes, /feedback (alias /bug), /upgrade, /stickers,
/mobile (aliases /ios, /android), /desktop (alias /app),
/install-github-app, /install-slack-app, /privacy-settings,
/extra-usage, /passes, /rate-limit-options, /chrome, and
/reload-plugins. Browser launches honor CI / CLAUDE_CODE_NO_BROWSER
and fall back to a printed link when a browser is unavailable.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 23:39:07 +02:00
Abdelrahman Abdallah 872f4f89b5 Implemented the next missing parity slice around agent configurations. 2026-04-17 05:15:17 +02:00
Abdelrahman Abdallah 02674ba594 Implemented the next missing parity slice around agent configurations. 2026-04-17 05:03:19 +02:00
Abdelrahman Elsayed Mahmoud Abdallah 17e0da9b5b update agnt 2026-04-15 03:31:08 +02:00
Abdelrahman Elsayed Mahmoud Abdallah a4aaf814d7 Here's a summary of all the features I ported from the TypeScript source to Python: 2026-04-15 02:29:22 +02:00
Abdelrahman Abdallah b5e5824a56 Implemented the next parity slice: prompt-budget preflight and context collapse.
Core changes:

  - Added claw-code/src/token_budget.py for projected prompt size, chat-framing overhead, output reserve, and soft/hard input limits.
  - Wired preflight prompt-length validation and auto-compact/context collapse into claw-code/src/agent_runtime.py.
  - Extended claw-code/src/compact.py so compaction reports usage back to the runtime.
  - Added inspection surfaces in claw-code/src/agent_slash_commands.py and claw-code/src/main.py:
      - /token-budget and /budget
      - token-budget
  - Hardened claw-code/src/tokenizer_runtime.py so arbitrary simple model names fall back cleanly instead of trying a slow Transformers
    lookup.
  - Exported the new helpers in claw-code/src/__init__.py.

  Docs and tracking:

  - Updated claw-code/PARITY_CHECKLIST.md to mark prompt-length validation, token-budget calculation, and auto-compact/context collapse as
    done.
  - Updated claw-code/README.md and claw-code/TESTING_GUIDE.md with the new commands and behavior.

  Tests:

  - Added claw-code/tests/test_token_budget.py.
  - Updated claw-code/tests/test_agent_runtime.py, claw-code/tests/test_agent_slash_commands.py, claw-code/tests/test_main.py, and claw-code/
    tests/test_agent_context_usage.py.
  - Verified with:
      - /data/fs201059/aa17626/miniconda3/bin/python3 -m compileall src tests
      - /data/fs201059/aa17626/miniconda3/bin/python3 -m unittest -v tests.test_token_budget
        tests.test_agent_runtime.AgentRuntimeTests.test_agent_rejects_prompt_before_backend_when_preflight_input_budget_is_exceeded
        tests.test_agent_runtime.AgentRuntimeTests.test_agent_auto_compacts_context_before_next_model_call tests.test_agent_slash_commands
        tests.test_main tests.test_compact tests.test_tokenizer_runtime tests.test_agent_context_usage
      - Result: 71 tests, OK
2026-04-11 01:38:19 +02:00
Abdelrahman Abdallah aacf0a212a Created src/prompt_constants.py (550+ lines) porting all constants from npm src/constants/:
┌──────────────────┬───────────────────────────┬───────────────────────────────────────────────┐
│ Category         │ npm Source                │ Items                                         │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Product metadata │ product.ts                │ URLs, base URLs                               │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ System prefixes  │ system.ts                 │ 3 prompt prefixes                             │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Cyber risk       │ cyberRiskInstruction.ts   │ Safety instruction                            │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ API limits       │ apiLimits.ts              │ 10 image/PDF/media limits                     │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Tool limits      │ toolLimits.ts             │ 6 result size constants                       │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Spinner verbs    │ spinnerVerbs.ts           │ 187 whimsical gerunds                         │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Completion verbs │ turnCompletionVerbs.ts    │ 8 past-tense verbs                            │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Figures/symbols  │ figures.ts                │ 25 Unicode UI symbols                         │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ XML tags         │ xml.ts                    │ 30+ tag constants                             │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Messages         │ messages.ts               │ NO_CONTENT_MESSAGE                            │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Date utilities   │ common.ts                 │ 4 functions                                   │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Section caching  │ systemPromptSections.ts   │ Memoized/volatile sections                    │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Output styles    │ outputStyles.ts           │ 3 built-in configs                            │
├──────────────────┼───────────────────────────┼───────────────────────────────────────────────┤
│ Prompt helpers   │ prompts.ts                │ Knowledge cutoff, language, scratchpad, hooks │
└──────────────────┴───────────────────────────┴───────────────────────────────────────────────┘

91 new tests in tests/test_prompt_constants.py. All 17 SQL todos done.
2026-04-08 00:02:53 +02:00
Abdelrahman Abdallah c17c2768eb Implemented the next parity slice.
New runtime/code:

  - src/ask_user_runtime.py
  - src/team_runtime.py

  New real tools in src/agent_tools.py:

  - ask_user_question
  - team_create
  - team_delete
  - team_list
  - team_get
  - send_message
  - team_messages
  - notebook_edit
2026-04-07 03:48:20 +02:00