chainlesschain 0.40.1 → 0.40.3
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/README.md +225 -25
- package/package.json +1 -1
- package/src/lib/agent-core.js +861 -0
- package/src/lib/chat-core.js +177 -0
- package/src/lib/interaction-adapter.js +177 -0
- package/src/lib/interactive-planner.js +524 -0
- package/src/lib/llm-providers.js +9 -1
- package/src/lib/slot-filler.js +465 -0
- package/src/lib/task-model-selector.js +5 -5
- package/src/lib/ws-agent-handler.js +403 -0
- package/src/lib/ws-chat-handler.js +145 -0
- package/src/lib/ws-server.js +280 -1
- package/src/lib/ws-session-manager.js +363 -0
- package/src/repl/agent-repl.js +159 -11
package/README.md
CHANGED
|
@@ -142,7 +142,7 @@ chainlesschain note revert <id> <ver> # Revert to a version
|
|
|
142
142
|
Start an interactive AI chat session with streaming output.
|
|
143
143
|
|
|
144
144
|
```bash
|
|
145
|
-
chainlesschain chat # Default: Ollama qwen2:7b
|
|
145
|
+
chainlesschain chat # Default: Ollama qwen2.5:7b
|
|
146
146
|
chainlesschain chat --model llama3 # Use different model
|
|
147
147
|
chainlesschain chat --provider openai --api-key sk-...
|
|
148
148
|
chainlesschain chat --agent # Agentic mode (can read/write files)
|
|
@@ -169,7 +169,7 @@ chainlesschain llm models # List installed Ollama models
|
|
|
169
169
|
chainlesschain llm models --json # JSON output
|
|
170
170
|
chainlesschain llm test # Test Ollama connectivity
|
|
171
171
|
chainlesschain llm test --provider openai --api-key sk-...
|
|
172
|
-
chainlesschain llm providers # List
|
|
172
|
+
chainlesschain llm providers # List 8 built-in LLM providers
|
|
173
173
|
chainlesschain llm add-provider <name> # Add custom provider
|
|
174
174
|
chainlesschain llm switch <name> # Switch active provider
|
|
175
175
|
```
|
|
@@ -179,12 +179,14 @@ chainlesschain llm switch <name> # Switch active provider
|
|
|
179
179
|
Start an agentic AI session — the AI can read/write files, run shell commands, search the codebase, and invoke 138 built-in skills.
|
|
180
180
|
|
|
181
181
|
```bash
|
|
182
|
-
chainlesschain agent # Default: Ollama qwen2:7b
|
|
182
|
+
chainlesschain agent # Default: Ollama qwen2.5:7b
|
|
183
183
|
chainlesschain a --model llama3 # Short alias
|
|
184
184
|
chainlesschain agent --provider openai --api-key sk-...
|
|
185
185
|
```
|
|
186
186
|
|
|
187
|
-
Built-in tools: `read_file`, `write_file`, `edit_file`, `run_shell`, `search_files`, `list_dir`, `run_skill`, `list_skills`
|
|
187
|
+
Built-in tools: `read_file`, `write_file`, `edit_file`, `run_shell`, `search_files`, `list_dir`, `run_skill`, `list_skills`, `run_code`
|
|
188
|
+
|
|
189
|
+
Agent slash commands: `/plan` (plan mode), `/plan interactive <request>` (LLM-driven planning with skill recommendations), `/model`, `/provider`, `/clear`, `/compact`, `/task`, `/session`, `/stats`, `/auto` (autonomous agent), `/cowork` (multi-agent collaboration)
|
|
188
190
|
|
|
189
191
|
### `chainlesschain skill <action>`
|
|
190
192
|
|
|
@@ -638,6 +640,201 @@ chainlesschain lowcode publish <id> # Publish app
|
|
|
638
640
|
|
|
639
641
|
---
|
|
640
642
|
|
|
643
|
+
## EvoMap Gene Exchange Protocol
|
|
644
|
+
|
|
645
|
+
### `chainlesschain evomap <action>`
|
|
646
|
+
|
|
647
|
+
Gene exchange protocol for sharing AI capabilities across instances.
|
|
648
|
+
|
|
649
|
+
```bash
|
|
650
|
+
chainlesschain evomap search "tool name" # Search genes on hub
|
|
651
|
+
chainlesschain evomap download <gene-id> # Download gene
|
|
652
|
+
chainlesschain evomap publish --name "my-gene" # Publish gene to hub
|
|
653
|
+
chainlesschain evomap list # List local genes
|
|
654
|
+
chainlesschain evomap hubs # List available hubs
|
|
655
|
+
chainlesschain evomap federation list-hubs # List federated hubs
|
|
656
|
+
chainlesschain evomap federation sync <hub> # Sync genes with hub
|
|
657
|
+
chainlesschain evomap federation pressure # Pressure analytics report
|
|
658
|
+
chainlesschain evomap gov propose "title" # Governance proposal
|
|
659
|
+
chainlesschain evomap gov vote <id> for # Vote on proposal
|
|
660
|
+
chainlesschain evomap gov dashboard # Governance dashboard
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
---
|
|
664
|
+
|
|
665
|
+
## DAO Governance
|
|
666
|
+
|
|
667
|
+
### `chainlesschain dao <action>`
|
|
668
|
+
|
|
669
|
+
Decentralized governance with quadratic voting.
|
|
670
|
+
|
|
671
|
+
```bash
|
|
672
|
+
chainlesschain dao propose "title" # Create DAO proposal
|
|
673
|
+
chainlesschain dao vote <id> for # Vote (quadratic voting)
|
|
674
|
+
chainlesschain dao delegate <from> <to> # Delegate voting power
|
|
675
|
+
chainlesschain dao execute <id> # Execute passed proposal
|
|
676
|
+
chainlesschain dao treasury # Show treasury balance
|
|
677
|
+
chainlesschain dao stats # Governance statistics
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
---
|
|
681
|
+
|
|
682
|
+
## Phase 8: Security & Compliance
|
|
683
|
+
|
|
684
|
+
### `chainlesschain compliance <action>`
|
|
685
|
+
|
|
686
|
+
Compliance evidence collection and reporting (GDPR, SOC2, HIPAA).
|
|
687
|
+
|
|
688
|
+
```bash
|
|
689
|
+
chainlesschain compliance evidence gdpr # Collect compliance evidence
|
|
690
|
+
chainlesschain compliance report soc2 # Generate compliance report
|
|
691
|
+
chainlesschain compliance classify "text" # Classify data sensitivity
|
|
692
|
+
chainlesschain compliance scan hipaa # Scan compliance posture
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
### `chainlesschain dlp <action>`
|
|
696
|
+
|
|
697
|
+
Data Loss Prevention (DLP) content scanning and policy management.
|
|
698
|
+
|
|
699
|
+
```bash
|
|
700
|
+
chainlesschain dlp scan "content" # DLP content scanning
|
|
701
|
+
chainlesschain dlp incidents # List DLP incidents
|
|
702
|
+
chainlesschain dlp policy create --name "rule" # Create DLP policy
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
### `chainlesschain siem <action>`
|
|
706
|
+
|
|
707
|
+
Security Information and Event Management (SIEM) integration.
|
|
708
|
+
|
|
709
|
+
```bash
|
|
710
|
+
chainlesschain siem targets # List SIEM targets
|
|
711
|
+
chainlesschain siem add-target splunk_hec <url> # Add SIEM export target
|
|
712
|
+
chainlesschain siem export <target-id> # Export logs to SIEM
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
### `chainlesschain pqc <action>`
|
|
716
|
+
|
|
717
|
+
Post-Quantum Cryptography key management and migration.
|
|
718
|
+
|
|
719
|
+
```bash
|
|
720
|
+
chainlesschain pqc keys # List PQC keys
|
|
721
|
+
chainlesschain pqc generate ML-KEM-768 # Generate PQC key pair
|
|
722
|
+
chainlesschain pqc migration-status # PQC migration status
|
|
723
|
+
chainlesschain pqc migrate "plan" ML-KEM-768 # Execute PQC migration
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
---
|
|
727
|
+
|
|
728
|
+
## Phase 8: Communication Bridges
|
|
729
|
+
|
|
730
|
+
### `chainlesschain nostr <action>`
|
|
731
|
+
|
|
732
|
+
Nostr protocol bridge for decentralized social messaging.
|
|
733
|
+
|
|
734
|
+
```bash
|
|
735
|
+
chainlesschain nostr relays # List Nostr relays
|
|
736
|
+
chainlesschain nostr publish "Hello" # Publish Nostr event
|
|
737
|
+
chainlesschain nostr keygen # Generate Nostr keypair
|
|
738
|
+
chainlesschain nostr map-did <did> <pubkey> # Map DID to Nostr
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
### `chainlesschain matrix <action>`
|
|
742
|
+
|
|
743
|
+
Matrix protocol bridge for federated messaging.
|
|
744
|
+
|
|
745
|
+
```bash
|
|
746
|
+
chainlesschain matrix login # Login to Matrix
|
|
747
|
+
chainlesschain matrix rooms # List Matrix rooms
|
|
748
|
+
chainlesschain matrix send <room> "message" # Send Matrix message
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
### `chainlesschain scim <action>`
|
|
752
|
+
|
|
753
|
+
SCIM protocol for enterprise user provisioning.
|
|
754
|
+
|
|
755
|
+
```bash
|
|
756
|
+
chainlesschain scim users list # List SCIM users
|
|
757
|
+
chainlesschain scim users create --name "user" # Create SCIM user
|
|
758
|
+
chainlesschain scim sync <connector-id> # Trigger SCIM sync
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
---
|
|
762
|
+
|
|
763
|
+
## Phase 8: Infrastructure & Hardening
|
|
764
|
+
|
|
765
|
+
### `chainlesschain terraform <action>`
|
|
766
|
+
|
|
767
|
+
Infrastructure-as-Code workspace management.
|
|
768
|
+
|
|
769
|
+
```bash
|
|
770
|
+
chainlesschain terraform workspaces # List Terraform workspaces
|
|
771
|
+
chainlesschain terraform create "prod" # Create workspace
|
|
772
|
+
chainlesschain terraform plan <workspace-id> # Run Terraform plan
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
### `chainlesschain hardening <action>`
|
|
776
|
+
|
|
777
|
+
Security hardening and performance baseline management.
|
|
778
|
+
|
|
779
|
+
```bash
|
|
780
|
+
chainlesschain hardening baseline collect "v1" # Collect performance baseline
|
|
781
|
+
chainlesschain hardening baseline compare <id> # Compare baseline (regression)
|
|
782
|
+
chainlesschain hardening audit run "quarterly" # Run security audit
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
---
|
|
786
|
+
|
|
787
|
+
## Phase 8: Social Platform
|
|
788
|
+
|
|
789
|
+
### `chainlesschain social <action>`
|
|
790
|
+
|
|
791
|
+
Decentralized social networking features.
|
|
792
|
+
|
|
793
|
+
```bash
|
|
794
|
+
chainlesschain social contact add "Alice" # Add a contact
|
|
795
|
+
chainlesschain social contact list # List contacts
|
|
796
|
+
chainlesschain social friend add <contact-id> # Send friend request
|
|
797
|
+
chainlesschain social post publish "Hello" # Publish a post
|
|
798
|
+
chainlesschain social chat send <user> "msg" # Send chat message
|
|
799
|
+
chainlesschain social stats # Social statistics
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
---
|
|
803
|
+
|
|
804
|
+
## CLI-Anything: Agent-Native Software Integration
|
|
805
|
+
|
|
806
|
+
### `chainlesschain cli-anything <action>`
|
|
807
|
+
|
|
808
|
+
Discover and register external CLI tools as ChainlessChain skills.
|
|
809
|
+
|
|
810
|
+
```bash
|
|
811
|
+
chainlesschain cli-anything doctor # Check Python + CLI-Anything environment
|
|
812
|
+
chainlesschain cli-anything scan # Scan PATH for cli-anything-* tools
|
|
813
|
+
chainlesschain cli-anything register <name> # Register tool as ChainlessChain skill
|
|
814
|
+
chainlesschain cli-anything list # List registered tools
|
|
815
|
+
chainlesschain cli-anything remove <name> # Remove registered tool
|
|
816
|
+
```
|
|
817
|
+
|
|
818
|
+
---
|
|
819
|
+
|
|
820
|
+
## WebSocket Server Interface
|
|
821
|
+
|
|
822
|
+
### `chainlesschain serve`
|
|
823
|
+
|
|
824
|
+
Start a WebSocket server for external tool integration, enabling real-time bidirectional communication with the CLI engine.
|
|
825
|
+
|
|
826
|
+
```bash
|
|
827
|
+
chainlesschain serve # Start WebSocket server (port 18800)
|
|
828
|
+
chainlesschain serve --port 9000 # Custom port
|
|
829
|
+
chainlesschain serve --token <secret> # Enable token auth
|
|
830
|
+
chainlesschain serve --allow-remote --token <secret> # Allow remote + auth
|
|
831
|
+
chainlesschain serve --project /path/to/project # Default project root for sessions
|
|
832
|
+
```
|
|
833
|
+
|
|
834
|
+
**Session Protocol** (v0.41.0): WebSocket clients can create stateful agent/chat sessions via `session-create`, send messages via `session-message`, resume previous sessions via `session-resume`, and manage sessions via `session-list`/`session-close`. Supports `slash-command` for in-session commands and `session-answer` for interactive Q&A (SlotFiller/Planner).
|
|
835
|
+
|
|
836
|
+
---
|
|
837
|
+
|
|
641
838
|
## Global Options
|
|
642
839
|
|
|
643
840
|
```bash
|
|
@@ -662,7 +859,7 @@ Configuration is stored at `~/.chainlesschain/config.json`. The CLI creates and
|
|
|
662
859
|
"provider": "ollama",
|
|
663
860
|
"apiKey": null,
|
|
664
861
|
"baseUrl": "http://localhost:11434",
|
|
665
|
-
"model": "qwen2:7b"
|
|
862
|
+
"model": "qwen2.5:7b"
|
|
666
863
|
},
|
|
667
864
|
"enterprise": {
|
|
668
865
|
"serverUrl": null,
|
|
@@ -682,16 +879,17 @@ Configuration is stored at `~/.chainlesschain/config.json`. The CLI creates and
|
|
|
682
879
|
|
|
683
880
|
### Supported LLM Providers
|
|
684
881
|
|
|
685
|
-
| Provider
|
|
686
|
-
|
|
|
687
|
-
| Ollama (Local)
|
|
688
|
-
| OpenAI
|
|
689
|
-
| Anthropic
|
|
690
|
-
| DashScope (Alibaba)
|
|
691
|
-
| DeepSeek
|
|
692
|
-
| Gemini (Google)
|
|
693
|
-
| Mistral
|
|
694
|
-
|
|
|
882
|
+
| Provider | Default Model | API Key Required |
|
|
883
|
+
| ---------------------- | ----------------- | ---------------- |
|
|
884
|
+
| Ollama (Local) | qwen2.5:7b | No |
|
|
885
|
+
| OpenAI | gpt-4o | Yes |
|
|
886
|
+
| Anthropic | claude-sonnet-4-6 | Yes |
|
|
887
|
+
| DashScope (Alibaba) | qwen-max | Yes |
|
|
888
|
+
| DeepSeek | deepseek-chat | Yes |
|
|
889
|
+
| Gemini (Google) | gemini-pro | Yes |
|
|
890
|
+
| Mistral | mistral-large | Yes |
|
|
891
|
+
| Volcengine (ByteDance) | doubao-1.5-pro | Yes |
|
|
892
|
+
| Custom | — | Yes |
|
|
695
893
|
|
|
696
894
|
## File Structure
|
|
697
895
|
|
|
@@ -710,7 +908,7 @@ Configuration is stored at `~/.chainlesschain/config.json`. The CLI creates and
|
|
|
710
908
|
```bash
|
|
711
909
|
cd packages/cli
|
|
712
910
|
npm install
|
|
713
|
-
npm test # Run all tests (
|
|
911
|
+
npm test # Run all tests (2432 tests across 109 files)
|
|
714
912
|
npm run test:unit # Unit tests only
|
|
715
913
|
npm run test:integration # Integration tests
|
|
716
914
|
npm run test:e2e # End-to-end tests
|
|
@@ -718,15 +916,17 @@ npm run test:e2e # End-to-end tests
|
|
|
718
916
|
|
|
719
917
|
### Test Coverage
|
|
720
918
|
|
|
721
|
-
| Category | Files
|
|
722
|
-
| ------------------------ |
|
|
723
|
-
| Unit — lib modules |
|
|
724
|
-
| Unit — commands |
|
|
725
|
-
| Unit — runtime | 1
|
|
726
|
-
| Integration |
|
|
727
|
-
| E2E |
|
|
728
|
-
| Core packages (external) | —
|
|
729
|
-
|
|
|
919
|
+
| Category | Files | Tests | Status |
|
|
920
|
+
| ------------------------ | ------- | -------- | --------------- |
|
|
921
|
+
| Unit — lib modules | 56 | 1200+ | All passing |
|
|
922
|
+
| Unit — commands | 15 | 350+ | All passing |
|
|
923
|
+
| Unit — runtime | 1 | 6 | All passing |
|
|
924
|
+
| Integration | 5 | 30+ | All passing |
|
|
925
|
+
| E2E | 14 | 150+ | All passing |
|
|
926
|
+
| Core packages (external) | — | 118 | All passing |
|
|
927
|
+
| Unit — WS sessions | 9 | 156 | All passing |
|
|
928
|
+
| Integration — WS session | 1 | 12 | All passing |
|
|
929
|
+
| **CLI Total** | **109** | **2432** | **All passing** |
|
|
730
930
|
|
|
731
931
|
## License
|
|
732
932
|
|