@cmflow/agents 3.4.0-alpha.1
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 +403 -0
- package/bin/cm-agents.ts +0 -0
- package/dist/bin/cm-agents.d.mts +2 -0
- package/dist/bin/cm-agents.mjs +372 -0
- package/dist/bin/cm-agents.mjs.map +1 -0
- package/package.json +37 -0
- package/scripts/clubmed-models.json +33 -0
- package/scripts/setup.ps1 +63 -0
- package/scripts/setup.sh +29 -0
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cmflow/agents",
|
|
3
|
+
"version": "3.4.0-alpha.1",
|
|
4
|
+
"description": "Tool to install all AI stuff for ClubMed devs on Codex and Claude",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "romakita",
|
|
7
|
+
"bin": "./dist/bin/cm-agents.mjs",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./package.json"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsdown",
|
|
14
|
+
"dev": "tsdown --watch",
|
|
15
|
+
"prepare": "yarn build",
|
|
16
|
+
"test": "vitest run",
|
|
17
|
+
"test:agent": "vitest run --agent"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@clack/prompts": "1.7.0",
|
|
21
|
+
"chalk": "6.0.0",
|
|
22
|
+
"cli-table3": "0.6.5",
|
|
23
|
+
"commander": "^15.0.0",
|
|
24
|
+
"execa": "10.0.1",
|
|
25
|
+
"figures": "6.1.0",
|
|
26
|
+
"fs-extra": "11.4.0",
|
|
27
|
+
"globby": "^16.2.4",
|
|
28
|
+
"lodash": "^4.18.1",
|
|
29
|
+
"minimatch": "^10.0.1",
|
|
30
|
+
"smol-toml": "^1.8.0",
|
|
31
|
+
"tsdown": "^0.22.14",
|
|
32
|
+
"typescript": "^7.0.2",
|
|
33
|
+
"vitest": "^3.0.8",
|
|
34
|
+
"yaml": "^2.9.0"
|
|
35
|
+
},
|
|
36
|
+
"email": "rom.lenzotti@gmail.com"
|
|
37
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"object": "list",
|
|
3
|
+
"data": [
|
|
4
|
+
{ "id": "gmdt-swc-gpt-5.3-codex", "object": "model", "owned_by": "clubmed" },
|
|
5
|
+
{ "id": "gmdt-eus2-gpt-5.3-codex", "object": "model", "owned_by": "clubmed" },
|
|
6
|
+
{ "id": "gmdt-swc-gpt-5.5", "object": "model", "owned_by": "clubmed" },
|
|
7
|
+
{ "id": "gmdt-eus2-gpt-5.5", "object": "model", "owned_by": "clubmed" },
|
|
8
|
+
{ "id": "gmdt-swc-claude-fable-5", "object": "model", "owned_by": "clubmed" },
|
|
9
|
+
{ "id": "gmdt-swc-claude-opus-4-8", "object": "model", "owned_by": "clubmed" },
|
|
10
|
+
{ "id": "gmdt-swc-claude-sonnet-5", "object": "model", "owned_by": "clubmed" },
|
|
11
|
+
{ "id": "gmdt-eus2-claude-sonnet-5", "object": "model", "owned_by": "clubmed" },
|
|
12
|
+
{ "id": "gmdt-swc-claude-sonnet-4-6", "object": "model", "owned_by": "clubmed" },
|
|
13
|
+
{ "id": "gmdt-eus2-claude-sonnet-4-6", "object": "model", "owned_by": "clubmed" },
|
|
14
|
+
{ "id": "gmdt-swc-claude-haiku-4-5", "object": "model", "owned_by": "clubmed" },
|
|
15
|
+
{ "id": "gmdt-eus2-claude-haiku-4-5", "object": "model", "owned_by": "clubmed" },
|
|
16
|
+
{ "id": "gmdt-swc-DeepSeek-V4-Pro", "object": "model", "owned_by": "clubmed" },
|
|
17
|
+
{ "id": "gmdt-eus2-DeepSeek-V4-Pro", "object": "model", "owned_by": "clubmed" },
|
|
18
|
+
{ "id": "gmdt-swc-DeepSeek-V4-Flash", "object": "model", "owned_by": "clubmed" },
|
|
19
|
+
{ "id": "gmdt-eus2-DeepSeek-V4-Flash", "object": "model", "owned_by": "clubmed" },
|
|
20
|
+
{ "id": "gmdt-swc-Kimi-K2.6", "object": "model", "owned_by": "clubmed" },
|
|
21
|
+
{ "id": "gmdt-eus2-Kimi-K2.6", "object": "model", "owned_by": "clubmed" },
|
|
22
|
+
{ "id": "gmdt-swc-Kimi-K2.7-Code", "object": "model", "owned_by": "clubmed" },
|
|
23
|
+
{ "id": "gmdt-eus2-Kimi-K2.7-Code", "object": "model", "owned_by": "clubmed" },
|
|
24
|
+
{ "id": "gmdt-eus2-FW-MiniMax-M2.5", "object": "model", "owned_by": "clubmed" },
|
|
25
|
+
{ "id": "gmdt-eus2-FW-MiniMax-M3", "object": "model", "owned_by": "clubmed" },
|
|
26
|
+
{ "id": "gmdt-eus2-FW-GLM-5.2", "object": "model", "owned_by": "clubmed" },
|
|
27
|
+
{ "id": "gmdt-eus2-FW-Kimi-K3", "object": "model", "owned_by": "clubmed" },
|
|
28
|
+
{ "id": "gmdt-swc-text-embedding-3-small", "object": "model", "owned_by": "clubmed" },
|
|
29
|
+
{ "id": "gmdt-eus2-text-embedding-3-small", "object": "model", "owned_by": "clubmed" },
|
|
30
|
+
{ "id": "gmdt-swc-text-embedding-3-large", "object": "model", "owned_by": "clubmed" },
|
|
31
|
+
{ "id": "gmdt-eus2-text-embedding-3-large", "object": "model", "owned_by": "clubmed" }
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#Requires -Version 5.1
|
|
2
|
+
<#
|
|
3
|
+
.SYNOPSIS
|
|
4
|
+
Club Med — AI Tools Bootstrap (Windows, non-admin)
|
|
5
|
+
.DESCRIPTION
|
|
6
|
+
Installs mise (via winget) + Node.js 24, then delegates to @cmflow/agents.
|
|
7
|
+
Usage : irm URL | iex
|
|
8
|
+
.PARAMETER Reinstall
|
|
9
|
+
Passed through to cm-agents install --reinstall.
|
|
10
|
+
#>
|
|
11
|
+
param([switch]$Reinstall)
|
|
12
|
+
|
|
13
|
+
Set-StrictMode -Version Latest
|
|
14
|
+
$ErrorActionPreference = 'Stop'
|
|
15
|
+
|
|
16
|
+
function RefreshPath {
|
|
17
|
+
$machine = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine')
|
|
18
|
+
$user = [System.Environment]::GetEnvironmentVariable('PATH', 'User')
|
|
19
|
+
$env:PATH = "$machine;$user"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function Has { param($cmd) [bool](Get-Command $cmd -ErrorAction SilentlyContinue) }
|
|
23
|
+
|
|
24
|
+
# ── 1 — Git (required by @cmflow/agents install) ──────────────────────────
|
|
25
|
+
if (-not (Has 'git')) {
|
|
26
|
+
Write-Host "Installing Git for Windows..."
|
|
27
|
+
winget install --id Git.Git --accept-source-agreements --accept-package-agreements --silent
|
|
28
|
+
RefreshPath
|
|
29
|
+
if (-not (Has 'git')) { throw "git not found after install. Reopen PowerShell and retry." }
|
|
30
|
+
Write-Host " git $(git --version)"
|
|
31
|
+
} else {
|
|
32
|
+
Write-Host " git $(git --version)"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
# ── 2 — mise ──────────────────────────────────────────────────────────────
|
|
36
|
+
if (-not (Has 'mise')) {
|
|
37
|
+
Write-Host "Installing mise via winget..."
|
|
38
|
+
winget install --id jdx.mise --accept-source-agreements --accept-package-agreements --silent
|
|
39
|
+
RefreshPath
|
|
40
|
+
}
|
|
41
|
+
if (-not (Has 'mise')) { throw "mise not found after install. Reopen PowerShell and retry." }
|
|
42
|
+
Write-Host " mise $(mise --version)"
|
|
43
|
+
|
|
44
|
+
$profileDir = Split-Path $PROFILE
|
|
45
|
+
if (-not (Test-Path $profileDir)) { New-Item -ItemType Directory -Path $profileDir -Force | Out-Null }
|
|
46
|
+
if (-not (Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force | Out-Null }
|
|
47
|
+
|
|
48
|
+
if (-not (Select-String -Path $PROFILE -Pattern 'mise activate' -Quiet)) {
|
|
49
|
+
Add-Content -Path $PROFILE -Value "`n(&mise activate pwsh) | Out-String | Invoke-Expression"
|
|
50
|
+
}
|
|
51
|
+
Invoke-Expression (& mise activate pwsh | Out-String)
|
|
52
|
+
|
|
53
|
+
# ── 3 — Node.js 24 ────────────────────────────────────────────────────────
|
|
54
|
+
$nodeInstalled = & mise ls node 2>$null | Select-String '24'
|
|
55
|
+
if (-not $nodeInstalled) {
|
|
56
|
+
mise use -g node@24
|
|
57
|
+
}
|
|
58
|
+
Write-Host " node $(node -v) · npm $(npm -v)"
|
|
59
|
+
|
|
60
|
+
# ── 4 — Delegate to @cmflow/agents ────────────────────────────────────────
|
|
61
|
+
$agentArgs = @('--yes', '@cmflow/agents@latest', 'install')
|
|
62
|
+
if ($Reinstall) { $agentArgs += '--reinstall' }
|
|
63
|
+
& npx @agentArgs
|
package/scripts/setup.sh
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Club Med — AI Tools Bootstrap (macOS / Linux)
|
|
3
|
+
# Installs mise + Node.js 24, then delegates to @cmflow/agents.
|
|
4
|
+
# Usage : curl -sSf URL | bash
|
|
5
|
+
# curl -sSf URL | bash -s -- --reinstall
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
MISE_BIN="$HOME/.local/bin/mise"
|
|
9
|
+
|
|
10
|
+
# ── 1 — mise ──────────────────────────────────────────────────────────────
|
|
11
|
+
if ! command -v mise &>/dev/null && [[ ! -x "$MISE_BIN" ]]; then
|
|
12
|
+
echo "Installing mise..."
|
|
13
|
+
curl -sSf "https://mise.run/${SHELL##*/}" | sh
|
|
14
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
15
|
+
elif [[ -x "$MISE_BIN" ]] && ! command -v mise &>/dev/null; then
|
|
16
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
eval "$(mise activate bash)"
|
|
20
|
+
echo " mise $(mise --version)"
|
|
21
|
+
|
|
22
|
+
# ── 2 — Node.js 24 ────────────────────────────────────────────────────────
|
|
23
|
+
if ! mise ls node 2>/dev/null | grep -q '24'; then
|
|
24
|
+
mise use -g node@24
|
|
25
|
+
fi
|
|
26
|
+
echo " node $(node -v) · npm $(npm -v)"
|
|
27
|
+
|
|
28
|
+
# ── 3 — Delegate to @cmflow/agents ────────────────────────────────────────
|
|
29
|
+
exec npx --yes @cmflow/agents@latest install "$@"
|