deel-local-cli 1.20.12 → 2.0.0
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.ko.md +96 -77
- package/README.md +119 -80
- package/bin/deel.js +398 -32
- package/package.json +2 -1
- package/src/acp/jsonrpc.js +87 -7
- package/src/acp/map.js +62 -13
- package/src/acp/serve.js +338 -30
- package/src/agent/agents.js +110 -12
- package/src/agent/askcheck.js +50 -6
- package/src/agent/asks.js +59 -5
- package/src/agent/budget.js +9 -2
- package/src/agent/card.js +8 -2
- package/src/agent/commit.js +168 -16
- package/src/agent/compact.js +93 -21
- package/src/agent/{/354/213/240/353/242/260/353/217/204.js → confidence.js} +1 -1
- package/src/agent/effort.js +85 -15
- package/src/agent/evidence.js +63 -7
- package/src/agent/evolve.js +132 -24
- package/src/agent/grade.js +12 -3
- package/src/agent/loop.js +408 -81
- package/src/agent/memory.js +176 -29
- package/src/agent/mention.js +22 -5
- package/src/agent/models.js +31 -7
- package/src/agent/modes.js +25 -10
- package/src/agent/outschema.js +381 -56
- package/src/agent/pins.js +33 -2
- package/src/agent/project.js +73 -8
- package/src/agent/recall.js +40 -9
- package/src/agent/{/354/204/261/355/225/234/352/270/260/353/241/235.js → recordshape.js} +19 -8
- package/src/agent/review.js +143 -13
- package/src/agent/route.js +506 -32
- package/src/agent/salvage.js +2 -1
- package/src/agent/session.js +457 -31
- package/src/agent/store.js +232 -22
- package/src/agent/threads.js +52 -3
- package/src/backend/adapter.js +508 -85
- package/src/backend/azure.js +12 -1
- package/src/backend/cachemark.js +31 -5
- package/src/backend/clientcert.js +23 -1
- package/src/backend/ctxsize.js +56 -9
- package/src/backend/detect.js +252 -19
- package/src/backend/http.js +383 -42
- package/src/backend/learn.js +101 -11
- package/src/backend/mcp.js +333 -24
- package/src/backend/price.js +61 -13
- package/src/backend/probe.js +188 -36
- package/src/backend/proxy.js +108 -14
- package/src/backend/quota.js +226 -30
- package/src/backend/retry.js +46 -3
- package/src/backend/scan.js +47 -10
- package/src/backend/scanui.js +57 -7
- package/src/backend/toolfit.js +204 -22
- package/src/backend/vision.js +14 -1
- package/src/backend/wire.js +58 -10
- package/src/cmdnames.js +16 -0
- package/src/commands/common.js +70 -0
- package/src/commands/extend.js +300 -0
- package/src/commands/model.js +852 -0
- package/src/commands/view.js +328 -0
- package/src/commands/work.js +823 -0
- package/src/commands.js +193 -2082
- package/src/completion.js +45 -3
- package/src/config.js +452 -39
- package/src/configexplain.js +125 -14
- package/src/doctor.js +164 -26
- package/src/i18n/en.js +22 -0
- package/src/i18n/index.js +31 -1
- package/src/i18n/ja.js +25 -1
- package/src/i18n/ko.js +25 -2
- package/src/i18n/zh.js +25 -1
- package/src/lsp/client.js +111 -9
- package/src/lsp/servers.js +86 -22
- package/src/oneshot.js +325 -65
- package/src/pack/sbom.js +28 -5
- package/src/pack/selfpack.js +54 -5
- package/src/pack/sheet.en.js +24 -3
- package/src/pack/tar.js +45 -8
- package/src/pack/zip.js +103 -8
- package/src/plugins/manage.js +165 -14
- package/src/preview/serve.js +239 -23
- package/src/providers/bedrock.js +30 -5
- package/src/providers/gemini.js +8 -0
- package/src/providers/index.js +17 -1
- package/src/repl.js +254 -61
- package/src/report.js +7 -2
- package/src/reset.js +151 -25
- package/src/safety/audit.js +108 -8
- package/src/safety/authcmd.js +75 -5
- package/src/safety/guard.js +507 -15
- package/src/safety/hooks.js +172 -20
- package/src/safety/keystore.js +178 -18
- package/src/safety/network.js +209 -6
- package/src/safety/policy.js +377 -36
- package/src/safety/runmode.js +9 -2
- package/src/safety/secrets.js +243 -17
- package/src/safety/shellenv.js +64 -3
- package/src/safety/trust.js +298 -32
- package/src/safety/undo.js +409 -17
- package/src/setup.js +175 -17
- package/src/skills/discover.js +122 -19
- package/src/stats.js +57 -16
- package/src/tools/{/355/231/225/354/235/270/353/262/225.js → checkmethods.js} +26 -1
- package/src/tools/clipboard.js +53 -20
- package/src/tools/convert.js +118 -37
- package/src/tools/desc.en.js +48 -5
- package/src/tools/doc2md.js +11 -1
- package/src/tools/docs.js +94 -18
- package/src/tools/edit-match.js +212 -13
- package/src/tools/encoding.js +525 -28
- package/src/tools/excel-com.js +63 -15
- package/src/tools/excel.js +12 -7
- package/src/tools/fastgrep.js +444 -36
- package/src/tools/fig.js +40 -9
- package/src/tools/fsutil.js +235 -21
- package/src/tools/hwpxwrite.js +80 -19
- package/src/tools/ignore.js +55 -7
- package/src/tools/index.js +1029 -145
- package/src/tools/jobs.js +325 -50
- package/src/tools/kiwi.js +50 -5
- package/src/tools/lsp.js +164 -32
- package/src/tools/outline.js +52 -12
- package/src/tools/pdf.js +366 -56
- package/src/tools/shell.js +12 -4
- package/src/tools/spawn.js +203 -18
- package/src/tools/todo.js +73 -4
- package/src/tools/verify.js +312 -43
- package/src/tools/webfetch.js +184 -25
- package/src/tools/xlsx.js +232 -31
- package/src/ui/ansi.js +209 -15
- package/src/ui/banner.js +2 -1
- package/src/ui/complete.js +46 -4
- package/src/ui/diff.js +4 -2
- package/src/ui/export.js +91 -17
- package/src/ui/inputbox.js +58 -18
- package/src/ui/intro.js +9 -2
- package/src/ui/level.js +32 -7
- package/src/ui/md.js +101 -15
- package/src/ui/motion.js +5 -2
- package/src/ui/notify.js +7 -1
- package/src/ui/office.js +37 -5
- package/src/ui/pastechip.js +3 -2
- package/src/ui/pick.js +85 -12
- package/src/ui/prompt.js +176 -13
- package/src/ui/screen.js +2 -1
- package/src/ui/spinner.js +6 -1
- package/src/ui/status.js +80 -12
- package/src/ui/wrap.js +23 -37
- /package/src/agent/{/353/213/250/352/263/204.js" → phase.js} +0 -0
- /package/src/skills/builtin/{/352/271/212/354/235/264/354/236/210/352/262/214-/353/247/214/353/223/244/352/270/260/SKILL.md" → build-deep/SKILL.md} +0 -0
- /package/src/skills/builtin/{/354/260/250/352/267/274/354/260/250/352/267/274-/353/224/224/353/262/204/352/271/205/SKILL.md" → debug-step-by-step/SKILL.md} +0 -0
- /package/src/skills/builtin/{/353/201/235/352/271/214/354/247/200-/355/225/230/352/270/260/SKILL.md" → finish-all/SKILL.md} +0 -0
- /package/src/skills/builtin/{/354/212/244/354/212/244/353/241/234-/352/262/200/355/206/240/SKILL.md" → self-review/SKILL.md} +0 -0
- /package/src/skills/builtin/{/354/275/224/353/223/234-/354/244/204/354/235/264/352/270/260/SKILL.md" → simplify-code/SKILL.md} +0 -0
- /package/src/skills/builtin/{/354/260/224/353/237/254/353/263/264/352/270/260/SKILL.md" → spike/SKILL.md} +0 -0
- /package/src/skills/builtin/{/352/262/200/354/202/254-/353/250/274/354/240/200/SKILL.md" → test-first/SKILL.md} +0 -0
package/src/completion.js
CHANGED
|
@@ -132,11 +132,21 @@ function bash판({ zsh = false } = {}) {
|
|
|
132
132
|
const 폴더깃발 = 깃발들.filter((x) => x.값 === '폴더').map((x) => x.이름);
|
|
133
133
|
const 파일깃발 = 깃발들.filter((x) => x.값 === '파일').map((x) => x.이름);
|
|
134
134
|
const 값갈래 = 값깃발.map((x) => ` ${x.이름}) COMPREPLY=( $(compgen -W ${홑따옴표(x.값.join(' '))} -- "$cur") ); return 0 ;;`).join('\n');
|
|
135
|
+
/*
|
|
136
|
+
* ── 파일·폴더 후보는 줄 단위로 받는다 (사냥5 H5-11) ──────────────────────
|
|
137
|
+
*
|
|
138
|
+
* `COMPREPLY=( $(compgen -f -- "$cur") )` 는 compgen 이 낸 줄을 **빈칸에서도**
|
|
139
|
+
* 자르고, 자른 조각을 글롭으로 한 번 더 편다. 그래서 `my file.txt` 는 `my` 와
|
|
140
|
+
* `file.txt` 두 후보가 되어, 탭을 누르면 없는 이름이 들어갔다. 빈칸 든 이름은
|
|
141
|
+
* 윈도우 사용자 폴더(`Program Files`, `내 문서`)에서 보통이다. 한 줄씩 읽어
|
|
142
|
+
* 담고, `compopt -o filenames` 로 넣을 때 빈칸을 셸이 씌우게 한다(bash 4+.
|
|
143
|
+
* 없는 셸에서는 조용히 넘어간다 — 후보는 이미 온전하다).
|
|
144
|
+
*/
|
|
135
145
|
const 폴더갈래 = 폴더깃발.length
|
|
136
|
-
? ` ${폴더깃발.join('|')})
|
|
146
|
+
? ` ${폴더깃발.join('|')}) _deel_paths -d; return 0 ;;`
|
|
137
147
|
: '';
|
|
138
148
|
const 파일갈래 = 파일깃발.length
|
|
139
|
-
? ` ${파일깃발.join('|')})
|
|
149
|
+
? ` ${파일깃발.join('|')}) _deel_paths -f; return 0 ;;`
|
|
140
150
|
: '';
|
|
141
151
|
|
|
142
152
|
return `# deel 탭 완성 (${zsh ? 'zsh' : 'bash'})
|
|
@@ -145,6 +155,15 @@ function bash판({ zsh = false } = {}) {
|
|
|
145
155
|
# deel completion ${zsh ? 'zsh' : 'bash'} > ~/.deel-completion.${zsh ? 'zsh' : 'bash'}
|
|
146
156
|
# echo 'source ~/.deel-completion.${zsh ? 'zsh' : 'bash'}' >> ~/.${zsh ? 'zshrc' : 'bashrc'}
|
|
147
157
|
${zsh ? '\nautoload -U +X bashcompinit && bashcompinit\n' : ''}
|
|
158
|
+
# 파일(-f)·폴더(-d) 후보를 한 줄에 하나씩 담는다. 빈칸 든 이름이 조각나지 않게.
|
|
159
|
+
_deel_paths() {
|
|
160
|
+
COMPREPLY=()
|
|
161
|
+
local _deel_l
|
|
162
|
+
while IFS= read -r _deel_l; do COMPREPLY+=("$_deel_l"); done < <(compgen "$1" -- "$cur")
|
|
163
|
+
compopt -o filenames 2>/dev/null
|
|
164
|
+
return 0
|
|
165
|
+
}
|
|
166
|
+
|
|
148
167
|
_deel() {
|
|
149
168
|
local cur prev
|
|
150
169
|
cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
@@ -175,7 +194,7 @@ ${파일갈래}
|
|
|
175
194
|
if [[ -z "$cmd" ]]; then
|
|
176
195
|
COMPREPLY=( $(compgen -W ${홑따옴표(이름만().join(' '))} -- "$cur") )
|
|
177
196
|
else
|
|
178
|
-
|
|
197
|
+
_deel_paths -f
|
|
179
198
|
fi
|
|
180
199
|
}
|
|
181
200
|
complete -F _deel deel
|
|
@@ -215,6 +234,16 @@ function 파워셸판() {
|
|
|
215
234
|
.filter((x) => Array.isArray(x.값))
|
|
216
235
|
.map((x) => ` ${파워셸따옴표(x.이름)} = @(${x.값.map(파워셸따옴표).join(', ')})`)
|
|
217
236
|
.join('\n');
|
|
237
|
+
/*
|
|
238
|
+
* ── 경로를 받는 자리에 명령 이름을 냈다 (사냥5 H5-12) ─────────────────────
|
|
239
|
+
*
|
|
240
|
+
* 이 판에는 「그 밖이면 명령」 갈래 하나뿐이었다. 그래서 `deel --root <탭>` 에 폴더
|
|
241
|
+
* 대신 명령 스물두 개가 떴고, `deel sessions <탭>` 처럼 명령을 이미 고른 뒤에도 또
|
|
242
|
+
* 명령을 냈다. bash 판은 그 두 자리를 셸의 파일 완성에 맡긴다. 파워셸은 완성기가
|
|
243
|
+
* **아무것도 안 내면** 제 경로 완성으로 돌아간다(빈칸 든 이름에 따옴표도 씌운다)
|
|
244
|
+
* — 흉내 내지 않고 그걸 쓴다. 경로 깃발 목록은 위 깃발들 에서 뽑는다.
|
|
245
|
+
*/
|
|
246
|
+
const 경로깃발 = 깃발들.filter((x) => x.값 === '폴더' || x.값 === '파일').map((x) => 파워셸따옴표(x.이름));
|
|
218
247
|
|
|
219
248
|
// 파워셸은 완성 후보에 설명을 같이 실을 수 있다. 탭을 누르면 뜻이 같이 뜬다.
|
|
220
249
|
return `# deel tab completion (PowerShell)
|
|
@@ -264,6 +293,11 @@ ${값목록}
|
|
|
264
293
|
ForEach-Object { [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) }
|
|
265
294
|
}
|
|
266
295
|
|
|
296
|
+
# After a flag that takes a path: return nothing, so PowerShell falls back to
|
|
297
|
+
# its own path completion (it also quotes names with spaces).
|
|
298
|
+
$pathFlags = @(${경로깃발.join(', ')})
|
|
299
|
+
if ($pathFlags -contains $prev) { return }
|
|
300
|
+
|
|
267
301
|
# Typing a flag: offer flags only.
|
|
268
302
|
if ($wordToComplete -like '-*') {
|
|
269
303
|
return $flags |
|
|
@@ -271,6 +305,14 @@ ${값목록}
|
|
|
271
305
|
ForEach-Object { [System.Management.Automation.CompletionResult]::new($_.name, $_.name, 'ParameterName', $_.help) }
|
|
272
306
|
}
|
|
273
307
|
|
|
308
|
+
# A command was already given: its arguments are files, same as the bash
|
|
309
|
+
# version. Look only at the words before the one being typed.
|
|
310
|
+
$before = $words.Count
|
|
311
|
+
if ($wordToComplete -ne '') { $before = $words.Count - 1 }
|
|
312
|
+
for ($i = 1; $i -lt $before; $i++) {
|
|
313
|
+
if (-not $words[$i].StartsWith('-')) { return }
|
|
314
|
+
}
|
|
315
|
+
|
|
274
316
|
# Otherwise: commands.
|
|
275
317
|
$cmds |
|
|
276
318
|
Where-Object { $_.name -like "$wordToComplete*" } |
|