@aicraftalchemy/aca 0.0.2 → 0.0.4
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/install.cjs +37 -0
- package/package.json +1 -1
package/install.cjs
CHANGED
|
@@ -72,6 +72,43 @@ async function main() {
|
|
|
72
72
|
const dest = path.join(binDir, process.platform === 'win32' ? 'aca.exe' : 'aca')
|
|
73
73
|
fs.writeFileSync(dest, bin)
|
|
74
74
|
if (process.platform !== 'win32') fs.chmodSync(dest, 0o755)
|
|
75
|
+
|
|
76
|
+
// Also fetch the sibling ripgrep binary. `bun build --compile` does not embed
|
|
77
|
+
// ripgrep, so ACA resolves this `rg` next to itself at runtime — it powers
|
|
78
|
+
// Grep, Glob, and @-mention file search. Best-effort: a failure here must not
|
|
79
|
+
// block install (ACA falls back to a pure-Node file walk for listing).
|
|
80
|
+
if (info.rg) {
|
|
81
|
+
try {
|
|
82
|
+
const rgBuf = await get(`${BASE}/${info.rg.file}`)
|
|
83
|
+
const rgSha = crypto.createHash('sha256').update(rgBuf).digest('hex')
|
|
84
|
+
if (rgSha !== info.rg.sha256) {
|
|
85
|
+
throw new Error(`expected ${info.rg.sha256}, got ${rgSha}`)
|
|
86
|
+
}
|
|
87
|
+
const rgDest = path.join(binDir, process.platform === 'win32' ? 'rg.exe' : 'rg')
|
|
88
|
+
fs.writeFileSync(rgDest, rgBuf)
|
|
89
|
+
if (process.platform !== 'win32') fs.chmodSync(rgDest, 0o755)
|
|
90
|
+
} catch (e) {
|
|
91
|
+
console.warn(`ACA: bundled ripgrep unavailable (${e.message}); search features may be limited.`)
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Also fetch the IDE companion extension (.vsix) — platform-independent. The
|
|
96
|
+
// CLI installs it into VS Code / Cursor / Windsurf from this local file, so
|
|
97
|
+
// there is no VS Code Marketplace dependency. Best-effort: a failure here must
|
|
98
|
+
// not block install (in-editor diffs just won't be available).
|
|
99
|
+
if (manifest.extension) {
|
|
100
|
+
try {
|
|
101
|
+
const vsixBuf = await get(`${BASE}/${manifest.extension.file}`)
|
|
102
|
+
const vsixSha = crypto.createHash('sha256').update(vsixBuf).digest('hex')
|
|
103
|
+
if (vsixSha !== manifest.extension.sha256) {
|
|
104
|
+
throw new Error(`expected ${manifest.extension.sha256}, got ${vsixSha}`)
|
|
105
|
+
}
|
|
106
|
+
fs.writeFileSync(path.join(binDir, 'aca.vsix'), vsixBuf)
|
|
107
|
+
} catch (e) {
|
|
108
|
+
console.warn(`ACA: IDE extension unavailable (${e.message}); in-editor diffs may be limited.`)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
75
112
|
console.log(`ACA ${VERSION} installed for ${key}.`)
|
|
76
113
|
}
|
|
77
114
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aicraftalchemy/aca",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "ACA — agentic coding CLI. Any model, any provider (Claude, Gemini, OpenAI, NVIDIA, Groq, Cerebras, OpenRouter, Hugging Face). Developed by Aicraftalchemy.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"bin": {
|