@safeskill/cli 0.2.2 → 0.3.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/CHANGELOG.md +10 -0
- package/README.md +99 -55
- package/dist/_chunks/libs/common.mjs +138 -8
- package/dist/_chunks/rolldown-runtime.mjs +10 -1
- package/dist/cli.mjs +2553 -737
- package/package.json +32 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
- Added upstream synchronization infrastructure with `vercel-labs/skills` kept as a subtree reference under `upstream/vercel-labs-skills`.
|
|
6
|
+
- Added metadata sanitization, local frontmatter parsing, GitHub blob tree utilities, bounded nested skill discovery, and improved Git source parsing and clone fallback behavior.
|
|
7
|
+
- Reworked `safeskill check` and `safeskill update` around scoped update orchestration while preserving SafeSkill hub sources, region routing, `resolvedVersion`, and `artifactDigest` lock metadata.
|
|
8
|
+
- Added `safeskill use` for one-shot skill prompt generation from local, GitHub, well-known, and SafeSkill hub sources.
|
|
9
|
+
- Expanded supported agent targets, including Eve subagents and additional upstream agent definitions, while retaining SafeSkill-specific `flocks` and `kimi-cli` support.
|
|
10
|
+
- Added agent environment detection via `@vercel/detect-agent`, including banner suppression and non-interactive `find` guidance in detected agent environments.
|
|
11
|
+
- Updated the test script to exclude subtree and temporary worktree test suites from normal project verification.
|
|
12
|
+
|
|
3
13
|
## 0.2.2
|
|
4
14
|
|
|
5
15
|
- Added cross-region hub resolve fallback when the selected SafeSkill hub returns a server error.
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ The SafeSkill CLI for the open agent skills ecosystem.
|
|
|
6
6
|
|
|
7
7
|
<!-- agent-list:start -->
|
|
8
8
|
|
|
9
|
-
Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [
|
|
9
|
+
Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [70 more](#available-agents).
|
|
10
10
|
|
|
11
11
|
<!-- agent-list:end -->
|
|
12
12
|
|
|
@@ -78,9 +78,9 @@ npx @safeskill/cli add safeskill://official/acme/code-review@1.2.0
|
|
|
78
78
|
|
|
79
79
|
### Global Options
|
|
80
80
|
|
|
81
|
-
| Option
|
|
82
|
-
|
|
|
83
|
-
| `--region <cn
|
|
81
|
+
| Option | Description |
|
|
82
|
+
| ------------------------ | ------------------------------------------------------------------------------------------------------------ |
|
|
83
|
+
| `--region <cn\|global>` | Use a specific SafeSkill service region for this run. Overrides `SAFESKILL_REGION`; otherwise auto-detected. |
|
|
84
84
|
|
|
85
85
|
### Examples
|
|
86
86
|
|
|
@@ -131,8 +131,8 @@ When installing interactively, you can choose:
|
|
|
131
131
|
|
|
132
132
|
## Other Commands
|
|
133
133
|
|
|
134
|
-
| Command
|
|
135
|
-
|
|
|
134
|
+
| Command | Description |
|
|
135
|
+
| ------------------------------------ | ---------------------------------------------- |
|
|
136
136
|
| `npx @safeskill/cli list` | List installed skills (alias: `ls`) |
|
|
137
137
|
| `npx @safeskill/cli find [query]` | Search for skills interactively or by keyword |
|
|
138
138
|
| `npx @safeskill/cli remove [skills]` | Remove installed skills from agents |
|
|
@@ -247,49 +247,73 @@ Skills can be installed to any of these agents:
|
|
|
247
247
|
|
|
248
248
|
<!-- supported-agents:start -->
|
|
249
249
|
|
|
250
|
-
| Agent
|
|
251
|
-
|
|
|
252
|
-
|
|
|
253
|
-
|
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
|
|
|
258
|
-
|
|
|
259
|
-
|
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
|
|
|
263
|
-
|
|
|
264
|
-
|
|
|
265
|
-
|
|
|
266
|
-
|
|
|
267
|
-
|
|
|
268
|
-
|
|
|
269
|
-
|
|
|
270
|
-
|
|
|
271
|
-
|
|
|
272
|
-
|
|
|
273
|
-
|
|
|
274
|
-
|
|
|
275
|
-
|
|
|
276
|
-
|
|
|
277
|
-
|
|
|
278
|
-
|
|
|
279
|
-
|
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
|
|
|
284
|
-
|
|
|
285
|
-
|
|
|
286
|
-
|
|
|
287
|
-
|
|
|
288
|
-
|
|
|
289
|
-
|
|
|
290
|
-
|
|
|
291
|
-
|
|
|
292
|
-
|
|
|
250
|
+
| Agent | `--agent` | Project Path | Global Path |
|
|
251
|
+
| -------------------------------------------- | -------------------------------------------------------- | ------------------------- | ----------------------------------- |
|
|
252
|
+
| AiderDesk | `aider-desk` | `.aider-desk/skills/` | `~/.aider-desk/skills/` |
|
|
253
|
+
| Amp, Kimi CLI, Replit, Universal | `amp`, `kimi-cli`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
|
|
254
|
+
| Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
|
|
255
|
+
| Antigravity CLI | `antigravity-cli` | `.agents/skills/` | `~/.gemini/antigravity-cli/skills/` |
|
|
256
|
+
| AstrBot | `astrbot` | `data/skills/` | `~/.astrbot/data/skills/` |
|
|
257
|
+
| Autohand Code CLI | `autohand-code` | `.autohand/skills/` | `~/.autohand/skills/` |
|
|
258
|
+
| Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
|
|
259
|
+
| IBM Bob | `bob` | `.bob/skills/` | `~/.bob/skills/` |
|
|
260
|
+
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
|
261
|
+
| OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
|
|
262
|
+
| Cline, Dexto, Kimi Code CLI, Loaf, Warp, Zed | `cline`, `dexto`, `kimi-code-cli`, `loaf`, `warp`, `zed` | `.agents/skills/` | `~/.agents/skills/` |
|
|
263
|
+
| CodeArts Agent | `codearts-agent` | `.codeartsdoer/skills/` | `~/.codeartsdoer/skills/` |
|
|
264
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
|
265
|
+
| Codemaker | `codemaker` | `.codemaker/skills/` | `~/.codemaker/skills/` |
|
|
266
|
+
| Code Studio | `codestudio` | `.codestudio/skills/` | `~/.codestudio/skills/` |
|
|
267
|
+
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
|
268
|
+
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
|
269
|
+
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
|
270
|
+
| Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
|
|
271
|
+
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
|
272
|
+
| Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
|
|
273
|
+
| Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
|
|
274
|
+
| Devin for Terminal | `devin` | `.devin/skills/` | `~/.config/devin/skills/` |
|
|
275
|
+
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
|
276
|
+
| Eve | `eve` | `agent/skills/` | N/A (project-only) |
|
|
277
|
+
| Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
|
|
278
|
+
| ForgeCode | `forgecode` | `.forge/skills/` | `~/.forge/skills/` |
|
|
279
|
+
| Flocks | `flocks` | `.flocks/plugins/skills/` | `~/.flocks/plugins/skills/` |
|
|
280
|
+
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
|
281
|
+
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
|
282
|
+
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
|
283
|
+
| Hermes Agent | `hermes-agent` | `.hermes/skills/` | `~/.hermes/skills/` |
|
|
284
|
+
| inference.sh | `inference-sh` | `.inferencesh/skills/` | `~/.inferencesh/skills/` |
|
|
285
|
+
| Jazz | `jazz` | `.jazz/skills/` | `~/.jazz/skills/` |
|
|
286
|
+
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
|
287
|
+
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
|
288
|
+
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
|
289
|
+
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
|
290
|
+
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
|
291
|
+
| Lingma | `lingma` | `.lingma/skills/` | `~/.lingma/skills/` |
|
|
292
|
+
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
|
293
|
+
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
|
294
|
+
| Moxby | `moxby` | `.moxby/skills/` | `~/.moxby/skills/` |
|
|
295
|
+
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
|
296
|
+
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
|
297
|
+
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
|
298
|
+
| Ona | `ona` | `.ona/skills/` | `~/.ona/skills/` |
|
|
299
|
+
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
|
300
|
+
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
|
301
|
+
| Qoder CN | `qoder-cn` | `.qoder/skills/` | `~/.qoder-cn/skills/` |
|
|
302
|
+
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
|
303
|
+
| Reasonix | `reasonix` | `.reasonix/skills/` | `~/.reasonix/skills/` |
|
|
304
|
+
| Rovo Dev | `rovodev` | `.rovodev/skills/` | `~/.rovodev/skills/` |
|
|
305
|
+
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
|
306
|
+
| Tabnine CLI | `tabnine-cli` | `.tabnine/agent/skills/` | `~/.tabnine/agent/skills/` |
|
|
307
|
+
| Terramind | `terramind` | `.terramind/skills/` | `~/.terramind/skills/` |
|
|
308
|
+
| Tinycloud | `tinycloud` | `.tinycloud/skills/` | `~/.tinycloud/skills/` |
|
|
309
|
+
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
|
310
|
+
| Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
|
|
311
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
312
|
+
| Zencoder, Zenflow | `zencoder`, `zenflow` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
|
313
|
+
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
|
314
|
+
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
|
315
|
+
| PromptScript | `promptscript` | `.agents/skills/` | N/A (project-only) |
|
|
316
|
+
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
|
293
317
|
|
|
294
318
|
<!-- supported-agents:end -->
|
|
295
319
|
|
|
@@ -361,38 +385,58 @@ The CLI searches for skills in these locations within a repository:
|
|
|
361
385
|
- `skills/.curated/`
|
|
362
386
|
- `skills/.experimental/`
|
|
363
387
|
- `skills/.system/`
|
|
388
|
+
- `.aider-desk/skills/`
|
|
364
389
|
- `.agents/skills/`
|
|
390
|
+
- `./data/skills/`
|
|
391
|
+
- `.autohand/skills/`
|
|
365
392
|
- `.augment/skills/`
|
|
393
|
+
- `.bob/skills/`
|
|
366
394
|
- `.claude/skills/`
|
|
367
395
|
- `./skills/`
|
|
396
|
+
- `.codeartsdoer/skills/`
|
|
368
397
|
- `.codebuddy/skills/`
|
|
398
|
+
- `.codemaker/skills/`
|
|
399
|
+
- `.codestudio/skills/`
|
|
369
400
|
- `.commandcode/skills/`
|
|
370
401
|
- `.continue/skills/`
|
|
371
402
|
- `.cortex/skills/`
|
|
372
403
|
- `.crush/skills/`
|
|
404
|
+
- `.devin/skills/`
|
|
373
405
|
- `.factory/skills/`
|
|
406
|
+
- `./agent/skills/`
|
|
407
|
+
- `.forge/skills/`
|
|
374
408
|
- `.flocks/plugins/skills/`
|
|
375
409
|
- `.goose/skills/`
|
|
410
|
+
- `.hermes/skills/`
|
|
411
|
+
- `.inferencesh/skills/`
|
|
412
|
+
- `.jazz/skills/`
|
|
376
413
|
- `.junie/skills/`
|
|
377
414
|
- `.iflow/skills/`
|
|
378
415
|
- `.kilocode/skills/`
|
|
379
416
|
- `.kiro/skills/`
|
|
380
417
|
- `.kode/skills/`
|
|
418
|
+
- `.lingma/skills/`
|
|
381
419
|
- `.mcpjam/skills/`
|
|
382
420
|
- `.vibe/skills/`
|
|
421
|
+
- `.moxby/skills/`
|
|
383
422
|
- `.mux/skills/`
|
|
384
423
|
- `.openhands/skills/`
|
|
424
|
+
- `.ona/skills/`
|
|
385
425
|
- `.pi/skills/`
|
|
386
426
|
- `.qoder/skills/`
|
|
387
427
|
- `.qwen/skills/`
|
|
428
|
+
- `.reasonix/skills/`
|
|
429
|
+
- `.rovodev/skills/`
|
|
388
430
|
- `.roo/skills/`
|
|
431
|
+
- `.tabnine/agent/skills/`
|
|
432
|
+
- `.terramind/skills/`
|
|
433
|
+
- `.tinycloud/skills/`
|
|
389
434
|
- `.trae/skills/`
|
|
390
435
|
- `.windsurf/skills/`
|
|
391
436
|
- `.zencoder/skills/`
|
|
392
437
|
- `.neovate/skills/`
|
|
393
438
|
- `.pochi/skills/`
|
|
394
439
|
- `.adal/skills/`
|
|
395
|
-
|
|
396
440
|
<!-- skill-discovery:end -->
|
|
397
441
|
|
|
398
442
|
### Plugin Manifest Discovery
|
|
@@ -447,12 +491,12 @@ Ensure you have write access to the target directory.
|
|
|
447
491
|
|
|
448
492
|
## Environment Variables
|
|
449
493
|
|
|
450
|
-
| Variable | Description
|
|
451
|
-
| ------------------------- |
|
|
452
|
-
| `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true`
|
|
494
|
+
| Variable | Description |
|
|
495
|
+
| ------------------------- | ------------------------------------------------------------------------------------ |
|
|
496
|
+
| `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true` |
|
|
453
497
|
| `SAFESKILL_REGION` | Optional fallback service region (`cn` or `global`) when `--region` is not specified |
|
|
454
|
-
| `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry
|
|
455
|
-
| `DO_NOT_TRACK` | Alternative way to disable telemetry
|
|
498
|
+
| `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry |
|
|
499
|
+
| `DO_NOT_TRACK` | Alternative way to disable telemetry |
|
|
456
500
|
|
|
457
501
|
```bash
|
|
458
502
|
# Install internal skills
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { spawn } from "child_process";
|
|
1
|
+
import { i as __toESM, r as __require, t as __commonJSMin } from "../rolldown-runtime.mjs";
|
|
3
2
|
import path from "path";
|
|
4
|
-
import os from "os";
|
|
5
3
|
import { stripVTControlCharacters } from "node:util";
|
|
6
4
|
import y, { stdin, stdout } from "node:process";
|
|
7
5
|
import * as g from "node:readline";
|
|
8
6
|
import O from "node:readline";
|
|
9
7
|
import { Writable } from "node:stream";
|
|
8
|
+
import os from "os";
|
|
10
9
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
10
|
+
import { spawn } from "child_process";
|
|
11
11
|
import { normalize as normalize$1 } from "node:path";
|
|
12
12
|
import { EventEmitter } from "node:events";
|
|
13
13
|
var require_src$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
@@ -1735,14 +1735,14 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
1735
1735
|
exports.FOLDER = 2;
|
|
1736
1736
|
exports.READABLE = exports.FILE + exports.FOLDER;
|
|
1737
1737
|
}));
|
|
1738
|
-
var require_dist$
|
|
1738
|
+
var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1739
1739
|
function __export(m) {
|
|
1740
1740
|
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
1741
1741
|
}
|
|
1742
1742
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1743
1743
|
__export(require_src());
|
|
1744
1744
|
}));
|
|
1745
|
-
var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1745
|
+
var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1746
1746
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1747
1747
|
exports.createDeferred = exports.deferred = void 0;
|
|
1748
1748
|
function deferred() {
|
|
@@ -1777,9 +1777,9 @@ var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
1777
1777
|
exports.deferred = deferred;
|
|
1778
1778
|
exports.createDeferred = deferred;
|
|
1779
1779
|
}));
|
|
1780
|
-
var import_dist = require_dist$
|
|
1780
|
+
var import_dist = require_dist$2();
|
|
1781
1781
|
var import_src = /* @__PURE__ */ __toESM(require_src$1(), 1);
|
|
1782
|
-
var import_dist$1 = require_dist();
|
|
1782
|
+
var import_dist$1 = require_dist$1();
|
|
1783
1783
|
var __defProp = Object.defineProperty;
|
|
1784
1784
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
1785
1785
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -14526,4 +14526,134 @@ const xdgDataDirectories = (env.XDG_DATA_DIRS || "/usr/local/share/:/usr/share/"
|
|
|
14526
14526
|
if (xdgData) xdgDataDirectories.unshift(xdgData);
|
|
14527
14527
|
const xdgConfigDirectories = (env.XDG_CONFIG_DIRS || "/etc/xdg").split(":");
|
|
14528
14528
|
if (xdgConfig) xdgConfigDirectories.unshift(xdgConfig);
|
|
14529
|
-
|
|
14529
|
+
var require_dist = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
14530
|
+
var __defProp = Object.defineProperty;
|
|
14531
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
14532
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14533
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14534
|
+
var __export = (target, all) => {
|
|
14535
|
+
for (var name in all) __defProp(target, name, {
|
|
14536
|
+
get: all[name],
|
|
14537
|
+
enumerable: true
|
|
14538
|
+
});
|
|
14539
|
+
};
|
|
14540
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14541
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14542
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14543
|
+
get: () => from[key],
|
|
14544
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14545
|
+
});
|
|
14546
|
+
}
|
|
14547
|
+
return to;
|
|
14548
|
+
};
|
|
14549
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14550
|
+
var src_exports = {};
|
|
14551
|
+
__export(src_exports, {
|
|
14552
|
+
KNOWN_AGENTS: () => KNOWN_AGENTS,
|
|
14553
|
+
determineAgent: () => determineAgent
|
|
14554
|
+
});
|
|
14555
|
+
module.exports = __toCommonJS(src_exports);
|
|
14556
|
+
var import_promises = __require("node:fs/promises");
|
|
14557
|
+
var import_node_fs = __require("node:fs");
|
|
14558
|
+
const DEVIN_LOCAL_PATH = "/opt/.devin";
|
|
14559
|
+
const CURSOR = "cursor";
|
|
14560
|
+
const CURSOR_CLI = "cursor-cli";
|
|
14561
|
+
const CLAUDE = "claude";
|
|
14562
|
+
const COWORK = "cowork";
|
|
14563
|
+
const DEVIN = "devin";
|
|
14564
|
+
const REPLIT = "replit";
|
|
14565
|
+
const GEMINI = "gemini";
|
|
14566
|
+
const CODEX = "codex";
|
|
14567
|
+
const ANTIGRAVITY = "antigravity";
|
|
14568
|
+
const AUGMENT_CLI = "augment-cli";
|
|
14569
|
+
const OPENCODE = "opencode";
|
|
14570
|
+
const GITHUB_COPILOT = "github-copilot";
|
|
14571
|
+
const GITHUB_COPILOT_CLI = "github-copilot-cli";
|
|
14572
|
+
const KNOWN_AGENTS = {
|
|
14573
|
+
CURSOR,
|
|
14574
|
+
CURSOR_CLI,
|
|
14575
|
+
CLAUDE,
|
|
14576
|
+
COWORK,
|
|
14577
|
+
DEVIN,
|
|
14578
|
+
REPLIT,
|
|
14579
|
+
GEMINI,
|
|
14580
|
+
CODEX,
|
|
14581
|
+
ANTIGRAVITY,
|
|
14582
|
+
AUGMENT_CLI,
|
|
14583
|
+
OPENCODE,
|
|
14584
|
+
GITHUB_COPILOT
|
|
14585
|
+
};
|
|
14586
|
+
async function determineAgent() {
|
|
14587
|
+
if (process.env.AI_AGENT) {
|
|
14588
|
+
const name = process.env.AI_AGENT.trim();
|
|
14589
|
+
if (name) {
|
|
14590
|
+
if (name === GITHUB_COPILOT || name === GITHUB_COPILOT_CLI) return {
|
|
14591
|
+
isAgent: true,
|
|
14592
|
+
agent: { name: GITHUB_COPILOT }
|
|
14593
|
+
};
|
|
14594
|
+
return {
|
|
14595
|
+
isAgent: true,
|
|
14596
|
+
agent: { name }
|
|
14597
|
+
};
|
|
14598
|
+
}
|
|
14599
|
+
}
|
|
14600
|
+
if (process.env.CURSOR_TRACE_ID) return {
|
|
14601
|
+
isAgent: true,
|
|
14602
|
+
agent: { name: CURSOR }
|
|
14603
|
+
};
|
|
14604
|
+
if (process.env.CURSOR_AGENT) return {
|
|
14605
|
+
isAgent: true,
|
|
14606
|
+
agent: { name: CURSOR_CLI }
|
|
14607
|
+
};
|
|
14608
|
+
if (process.env.GEMINI_CLI) return {
|
|
14609
|
+
isAgent: true,
|
|
14610
|
+
agent: { name: GEMINI }
|
|
14611
|
+
};
|
|
14612
|
+
if (process.env.CODEX_SANDBOX || process.env.CODEX_CI || process.env.CODEX_THREAD_ID) return {
|
|
14613
|
+
isAgent: true,
|
|
14614
|
+
agent: { name: CODEX }
|
|
14615
|
+
};
|
|
14616
|
+
if (process.env.ANTIGRAVITY_AGENT) return {
|
|
14617
|
+
isAgent: true,
|
|
14618
|
+
agent: { name: ANTIGRAVITY }
|
|
14619
|
+
};
|
|
14620
|
+
if (process.env.AUGMENT_AGENT) return {
|
|
14621
|
+
isAgent: true,
|
|
14622
|
+
agent: { name: AUGMENT_CLI }
|
|
14623
|
+
};
|
|
14624
|
+
if (process.env.OPENCODE_CLIENT) return {
|
|
14625
|
+
isAgent: true,
|
|
14626
|
+
agent: { name: OPENCODE }
|
|
14627
|
+
};
|
|
14628
|
+
if (process.env.CLAUDECODE || process.env.CLAUDE_CODE) {
|
|
14629
|
+
if (process.env.CLAUDE_CODE_IS_COWORK) return {
|
|
14630
|
+
isAgent: true,
|
|
14631
|
+
agent: { name: COWORK }
|
|
14632
|
+
};
|
|
14633
|
+
return {
|
|
14634
|
+
isAgent: true,
|
|
14635
|
+
agent: { name: CLAUDE }
|
|
14636
|
+
};
|
|
14637
|
+
}
|
|
14638
|
+
if (process.env.REPL_ID) return {
|
|
14639
|
+
isAgent: true,
|
|
14640
|
+
agent: { name: REPLIT }
|
|
14641
|
+
};
|
|
14642
|
+
if (process.env.COPILOT_MODEL || process.env.COPILOT_ALLOW_ALL || process.env.COPILOT_GITHUB_TOKEN) return {
|
|
14643
|
+
isAgent: true,
|
|
14644
|
+
agent: { name: GITHUB_COPILOT }
|
|
14645
|
+
};
|
|
14646
|
+
try {
|
|
14647
|
+
await (0, import_promises.access)(DEVIN_LOCAL_PATH, import_node_fs.constants.F_OK);
|
|
14648
|
+
return {
|
|
14649
|
+
isAgent: true,
|
|
14650
|
+
agent: { name: DEVIN }
|
|
14651
|
+
};
|
|
14652
|
+
} catch (_error) {}
|
|
14653
|
+
return {
|
|
14654
|
+
isAgent: false,
|
|
14655
|
+
agent: void 0
|
|
14656
|
+
};
|
|
14657
|
+
}
|
|
14658
|
+
}));
|
|
14659
|
+
export { require_picocolors as _, esm_default as a, Me as c, be as d, fe as f, pD as g, ye as h, require_yauzl as i, Se as l, xe as m, xdgConfig as n, Ie as o, ve as p, require_gray_matter as r, M as s, require_dist as t, Y as u };
|
|
@@ -6,6 +6,15 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
8
|
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
9
|
+
var __exportAll = (all, symbols) => {
|
|
10
|
+
let target = {};
|
|
11
|
+
for (var name in all) __defProp(target, name, {
|
|
12
|
+
get: all[name],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
if (symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
16
|
+
return target;
|
|
17
|
+
};
|
|
9
18
|
var __copyProps = (to, from, except, desc) => {
|
|
10
19
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
20
|
key = keys[i];
|
|
@@ -21,4 +30,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
30
|
enumerable: true
|
|
22
31
|
}) : target, mod));
|
|
23
32
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
24
|
-
export {
|
|
33
|
+
export { __toESM as i, __exportAll as n, __require as r, __commonJSMin as t };
|