@swarmify/agents-cli 1.5.13 → 1.5.15

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.
Files changed (66) hide show
  1. package/README.md +93 -213
  2. package/dist/index.js +1194 -173
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/agents.d.ts.map +1 -1
  5. package/dist/lib/agents.js +19 -2
  6. package/dist/lib/agents.js.map +1 -1
  7. package/dist/lib/artifact-actions.d.ts +22 -0
  8. package/dist/lib/artifact-actions.d.ts.map +1 -0
  9. package/dist/lib/artifact-actions.js +55 -0
  10. package/dist/lib/artifact-actions.js.map +1 -0
  11. package/dist/lib/commands.d.ts.map +1 -1
  12. package/dist/lib/commands.js +3 -5
  13. package/dist/lib/commands.js.map +1 -1
  14. package/dist/lib/daemon.d.ts +22 -0
  15. package/dist/lib/daemon.d.ts.map +1 -0
  16. package/dist/lib/daemon.js +303 -0
  17. package/dist/lib/daemon.js.map +1 -0
  18. package/dist/lib/drive-server.d.ts +9 -0
  19. package/dist/lib/drive-server.d.ts.map +1 -0
  20. package/dist/lib/drive-server.js +217 -0
  21. package/dist/lib/drive-server.js.map +1 -0
  22. package/dist/lib/drives.d.ts +34 -0
  23. package/dist/lib/drives.d.ts.map +1 -0
  24. package/dist/lib/drives.js +267 -0
  25. package/dist/lib/drives.js.map +1 -0
  26. package/dist/lib/instructions.d.ts +31 -0
  27. package/dist/lib/instructions.d.ts.map +1 -0
  28. package/dist/lib/instructions.js +161 -0
  29. package/dist/lib/instructions.js.map +1 -0
  30. package/dist/lib/jobs.d.ts +53 -0
  31. package/dist/lib/jobs.d.ts.map +1 -0
  32. package/dist/lib/jobs.js +242 -0
  33. package/dist/lib/jobs.js.map +1 -0
  34. package/dist/lib/runner.d.ts +12 -0
  35. package/dist/lib/runner.d.ts.map +1 -0
  36. package/dist/lib/runner.js +266 -0
  37. package/dist/lib/runner.js.map +1 -0
  38. package/dist/lib/sandbox.d.ts +10 -0
  39. package/dist/lib/sandbox.d.ts.map +1 -0
  40. package/dist/lib/sandbox.js +166 -0
  41. package/dist/lib/sandbox.js.map +1 -0
  42. package/dist/lib/scheduler.d.ts +18 -0
  43. package/dist/lib/scheduler.d.ts.map +1 -0
  44. package/dist/lib/scheduler.js +64 -0
  45. package/dist/lib/scheduler.js.map +1 -0
  46. package/dist/lib/shims.d.ts +32 -0
  47. package/dist/lib/shims.d.ts.map +1 -0
  48. package/dist/lib/shims.js +175 -0
  49. package/dist/lib/shims.js.map +1 -0
  50. package/dist/lib/state.d.ts +5 -0
  51. package/dist/lib/state.d.ts.map +1 -1
  52. package/dist/lib/state.js +35 -0
  53. package/dist/lib/state.js.map +1 -1
  54. package/dist/lib/template.d.ts +24 -0
  55. package/dist/lib/template.d.ts.map +1 -0
  56. package/dist/lib/template.js +57 -0
  57. package/dist/lib/template.js.map +1 -0
  58. package/dist/lib/types.d.ts +11 -0
  59. package/dist/lib/types.d.ts.map +1 -1
  60. package/dist/lib/types.js.map +1 -1
  61. package/dist/lib/versions.d.ts +79 -0
  62. package/dist/lib/versions.d.ts.map +1 -0
  63. package/dist/lib/versions.js +289 -0
  64. package/dist/lib/versions.js.map +1 -0
  65. package/package.json +8 -5
  66. package/scripts/postinstall.js +72 -0
@@ -0,0 +1,166 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as os from 'os';
4
+ import { getJobsDir } from './state.js';
5
+ const REAL_HOME = os.homedir();
6
+ const ENV_ALLOWLIST = [
7
+ 'PATH',
8
+ 'SHELL',
9
+ 'TERM',
10
+ 'LANG',
11
+ 'LC_ALL',
12
+ 'LC_CTYPE',
13
+ 'USER',
14
+ 'LOGNAME',
15
+ 'TMPDIR',
16
+ 'XDG_RUNTIME_DIR',
17
+ 'XDG_CONFIG_HOME',
18
+ 'XDG_DATA_HOME',
19
+ 'XDG_CACHE_HOME',
20
+ 'NODE_PATH',
21
+ 'NVM_DIR',
22
+ 'BUN_INSTALL',
23
+ 'EDITOR',
24
+ 'VISUAL',
25
+ 'NO_COLOR',
26
+ 'FORCE_COLOR',
27
+ ];
28
+ const CLAUDE_TOOL_MAP = {
29
+ web_search: 'WebSearch(*)',
30
+ web_fetch: 'WebFetch(*)',
31
+ bash: 'Bash(*)',
32
+ read: 'Read(*)',
33
+ write: 'Write(*)',
34
+ edit: 'Edit(*)',
35
+ glob: 'Glob(*)',
36
+ grep: 'Grep(*)',
37
+ notebook_edit: 'NotebookEdit(*)',
38
+ };
39
+ export function buildSpawnEnv(overlayHome, extraEnv) {
40
+ const env = { HOME: overlayHome };
41
+ for (const key of ENV_ALLOWLIST) {
42
+ if (process.env[key]) {
43
+ env[key] = process.env[key];
44
+ }
45
+ }
46
+ if (extraEnv) {
47
+ Object.assign(env, extraEnv);
48
+ }
49
+ return env;
50
+ }
51
+ export function getJobHomePath(name) {
52
+ return path.join(getJobsDir(), name, 'home');
53
+ }
54
+ export function prepareJobHome(config) {
55
+ const overlayHome = getJobHomePath(config.name);
56
+ cleanJobHome(config.name);
57
+ fs.mkdirSync(overlayHome, { recursive: true });
58
+ if (config.agent === 'claude') {
59
+ generateClaudeConfig(overlayHome, config);
60
+ }
61
+ else if (config.agent === 'codex') {
62
+ generateCodexConfig(overlayHome, config);
63
+ }
64
+ else if (config.agent === 'gemini') {
65
+ generateGeminiConfig(overlayHome, config);
66
+ }
67
+ if (config.allow?.dirs) {
68
+ symlinkAllowedDirs(overlayHome, config.allow.dirs);
69
+ }
70
+ return overlayHome;
71
+ }
72
+ export function cleanJobHome(name) {
73
+ const overlayHome = getJobHomePath(name);
74
+ if (fs.existsSync(overlayHome)) {
75
+ fs.rmSync(overlayHome, { recursive: true, force: true });
76
+ }
77
+ }
78
+ export function symlinkAllowedDirs(overlayHome, dirs) {
79
+ for (const dir of dirs) {
80
+ const realPath = dir.replace(/^~/, REAL_HOME);
81
+ if (!realPath.startsWith(REAL_HOME)) {
82
+ continue;
83
+ }
84
+ const relativePath = path.relative(REAL_HOME, realPath);
85
+ const symlinkTarget = path.join(overlayHome, relativePath);
86
+ const parentDir = path.dirname(symlinkTarget);
87
+ fs.mkdirSync(parentDir, { recursive: true });
88
+ if (!fs.existsSync(symlinkTarget)) {
89
+ try {
90
+ fs.symlinkSync(realPath, symlinkTarget);
91
+ }
92
+ catch { }
93
+ }
94
+ }
95
+ }
96
+ export function generateClaudeConfig(overlayHome, config) {
97
+ const claudeDir = path.join(overlayHome, '.claude');
98
+ fs.mkdirSync(claudeDir, { recursive: true });
99
+ const allowPermissions = [];
100
+ if (config.allow?.tools) {
101
+ for (const tool of config.allow.tools) {
102
+ const mapped = CLAUDE_TOOL_MAP[tool];
103
+ allowPermissions.push(mapped || tool);
104
+ }
105
+ }
106
+ if (config.allow?.dirs) {
107
+ for (const dir of config.allow.dirs) {
108
+ const resolved = dir.replace(/^~/, REAL_HOME);
109
+ allowPermissions.push(`Read(${resolved}/**)`);
110
+ if (config.mode === 'edit') {
111
+ allowPermissions.push(`Write(${resolved}/**)`);
112
+ allowPermissions.push(`Edit(${resolved}/**)`);
113
+ }
114
+ }
115
+ }
116
+ const settings = {
117
+ permissions: {
118
+ allow: allowPermissions,
119
+ deny: [],
120
+ },
121
+ };
122
+ fs.writeFileSync(path.join(claudeDir, 'settings.json'), JSON.stringify(settings, null, 2), 'utf-8');
123
+ }
124
+ export function generateCodexConfig(overlayHome, config) {
125
+ const codexDir = path.join(overlayHome, '.codex');
126
+ fs.mkdirSync(codexDir, { recursive: true });
127
+ const lines = [];
128
+ const model = config.config?.model;
129
+ if (model) {
130
+ lines.push(`model = "${model}"`);
131
+ }
132
+ if (config.mode === 'edit') {
133
+ lines.push('approval_mode = "full-auto"');
134
+ }
135
+ else {
136
+ lines.push('approval_mode = "suggest"');
137
+ }
138
+ if (config.config) {
139
+ for (const [key, value] of Object.entries(config.config)) {
140
+ if (key === 'model')
141
+ continue;
142
+ if (typeof value === 'string') {
143
+ lines.push(`${key} = "${value}"`);
144
+ }
145
+ else if (typeof value === 'boolean' || typeof value === 'number') {
146
+ lines.push(`${key} = ${value}`);
147
+ }
148
+ }
149
+ }
150
+ fs.writeFileSync(path.join(codexDir, 'config.toml'), lines.join('\n') + '\n', 'utf-8');
151
+ }
152
+ export function generateGeminiConfig(overlayHome, config) {
153
+ const geminiDir = path.join(overlayHome, '.gemini');
154
+ fs.mkdirSync(geminiDir, { recursive: true });
155
+ const settings = {};
156
+ if (config.config?.model) {
157
+ settings.model = config.config.model;
158
+ }
159
+ if (config.config) {
160
+ for (const [key, value] of Object.entries(config.config)) {
161
+ settings[key] = value;
162
+ }
163
+ }
164
+ fs.writeFileSync(path.join(geminiDir, 'settings.json'), JSON.stringify(settings, null, 2), 'utf-8');
165
+ }
166
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/lib/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { JobConfig } from './jobs.js';
2
+ export declare class JobScheduler {
3
+ private jobs;
4
+ private onTrigger;
5
+ constructor(onTrigger: (config: JobConfig) => Promise<void>);
6
+ loadAll(): void;
7
+ schedule(config: JobConfig): void;
8
+ unschedule(name: string): void;
9
+ reloadAll(): void;
10
+ stopAll(): void;
11
+ getNextRun(name: string): Date | null;
12
+ listScheduled(): Array<{
13
+ name: string;
14
+ nextRun: Date | null;
15
+ enabled: boolean;
16
+ }>;
17
+ }
18
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/lib/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAQ3C,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAmC;IAC/C,OAAO,CAAC,SAAS,CAAuC;gBAE5C,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC;IAI3D,OAAO,IAAI,IAAI;IASf,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAcjC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,SAAS,IAAI,IAAI;IAKjB,OAAO,IAAI,IAAI;IAOf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMrC,aAAa,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAWjF"}
@@ -0,0 +1,64 @@
1
+ import { Cron } from 'croner';
2
+ import { listJobs } from './jobs.js';
3
+ export class JobScheduler {
4
+ jobs = new Map();
5
+ onTrigger;
6
+ constructor(onTrigger) {
7
+ this.onTrigger = onTrigger;
8
+ }
9
+ loadAll() {
10
+ const configs = listJobs();
11
+ for (const config of configs) {
12
+ if (config.enabled) {
13
+ this.schedule(config);
14
+ }
15
+ }
16
+ }
17
+ schedule(config) {
18
+ this.unschedule(config.name);
19
+ const cron = new Cron(config.schedule, async () => {
20
+ try {
21
+ await this.onTrigger(config);
22
+ }
23
+ catch (err) {
24
+ console.error(`Job '${config.name}' failed:`, err.message);
25
+ }
26
+ });
27
+ this.jobs.set(config.name, { config, cron });
28
+ }
29
+ unschedule(name) {
30
+ const existing = this.jobs.get(name);
31
+ if (existing) {
32
+ existing.cron.stop();
33
+ this.jobs.delete(name);
34
+ }
35
+ }
36
+ reloadAll() {
37
+ this.stopAll();
38
+ this.loadAll();
39
+ }
40
+ stopAll() {
41
+ for (const [, job] of this.jobs) {
42
+ job.cron.stop();
43
+ }
44
+ this.jobs.clear();
45
+ }
46
+ getNextRun(name) {
47
+ const job = this.jobs.get(name);
48
+ if (!job)
49
+ return null;
50
+ return job.cron.nextRun() || null;
51
+ }
52
+ listScheduled() {
53
+ const result = [];
54
+ for (const [name, job] of this.jobs) {
55
+ result.push({
56
+ name,
57
+ nextRun: job.cron.nextRun() || null,
58
+ enabled: job.config.enabled,
59
+ });
60
+ }
61
+ return result;
62
+ }
63
+ }
64
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/lib/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAOrC,MAAM,OAAO,YAAY;IACf,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IACvC,SAAS,CAAuC;IAExD,YAAY,SAA+C;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,MAAiB;QACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,IAAI,WAAW,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAoE,EAAE,CAAC;QACnF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI;gBACnC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import type { AgentId } from './types.js';
2
+ import { getShimsDir } from './state.js';
3
+ export { getShimsDir };
4
+ /**
5
+ * Create a shim for an agent.
6
+ */
7
+ export declare function createShim(agent: AgentId): string;
8
+ /**
9
+ * Remove the shim for an agent.
10
+ */
11
+ export declare function removeShim(agent: AgentId): boolean;
12
+ /**
13
+ * Check if shim exists for an agent.
14
+ */
15
+ export declare function shimExists(agent: AgentId): boolean;
16
+ /**
17
+ * Get the path to the shim for an agent.
18
+ */
19
+ export declare function getShimPath(agent: AgentId): string;
20
+ /**
21
+ * Check if shims directory is in PATH.
22
+ */
23
+ export declare function isShimsInPath(): boolean;
24
+ /**
25
+ * Get shell configuration instructions for adding shims to PATH.
26
+ */
27
+ export declare function getPathSetupInstructions(): string;
28
+ /**
29
+ * Create shims for all installed agents.
30
+ */
31
+ export declare function ensureAllShims(): void;
32
+ //# sourceMappingURL=shims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shims.d.ts","sourceRoot":"","sources":["../../src/lib/shims.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAmC,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,CAAC;AA6EvB;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIlD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAIvC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAwBjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAmBrC"}
@@ -0,0 +1,175 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { getShimsDir, getVersionsDir, ensureAgentsDir } from './state.js';
4
+ export { getShimsDir };
5
+ import { AGENTS } from './agents.js';
6
+ /**
7
+ * Generate the shim script content for an agent.
8
+ */
9
+ function generateShimScript(agent) {
10
+ const agentConfig = AGENTS[agent];
11
+ const cliCommand = agentConfig.cliCommand;
12
+ return `#!/bin/bash
13
+ # Auto-generated by agents-cli - do not edit
14
+ # Shim for ${agentConfig.name}
15
+
16
+ AGENTS_DIR="$HOME/.agents"
17
+ AGENT="${agent}"
18
+ CLI_COMMAND="${cliCommand}"
19
+
20
+ # Resolve version from project manifest or global default
21
+ resolve_version() {
22
+ local dir="$PWD"
23
+
24
+ # Walk up directory tree looking for .agents/agents.yaml
25
+ while [ "$dir" != "/" ]; do
26
+ local manifest="$dir/.agents/agents.yaml"
27
+ if [ -f "$manifest" ]; then
28
+ # Extract version for this agent from YAML
29
+ local version
30
+ version=$(awk -v agent="$AGENT" '
31
+ /^clis:/ { in_clis=1; next }
32
+ in_clis && /^[^ ]/ { in_clis=0 }
33
+ in_clis && $0 ~ "^ " agent ":" { in_agent=1; next }
34
+ in_agent && /^ version:/ { gsub(/.*version:[[:space:]]*["'"'"']?|["'"'"']?[[:space:]]*$/, ""); print; exit }
35
+ in_agent && /^ [^ ]/ { in_agent=0 }
36
+ ' "$manifest")
37
+
38
+ if [ -n "$version" ]; then
39
+ echo "$version"
40
+ return
41
+ fi
42
+ fi
43
+ dir=$(dirname "$dir")
44
+ done
45
+
46
+ # Fall back to global default from meta.yaml
47
+ local meta="$AGENTS_DIR/meta.yaml"
48
+ if [ -f "$meta" ]; then
49
+ awk -v agent="$AGENT" '
50
+ /^versions:/ { in_versions=1; next }
51
+ in_versions && /^[^ ]/ { in_versions=0 }
52
+ in_versions && $0 ~ "^ " agent ":" { in_agent=1; next }
53
+ in_agent && /^ default:/ { gsub(/.*default:[[:space:]]*["'"'"']?|["'"'"']?[[:space:]]*$/, ""); print; exit }
54
+ in_agent && /^ [^ ]/ { in_agent=0 }
55
+ ' "$meta"
56
+ fi
57
+ }
58
+
59
+ VERSION=$(resolve_version)
60
+
61
+ if [ -z "$VERSION" ]; then
62
+ echo "agents: no version of $AGENT configured" >&2
63
+ echo "Run: agents add $AGENT@<version>" >&2
64
+ exit 1
65
+ fi
66
+
67
+ BINARY="$AGENTS_DIR/versions/$AGENT/$VERSION/node_modules/.bin/$CLI_COMMAND"
68
+
69
+ if [ ! -x "$BINARY" ]; then
70
+ echo "agents: $AGENT@$VERSION not installed" >&2
71
+ echo "Run: agents add $AGENT@$VERSION" >&2
72
+ exit 1
73
+ fi
74
+
75
+ exec "$BINARY" "$@"
76
+ `;
77
+ }
78
+ /**
79
+ * Create a shim for an agent.
80
+ */
81
+ export function createShim(agent) {
82
+ ensureAgentsDir();
83
+ const shimsDir = getShimsDir();
84
+ const agentConfig = AGENTS[agent];
85
+ const shimPath = path.join(shimsDir, agentConfig.cliCommand);
86
+ const script = generateShimScript(agent);
87
+ fs.writeFileSync(shimPath, script, { mode: 0o755 });
88
+ return shimPath;
89
+ }
90
+ /**
91
+ * Remove the shim for an agent.
92
+ */
93
+ export function removeShim(agent) {
94
+ const shimsDir = getShimsDir();
95
+ const agentConfig = AGENTS[agent];
96
+ const shimPath = path.join(shimsDir, agentConfig.cliCommand);
97
+ if (fs.existsSync(shimPath)) {
98
+ fs.unlinkSync(shimPath);
99
+ return true;
100
+ }
101
+ return false;
102
+ }
103
+ /**
104
+ * Check if shim exists for an agent.
105
+ */
106
+ export function shimExists(agent) {
107
+ const shimsDir = getShimsDir();
108
+ const agentConfig = AGENTS[agent];
109
+ const shimPath = path.join(shimsDir, agentConfig.cliCommand);
110
+ return fs.existsSync(shimPath);
111
+ }
112
+ /**
113
+ * Get the path to the shim for an agent.
114
+ */
115
+ export function getShimPath(agent) {
116
+ const shimsDir = getShimsDir();
117
+ const agentConfig = AGENTS[agent];
118
+ return path.join(shimsDir, agentConfig.cliCommand);
119
+ }
120
+ /**
121
+ * Check if shims directory is in PATH.
122
+ */
123
+ export function isShimsInPath() {
124
+ const shimsDir = getShimsDir();
125
+ const pathDirs = (process.env.PATH || '').split(path.delimiter);
126
+ return pathDirs.some((dir) => path.resolve(dir) === path.resolve(shimsDir));
127
+ }
128
+ /**
129
+ * Get shell configuration instructions for adding shims to PATH.
130
+ */
131
+ export function getPathSetupInstructions() {
132
+ const shimsDir = getShimsDir();
133
+ const shell = process.env.SHELL || '/bin/bash';
134
+ const shellName = path.basename(shell);
135
+ let rcFile;
136
+ switch (shellName) {
137
+ case 'zsh':
138
+ rcFile = '~/.zshrc';
139
+ break;
140
+ case 'fish':
141
+ return `Add to ~/.config/fish/config.fish:
142
+ fish_add_path ${shimsDir}`;
143
+ case 'bash':
144
+ default:
145
+ rcFile = '~/.bashrc';
146
+ break;
147
+ }
148
+ return `Add to ${rcFile}:
149
+ export PATH="${shimsDir}:$PATH"
150
+
151
+ Then restart your shell or run:
152
+ source ${rcFile}`;
153
+ }
154
+ /**
155
+ * Create shims for all installed agents.
156
+ */
157
+ export function ensureAllShims() {
158
+ const versionsDir = getVersionsDir();
159
+ if (!fs.existsSync(versionsDir)) {
160
+ return;
161
+ }
162
+ const entries = fs.readdirSync(versionsDir, { withFileTypes: true });
163
+ for (const entry of entries) {
164
+ if (entry.isDirectory() && AGENTS[entry.name]) {
165
+ const agent = entry.name;
166
+ const agentVersionsDir = path.join(versionsDir, agent);
167
+ const versions = fs.readdirSync(agentVersionsDir, { withFileTypes: true })
168
+ .filter((e) => e.isDirectory());
169
+ if (versions.length > 0 && !shimExists(agent)) {
170
+ createShim(agent);
171
+ }
172
+ }
173
+ }
174
+ }
175
+ //# sourceMappingURL=shims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shims.js","sourceRoot":"","sources":["../../src/lib/shims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAE1C,OAAO;;aAEI,WAAW,CAAC,IAAI;;;SAGpB,KAAK;eACC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DxB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,eAAe,EAAE,CAAC;IAClB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAE7D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,MAAc,CAAC;IACnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,MAAM,GAAG,UAAU,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,OAAO;kBACK,QAAQ,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC;QACZ;YACE,MAAM,GAAG,WAAW,CAAC;YACrB,MAAM;IACV,CAAC;IAED,OAAO,UAAU,MAAM;iBACR,QAAQ;;;WAGd,MAAM,EAAE,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAe,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAe,CAAC;YACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBACvE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAElC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -2,6 +2,11 @@ import type { Meta, State, ScopeConfig, ScopeName } from './types.js';
2
2
  export declare function getAgentsDir(): string;
3
3
  export declare function getPackagesDir(): string;
4
4
  export declare function getReposDir(): string;
5
+ export declare function getJobsDir(): string;
6
+ export declare function getRunsDir(): string;
7
+ export declare function getDrivesDir(): string;
8
+ export declare function getVersionsDir(): string;
9
+ export declare function getShimsDir(): string;
5
10
  export declare function ensureAgentsDir(): void;
6
11
  export declare function createDefaultMeta(): Meta;
7
12
  export declare function readMeta(): Meta;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAetE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAUtC;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CA6E/B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI1C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAKvD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO1D;AAID,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAGjE;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAIxE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQzD;AAED,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAKrF;AAED,wBAAgB,uBAAuB,IAAI;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAGzF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAW7D;AAGD,eAAO,MAAM,SAAS,iBAAW,CAAC;AAClC,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,SAAqB,CAAC;AAC7D,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,KAAK,CAAC,SAAwB,CAAC;AAC5E,eAAO,MAAM,kBAAkB,0BAAoB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoBtE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAyBtC;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CA6E/B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI1C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAKvD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO1D;AAID,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAGjE;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAIxE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQzD;AAED,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAKrF;AAED,wBAAgB,uBAAuB,IAAI;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAGzF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAW7D;AAGD,eAAO,MAAM,SAAS,iBAAW,CAAC;AAClC,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,SAAqB,CAAC;AAC7D,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,KAAK,CAAC,SAAwB,CAAC;AAC5E,eAAO,MAAM,kBAAkB,0BAAoB,CAAC"}
package/dist/lib/state.js CHANGED
@@ -8,6 +8,11 @@ const AGENTS_DIR = path.join(HOME, '.agents');
8
8
  const META_FILE = path.join(AGENTS_DIR, 'meta.yaml');
9
9
  const PACKAGES_DIR = path.join(AGENTS_DIR, 'packages');
10
10
  const REPOS_DIR = path.join(AGENTS_DIR, 'repos');
11
+ const JOBS_DIR = path.join(AGENTS_DIR, 'jobs');
12
+ const RUNS_DIR = path.join(AGENTS_DIR, 'runs');
13
+ const DRIVES_DIR = path.join(AGENTS_DIR, 'drives');
14
+ const VERSIONS_DIR = path.join(AGENTS_DIR, 'versions');
15
+ const SHIMS_DIR = path.join(AGENTS_DIR, 'shims');
11
16
  const META_HEADER = `# agents-cli metadata
12
17
  # Auto-generated - do not edit manually
13
18
  # https://github.com/muqsitnawaz/agents-cli
@@ -22,6 +27,21 @@ export function getPackagesDir() {
22
27
  export function getReposDir() {
23
28
  return REPOS_DIR;
24
29
  }
30
+ export function getJobsDir() {
31
+ return JOBS_DIR;
32
+ }
33
+ export function getRunsDir() {
34
+ return RUNS_DIR;
35
+ }
36
+ export function getDrivesDir() {
37
+ return DRIVES_DIR;
38
+ }
39
+ export function getVersionsDir() {
40
+ return VERSIONS_DIR;
41
+ }
42
+ export function getShimsDir() {
43
+ return SHIMS_DIR;
44
+ }
25
45
  export function ensureAgentsDir() {
26
46
  if (!fs.existsSync(AGENTS_DIR)) {
27
47
  fs.mkdirSync(AGENTS_DIR, { recursive: true });
@@ -32,6 +52,21 @@ export function ensureAgentsDir() {
32
52
  if (!fs.existsSync(REPOS_DIR)) {
33
53
  fs.mkdirSync(REPOS_DIR, { recursive: true });
34
54
  }
55
+ if (!fs.existsSync(JOBS_DIR)) {
56
+ fs.mkdirSync(JOBS_DIR, { recursive: true });
57
+ }
58
+ if (!fs.existsSync(RUNS_DIR)) {
59
+ fs.mkdirSync(RUNS_DIR, { recursive: true });
60
+ }
61
+ if (!fs.existsSync(DRIVES_DIR)) {
62
+ fs.mkdirSync(DRIVES_DIR, { recursive: true });
63
+ }
64
+ if (!fs.existsSync(VERSIONS_DIR)) {
65
+ fs.mkdirSync(VERSIONS_DIR, { recursive: true });
66
+ }
67
+ if (!fs.existsSync(SHIMS_DIR)) {
68
+ fs.mkdirSync(SHIMS_DIR, { recursive: true });
69
+ }
35
70
  }
36
71
  export function createDefaultMeta() {
37
72
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Template resolution utilities
3
+ * Ported from agents/halo/cli/pkg/template
4
+ */
5
+ /**
6
+ * Resolve template placeholders with artifact and preflight data
7
+ * Replaces {{artifact.*}} and {{preflight.*}} patterns
8
+ *
9
+ * @param tmpl - Template string with placeholders
10
+ * @param artifact - Map of artifact key-value pairs
11
+ * @param preflight - Map of preflight data (can contain strings or string arrays)
12
+ * @returns Resolved template string
13
+ */
14
+ export declare function resolveTemplate(tmpl: string, artifact: Record<string, string>, preflight: Record<string, string | string[] | unknown>): string;
15
+ /**
16
+ * Extract all template variables from a template string
17
+ * @param tmpl - Template string
18
+ * @returns Object with artifact and preflight variable names
19
+ */
20
+ export declare function extractTemplateVariables(tmpl: string): {
21
+ artifact: string[];
22
+ preflight: string[];
23
+ };
24
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/lib/template.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,GACrD,MAAM,CAwBR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAiBA"}