@safeskill/cli 0.2.3 → 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 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 [41 more](#available-agents).
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 | Description |
82
- | ---------------------- | ------------------------------------------------------------------------------------------------------------ |
83
- | `--region <cn|global>` | Use a specific SafeSkill service region for this run. Overrides `SAFESKILL_REGION`; otherwise auto-detected. |
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 | Description |
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 | `--agent` | Project Path | Global Path |
251
- | ------------------------------------- | ---------------------------------------- | ------------------------- | ---------------------------------- |
252
- | Amp, Kimi Code CLI, Replit, Universal | `amp`, `kimi-cli`, `replit`, `universal` | `.agents/skills/` | `~/.config/agents/skills/` |
253
- | Antigravity | `antigravity` | `.agents/skills/` | `~/.gemini/antigravity/skills/` |
254
- | Augment | `augment` | `.augment/skills/` | `~/.augment/skills/` |
255
- | Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
256
- | OpenClaw | `openclaw` | `skills/` | `~/.openclaw/skills/` |
257
- | Cline, Warp | `cline`, `warp` | `.agents/skills/` | `~/.agents/skills/` |
258
- | CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
259
- | Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
260
- | Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
261
- | Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
262
- | Cortex Code | `cortex` | `.cortex/skills/` | `~/.snowflake/cortex/skills/` |
263
- | Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
264
- | Cursor | `cursor` | `.agents/skills/` | `~/.cursor/skills/` |
265
- | Deep Agents | `deepagents` | `.agents/skills/` | `~/.deepagents/agent/skills/` |
266
- | Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
267
- | Firebender | `firebender` | `.agents/skills/` | `~/.firebender/skills/` |
268
- | Flocks | `flocks` | `.flocks/plugins/skills/` | `~/.flocks/plugins/skills/` |
269
- | Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
270
- | GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
271
- | Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
272
- | Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
273
- | iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
274
- | Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
275
- | Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
276
- | Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
277
- | MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
278
- | Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
279
- | Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
280
- | OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
281
- | OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
282
- | Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
283
- | Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
284
- | Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
285
- | Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
286
- | Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
287
- | Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
288
- | Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
289
- | Zencoder | `zencoder` | `.zencoder/skills/` | `~/.zencoder/skills/` |
290
- | Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
291
- | Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
292
- | AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
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 { n as __require, r as __toESM, t as __commonJSMin } from "../rolldown-runtime.mjs";
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$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
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$1();
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
- export { Ie as a, Se as c, fe as d, ve as f, require_picocolors as g, pD as h, esm_default as i, Y as l, ye as m, require_gray_matter as n, M as o, xe as p, require_yauzl as r, Me as s, xdgConfig as t, be as u };
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 { __require as n, __toESM as r, __commonJSMin as t };
33
+ export { __toESM as i, __exportAll as n, __require as r, __commonJSMin as t };