-
Notifications
You must be signed in to change notification settings - Fork 501
Multi-agent support from PR#163 + Support for Kimi2.5 and Minimax2.5 via Claude Code + Clean up #168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Multi-agent support from PR#163 + Support for Kimi2.5 and Minimax2.5 via Claude Code + Clean up #168
Changes from all commits
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
e04f145
feat(db): add conversation persistence tables and functions
f370724
feat(queue-processor): implement parallel processing and restart reco…
f532ebf
feat(signals): implement push notifications to replace HTTP polling
b86b63d
fix(logging, queue-processor): add await to emitEvent for event order…
2d68336
feat(db): add exponential backoff with jitter to message retry logic
0dc6bad
feat(heartbeat): add heartbeat monitoring for crash detection
b773749
feat(queue-processor): add message size validation before invokeAgent
5f9d54e
fix(queue-processor): serialize inter-agent team conversation updates…
7608b62
fix(signals): handle race condition in signal cleanup with proper err…
ac8b393
feat(db, queue-processor): add stale conversation recovery for crash …
a247aeb
fix(db): improve stale conversation recovery with better pruning and …
1e4d0c5
fix(db, queue-processor): reduce crash detection threshold and add re…
9270276
feat: add database backup strategy and integrity checks (Gap 3)
dca9f7a
feat(db): add outstanding_requests table for agent handoff tracking
c5513a4
feat(conversation): integrate outstanding request tracking into agent…
4d38299
feat(queue-processor): add request timeout checker and ACK handling
5417d67
fix(queue-processor): complete outstanding request when agent responds
a364180
fix(queue-processor): remove duplicate routing log line
ad5b885
fix(db): remove deadline checks from acknowledgeRequest and respondTo…
d7b7eb0
fix(queue-processor, db): handle multiple outstanding requests to sam…
91da93d
feat(queue-processor, db): add missing maintenance and faster timeout…
ae24e1a
docs: add comprehensive agent communication protocol documentation
905d8e0
fix(queue-processor): await chain_step_start emitEvent for visualizer…
a8d8e66
feat(queue-processor): mark requests as failed when agent errors
45ec16d
chore(queue-processor): remove unused import and fix prune interval
81ac215
docs: update agent communication protocol with final changes
df55658
fix(installer): point remote-install to sql-experiment branch
a8b7c22
fix(comms): route agent-to-agent responses back to sender
e9b9d06
fix(events): emit chain_step_done event after agent completes
9e177a4
fix(install): point remote installer at official repo
6eda557
fix(events): add .catch() to unawaited emitEvent calls
d5dff6b
fix(backup): use atomic sqlite3 .backup instead of sequential cp
7dbb039
fix(db): align max_retries schema default with insert value
19e8b57
feat(types): add Kimi and MiniMax provider support
da3420b
feat(config): add API key resolution and provider helpers for kimi/mi…
ba05a8e
feat(invoke): add Kimi and MiniMax provider invocation support
33172c3
feat(setup-wizard): add Kimi and MiniMax to interactive setup flow
93d3d84
feat(agents): add Kimi and MiniMax to agent creation flow
bf80c8c
feat(cli): add Kimi and MiniMax to provider and model commands
6b4f565
fix(config): correct Kimi base URL to /coding
014be4a
fix(invoke): correct env vars and refactor runCommand
a23d56e
fix(setup-wizard): correct Kimi validation URL to /coding
3b25ade
fix(agents): correct validation URL and cleanup
5b43c39
fix(agents): support --api-key in agent_provider function
ed458c8
fix(config): add trailing slash to Kimi base URL
bf61281
fix(invoke): clear AUTH_TOKEN instead of using cc-mirror flag
5d99c69
fix(invoke): remove duplicate getSettings import
3ce3c56
fix(setup-wizard): use jq --arg for all agent fields and add TMPDIR f…
7260b5c
fix(setup-wizard): fix AGENTS_JSON format for proper settings.json ge…
9dc18b1
fix(invoke): update runCommand signature to accept undefined env values
a39cdaf
fix(agents): correct elif-after-else syntax error for kimi/minimax mo…
981b7e6
fix(setup-wizard): correct Kimi validation URL in global provider set…
937745b
fix(setup-wizard): use jq --arg for MODELS_SECTION to prevent JSON in…
91b9e7b
fix(cli): handle kimi/minimax/opencode in 'tinyclaw model' display
9f5df92
refactor(config): remove unused providerRequiresApiKey export
a79dffa
refactor(types): add Provider union type, replace raw string in Agent…
94d8c07
refactor(config): centralize workspace path as WORKSPACE_DEFAULT_PATH…
700bcfb
refactor(config): add writeJsonFile/readJsonFile helpers, replace inl…
f688865
refactor(config): add generateId helper; add parseJsonField in queue …
d1a32e9
refactor(agents): remove duplicate workspace provisioning, import ens…
051f991
refactor(config): remove redundant null-guard in provider auto-detect…
ba4d4f5
fix(agent): copy skills from source to both targets, not target-to-ta…
aedaad3
perf(chats): use readdirSync withFileTypes to eliminate redundant sta…
dda5dc2
refactor(shell): add require_settings_file and get_agent_json helpers…
efda83d
perf(cli): consolidate double jq calls in 'tinyclaw model' display in…
ce137c2
perf(daemon): build .env content in memory, write once instead of app…
a3cdcf6
fix(agents): restore missing 'const app = new Hono()' dropped during …
aef2781
fix(logging): run event listeners in parallel instead of sequentially
a7b43cb
fix(queue-processor): validate message size for both team and non-tea…
4a82efa
fix(queue-processor): serialize per-agent invocations to prevent -c f…
a248260
fix(queue-processor): register event listener after conversation reco…
36ea769
fix(queue-processor): handle null acked_at in escalation message
9e6f2d6
fix(queue-processor): fail pending requests on agent error
7e83b21
chore: point install URLs and repo references to dpbmaverick98 fork
8d793d7
fix(setup-wizard): fix jq syntax error in MODELS_SECTION generation
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| #!/bin/bash | ||
| # Backup TinyClaw SQLite database daily | ||
| # Usage: ./backup.sh or add to crontab: 0 2 * * * /path/to/backup.sh | ||
|
|
||
| set -e | ||
|
|
||
| TINYCLAW_HOME="${TINYCLAW_HOME:-$HOME/.tinyclaw}" | ||
| DB_FILE="$TINYCLAW_HOME/tinyclaw.db" | ||
| BACKUP_DIR="$TINYCLAW_HOME/backups" | ||
| RETENTION_DAYS=7 | ||
|
|
||
| # Create backup directory if needed | ||
| mkdir -p "$BACKUP_DIR" | ||
|
|
||
| # Check if database exists | ||
| if [ ! -f "$DB_FILE" ]; then | ||
| echo "WARNING: Database file not found: $DB_FILE" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Create timestamped backup | ||
| TIMESTAMP=$(date +%Y%m%d_%H%M%S) | ||
| BACKUP_FILE="$BACKUP_DIR/tinyclaw_${TIMESTAMP}.db" | ||
|
|
||
| # Atomic hot-backup using SQLite's built-in backup API | ||
| # Safe while database is actively being written to (WAL mode) | ||
| sqlite3 "$DB_FILE" ".backup '$BACKUP_FILE'" | ||
|
|
||
| # Verify backup is valid (can open it) | ||
| if ! sqlite3 "$BACKUP_FILE" ".tables" >/dev/null 2>&1; then | ||
| echo "ERROR: Backup verification failed for $BACKUP_FILE" | ||
| rm -f "$BACKUP_FILE"* | ||
| exit 1 | ||
| fi | ||
|
|
||
| echo "✓ Backup created: $BACKUP_FILE" | ||
|
|
||
| # Delete old backups (keep 7 days) | ||
| find "$BACKUP_DIR" -name "tinyclaw_*.db" -mtime +$RETENTION_DAYS -delete 2>/dev/null || true | ||
|
|
||
| # Log backup count | ||
| BACKUP_COUNT=$(ls -1 "$BACKUP_DIR"/tinyclaw_*.db 2>/dev/null | wc -l) | ||
| echo "Backup count: $BACKUP_COUNT (retention: ${RETENTION_DAYS} days)" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fork URLs will break production installs
All three install options in
README.mdnow point to the author's fork (dpbmaverick98/tinyclaw) instead of the canonical repository (TinyAGI/tinyclaw). The same incorrect URLs appear inlib/update.sh,scripts/remote-install.sh, andscripts/bundle.sh. Once merged, every user who follows the README to install or update TinyClaw will be cloning the fork instead of the main repo.All four files need to revert these references back to
TinyAGI/tinyclaw:README.md(lines 62, 68, 72)lib/update.sh(GITHUB_REPOconstant)scripts/remote-install.sh(GITHUB_REPOconstant and comment)scripts/bundle.sh(upload instructions)