iosm-cli 0.1.2 → 0.1.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/CHANGELOG.md +6 -0
- package/README.md +6 -3
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +4 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-profiles.d.ts.map +1 -1
- package/dist/core/agent-profiles.js +1 -0
- package/dist/core/agent-profiles.js.map +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +3 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/sdk.d.ts +3 -3
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +11 -19
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/semantic/chunking.d.ts +10 -0
- package/dist/core/semantic/chunking.d.ts.map +1 -0
- package/dist/core/semantic/chunking.js +82 -0
- package/dist/core/semantic/chunking.js.map +1 -0
- package/dist/core/semantic/cli.d.ts +23 -0
- package/dist/core/semantic/cli.d.ts.map +1 -0
- package/dist/core/semantic/cli.js +86 -0
- package/dist/core/semantic/cli.js.map +1 -0
- package/dist/core/semantic/config.d.ts +8 -0
- package/dist/core/semantic/config.d.ts.map +1 -0
- package/dist/core/semantic/config.js +261 -0
- package/dist/core/semantic/config.js.map +1 -0
- package/dist/core/semantic/index-store.d.ts +21 -0
- package/dist/core/semantic/index-store.d.ts.map +1 -0
- package/dist/core/semantic/index-store.js +73 -0
- package/dist/core/semantic/index-store.js.map +1 -0
- package/dist/core/semantic/index.d.ts +8 -0
- package/dist/core/semantic/index.d.ts.map +1 -0
- package/dist/core/semantic/index.js +7 -0
- package/dist/core/semantic/index.js.map +1 -0
- package/dist/core/semantic/providers.d.ts +22 -0
- package/dist/core/semantic/providers.d.ts.map +1 -0
- package/dist/core/semantic/providers.js +317 -0
- package/dist/core/semantic/providers.js.map +1 -0
- package/dist/core/semantic/runtime.d.ts +32 -0
- package/dist/core/semantic/runtime.d.ts.map +1 -0
- package/dist/core/semantic/runtime.js +499 -0
- package/dist/core/semantic/runtime.js.map +1 -0
- package/dist/core/semantic/types.d.ts +151 -0
- package/dist/core/semantic/types.d.ts.map +1 -0
- package/dist/core/semantic/types.js +17 -0
- package/dist/core/semantic/types.js.map +1 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +4 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +19 -3
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/ast-grep.js +1 -1
- package/dist/core/tools/ast-grep.js.map +1 -1
- package/dist/core/tools/comby.js +1 -1
- package/dist/core/tools/comby.js.map +1 -1
- package/dist/core/tools/index.d.ts +9 -0
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +6 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/rg.js +1 -1
- package/dist/core/tools/rg.js.map +1 -1
- package/dist/core/tools/semantic-search.d.ts +21 -0
- package/dist/core/tools/semantic-search.d.ts.map +1 -0
- package/dist/core/tools/semantic-search.js +122 -0
- package/dist/core/tools/semantic-search.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +117 -0
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +15 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +687 -4
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/docs/cli-reference.md +18 -1
- package/docs/configuration.md +74 -2
- package/docs/getting-started.md +1 -0
- package/docs/interactive-mode.md +5 -1
- package/package.json +1 -1
package/docs/cli-reference.md
CHANGED
|
@@ -98,6 +98,22 @@ View and manage configuration.
|
|
|
98
98
|
iosm config
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
+
### `iosm semantic`
|
|
102
|
+
|
|
103
|
+
Semantic index management for meaning-based retrieval.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
iosm semantic help
|
|
107
|
+
iosm semantic status
|
|
108
|
+
iosm semantic index
|
|
109
|
+
iosm semantic rebuild
|
|
110
|
+
iosm semantic query "<text>" [--top-k N]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Notes:
|
|
114
|
+
- If semantic config is missing, the command prints actionable paths and suggests `/semantic setup`.
|
|
115
|
+
- `query` auto-refreshes stale indexes incrementally; provider/chunk/filter changes require `rebuild`.
|
|
116
|
+
|
|
101
117
|
---
|
|
102
118
|
|
|
103
119
|
## Core Options
|
|
@@ -209,12 +225,13 @@ iosm --api-key sk-test-123 # Override for this run
|
|
|
209
225
|
|
|
210
226
|
### Available Tools
|
|
211
227
|
|
|
212
|
-
`read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`, `rg`, `fd`, `ast_grep`, `comby`, `jq`, `yq`, `semgrep`, `sed`
|
|
228
|
+
`read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`, `rg`, `fd`, `ast_grep`, `comby`, `jq`, `yq`, `semgrep`, `sed`, `semantic_search`
|
|
213
229
|
|
|
214
230
|
Tool notes:
|
|
215
231
|
- `rg`, `fd` are managed by iosm-cli and auto-resolved when missing.
|
|
216
232
|
- `ast_grep`, `comby`, `jq`, `yq`, `semgrep` are optional external CLIs and should be available in `PATH` to use their tools.
|
|
217
233
|
- `sed` tool is preview/extraction-oriented; in-place edits are intentionally blocked.
|
|
234
|
+
- `semantic_search` uses configured embeddings provider/index (`/semantic setup`).
|
|
218
235
|
|
|
219
236
|
**Examples:**
|
|
220
237
|
|
package/docs/configuration.md
CHANGED
|
@@ -12,6 +12,7 @@ Complete reference for `iosm-cli` settings, environment variables, profiles, and
|
|
|
12
12
|
~/.iosm/agent/
|
|
13
13
|
├── settings.json # Global settings
|
|
14
14
|
├── mcp.json # User MCP servers
|
|
15
|
+
├── semantic.json # User semantic search config
|
|
15
16
|
├── models.json # Model configuration and preferences
|
|
16
17
|
├── auth.json # Provider credentials (OAuth + API keys via /login)
|
|
17
18
|
├── keybindings.json # Custom keyboard shortcuts
|
|
@@ -28,6 +29,7 @@ Complete reference for `iosm-cli` settings, environment variables, profiles, and
|
|
|
28
29
|
```
|
|
29
30
|
.iosm/
|
|
30
31
|
├── settings.json # Project-specific settings
|
|
32
|
+
├── semantic.json # Project semantic search overrides
|
|
31
33
|
├── extensions/ # Project extensions
|
|
32
34
|
├── skills/ # Project skills
|
|
33
35
|
├── prompts/ # Project prompt templates
|
|
@@ -105,6 +107,76 @@ MCP configs are loaded with project override precedence:
|
|
|
105
107
|
|
|
106
108
|
---
|
|
107
109
|
|
|
110
|
+
## Semantic Search Configuration
|
|
111
|
+
|
|
112
|
+
Semantic search is configured separately from settings and supports user/project override merge:
|
|
113
|
+
|
|
114
|
+
1. `~/.iosm/agent/semantic.json`
|
|
115
|
+
2. `.iosm/semantic.json` (project root, overrides user)
|
|
116
|
+
|
|
117
|
+
Interactive setup:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
/semantic setup
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
CLI actions:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
iosm semantic status
|
|
127
|
+
iosm semantic index
|
|
128
|
+
iosm semantic query "where auth token is validated" --top-k 8
|
|
129
|
+
iosm semantic rebuild
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Schema (`semanticSearch` object):
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
{
|
|
136
|
+
"semanticSearch": {
|
|
137
|
+
"enabled": true,
|
|
138
|
+
"provider": {
|
|
139
|
+
"type": "openrouter",
|
|
140
|
+
"model": "openai/text-embedding-3-small",
|
|
141
|
+
"baseUrl": "optional",
|
|
142
|
+
"apiKeyEnv": "optional",
|
|
143
|
+
"headers": {
|
|
144
|
+
"KEY": "VALUE"
|
|
145
|
+
},
|
|
146
|
+
"batchSize": 32,
|
|
147
|
+
"timeoutMs": 30000
|
|
148
|
+
},
|
|
149
|
+
"index": {
|
|
150
|
+
"includeGlobs": [
|
|
151
|
+
"**/*.{ts,tsx,js,jsx,py,go,rs,java,md,json,yaml,yml}"
|
|
152
|
+
],
|
|
153
|
+
"excludeGlobs": [
|
|
154
|
+
"**/.git/**",
|
|
155
|
+
"**/node_modules/**",
|
|
156
|
+
"**/dist/**",
|
|
157
|
+
"**/build/**",
|
|
158
|
+
"**/.iosm/**"
|
|
159
|
+
],
|
|
160
|
+
"chunkMaxChars": 1200,
|
|
161
|
+
"chunkOverlapChars": 200,
|
|
162
|
+
"maxFileBytes": 262144,
|
|
163
|
+
"maxFiles": 20000
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Index storage (global cache):
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
~/.iosm/agent/semantic/indexes/<project-hash>/
|
|
173
|
+
├── meta.json
|
|
174
|
+
├── chunks.jsonl
|
|
175
|
+
└── vectors.jsonl
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
108
180
|
## Environment Variables
|
|
109
181
|
|
|
110
182
|
### Provider API Keys
|
|
@@ -118,7 +190,7 @@ MCP configs are loaded with project override precedence:
|
|
|
118
190
|
| `GROQ_API_KEY` | Groq | |
|
|
119
191
|
| `CEREBRAS_API_KEY` | Cerebras | |
|
|
120
192
|
| `XAI_API_KEY` | xAI (Grok) | |
|
|
121
|
-
| `OPENROUTER_API_KEY` | OpenRouter | Multi-provider gateway |
|
|
193
|
+
| `OPENROUTER_API_KEY` | OpenRouter | Multi-provider gateway + default semantic embeddings key |
|
|
122
194
|
| `MISTRAL_API_KEY` | Mistral | |
|
|
123
195
|
| `MINIMAX_API_KEY` | MiniMax | |
|
|
124
196
|
| `KIMI_API_KEY` | Kimi | |
|
|
@@ -165,7 +237,7 @@ Profiles control the agent's behavior, available tools, and system prompt.
|
|
|
165
237
|
|
|
166
238
|
| Profile | Tools | Behavior |
|
|
167
239
|
|---------|-------|----------|
|
|
168
|
-
| `full` | All built-ins (read, bash, edit, write, grep, find, ls, rg, fd, ast_grep, comby, jq, yq, semgrep, sed) | Default full development capabilities |
|
|
240
|
+
| `full` | All built-ins (read, bash, edit, write, grep, find, ls, rg, fd, ast_grep, comby, jq, yq, semgrep, sed, semantic_search) | Default full development capabilities |
|
|
169
241
|
| `plan` | Read-only (read, grep, find, ls) | Architecture planning and code review |
|
|
170
242
|
| `iosm` | All + IOSM context | IOSM cycle execution with artifact synchronization |
|
|
171
243
|
|
package/docs/getting-started.md
CHANGED
|
@@ -92,6 +92,7 @@ You'll see a prompt where you can type messages. The agent has access to your fi
|
|
|
92
92
|
|---------|-------------|
|
|
93
93
|
| `/model` | Pick or change the active model |
|
|
94
94
|
| `/login` | Authenticate with OAuth providers (including Qwen) or add OpenRouter API key |
|
|
95
|
+
| `/semantic` | Configure semantic provider and index/query meaning-based code search |
|
|
95
96
|
| `/init` | Bootstrap IOSM artifacts for the current project |
|
|
96
97
|
| `/agents` | View available custom/system agents |
|
|
97
98
|
| `/settings` | View and modify settings |
|
package/docs/interactive-mode.md
CHANGED
|
@@ -53,6 +53,7 @@ iosm --continue
|
|
|
53
53
|
| `/model` | Open provider-first model selector (`provider -> model`) | `/model` |
|
|
54
54
|
| `/scoped-models` | Manage model rotation | `/scoped-models` |
|
|
55
55
|
| `/mcp` | Open MCP manager UI and run MCP subcommands | `/mcp` |
|
|
56
|
+
| `/semantic` | Open semantic search manager (`setup/status/index/rebuild/query`) | `/semantic` |
|
|
56
57
|
| `/memory` | Interactive memory manager (`add/edit/remove/scope/path`) | `/memory` |
|
|
57
58
|
| `/settings` | View/modify settings | `/settings` |
|
|
58
59
|
| `/hotkeys` | View keyboard shortcuts | `/hotkeys` |
|
|
@@ -97,6 +98,9 @@ iosm --continue
|
|
|
97
98
|
| `/logout` | Clear saved provider credentials | `/logout` |
|
|
98
99
|
|
|
99
100
|
`/mcp add` without flags starts a guided wizard in the terminal UI.
|
|
101
|
+
`/semantic` opens an interactive setup/status/index/query manager for embeddings search.
|
|
102
|
+
`/semantic setup` now auto-loads model catalogs for OpenRouter (`/api/v1/embeddings/models`) and Ollama (`/api/tags`) with manual fallback.
|
|
103
|
+
In `/semantic setup`, the headers step is optional: press `Enter` on empty input to skip.
|
|
100
104
|
`/memory` opens an interactive manager. `/memory <text>` saves a note to `memory.md` and reloads session context. Use `/memory edit <index> <text>` for direct updates.
|
|
101
105
|
|
|
102
106
|
---
|
|
@@ -161,7 +165,7 @@ Profiles change the agent's behavior, available tools, and system prompt:
|
|
|
161
165
|
|
|
162
166
|
| Profile | Tools | Use Case |
|
|
163
167
|
|---------|-------|----------|
|
|
164
|
-
| `full` | All built-ins (read, bash, edit, write, grep, find, ls, rg, fd, ast_grep, comby, jq, yq, semgrep, sed) | Default development work |
|
|
168
|
+
| `full` | All built-ins (read, bash, edit, write, grep, find, ls, rg, fd, ast_grep, comby, jq, yq, semgrep, sed, semantic_search) | Default development work |
|
|
165
169
|
| `plan` | Read-only (read, grep, find, ls) | Architecture planning, code review |
|
|
166
170
|
| `iosm` | All + IOSM context | IOSM cycle execution with artifact sync |
|
|
167
171
|
|