suzi-cli 0.1.7 → 0.1.9

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 (57) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/create.d.ts +2 -0
  3. package/dist/commands/create.d.ts.map +1 -1
  4. package/dist/commands/create.js +10 -8
  5. package/dist/commands/create.js.map +1 -1
  6. package/dist/commands/debug.d.ts +3 -0
  7. package/dist/commands/debug.d.ts.map +1 -0
  8. package/dist/commands/debug.js +332 -0
  9. package/dist/commands/debug.js.map +1 -0
  10. package/dist/commands/init.js +1 -1
  11. package/dist/commands/install-hooks.d.ts.map +1 -1
  12. package/dist/commands/install-hooks.js +11 -0
  13. package/dist/commands/install-hooks.js.map +1 -1
  14. package/dist/commands/list-actions.d.ts +3 -0
  15. package/dist/commands/list-actions.d.ts.map +1 -0
  16. package/dist/commands/{list-tools.js → list-actions.js} +28 -80
  17. package/dist/commands/list-actions.js.map +1 -0
  18. package/dist/commands/list-triggers.d.ts.map +1 -1
  19. package/dist/commands/list-triggers.js +24 -1
  20. package/dist/commands/list-triggers.js.map +1 -1
  21. package/dist/commands/login.d.ts.map +1 -1
  22. package/dist/commands/login.js +108 -58
  23. package/dist/commands/login.js.map +1 -1
  24. package/dist/commands/portfolio.d.ts.map +1 -1
  25. package/dist/commands/portfolio.js +39 -1
  26. package/dist/commands/portfolio.js.map +1 -1
  27. package/dist/commands/prompt-suggestions.js +6 -6
  28. package/dist/commands/prompt-suggestions.js.map +1 -1
  29. package/dist/commands/run.d.ts +3 -0
  30. package/dist/commands/run.d.ts.map +1 -0
  31. package/dist/commands/run.js +316 -0
  32. package/dist/commands/run.js.map +1 -0
  33. package/dist/commands/skills.d.ts.map +1 -1
  34. package/dist/commands/skills.js +139 -59
  35. package/dist/commands/skills.js.map +1 -1
  36. package/dist/index.js +11 -6
  37. package/dist/index.js.map +1 -1
  38. package/dist/lib/actions-cache.d.ts +15 -0
  39. package/dist/lib/actions-cache.d.ts.map +1 -0
  40. package/dist/lib/actions-cache.js +79 -0
  41. package/dist/lib/actions-cache.js.map +1 -0
  42. package/dist/lib/skills-cache.d.ts +23 -0
  43. package/dist/lib/skills-cache.d.ts.map +1 -0
  44. package/dist/lib/skills-cache.js +97 -0
  45. package/dist/lib/skills-cache.js.map +1 -0
  46. package/dist/lib/skills.d.ts +12 -0
  47. package/dist/lib/skills.d.ts.map +1 -1
  48. package/dist/lib/skills.js +46 -0
  49. package/dist/lib/skills.js.map +1 -1
  50. package/dist/lib/suzi-guide.d.ts +1 -1
  51. package/dist/lib/suzi-guide.d.ts.map +1 -1
  52. package/dist/lib/suzi-guide.js +174 -51
  53. package/dist/lib/suzi-guide.js.map +1 -1
  54. package/package.json +1 -1
  55. package/dist/commands/list-tools.d.ts +0 -3
  56. package/dist/commands/list-tools.d.ts.map +0 -1
  57. package/dist/commands/list-tools.js.map +0 -1
@@ -6,33 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerSkillsCommand = registerSkillsCommand;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const ui_1 = require("../utils/ui");
9
- const suzi_guide_1 = require("../lib/suzi-guide");
9
+ const skills_cache_1 = require("../lib/skills-cache");
10
10
  const skills_1 = require("../lib/skills");
11
11
  // ─────────────────────────────────────────────────────────────
12
- // Skill: suzi-guide
13
- // ─────────────────────────────────────────────────────────────
14
- const SUZI_GUIDE_SKILL = suzi_guide_1.SUZI_GUIDE_CONTENT;
15
- // ─────────────────────────────────────────────────────────────
16
- // Registry
17
- // ─────────────────────────────────────────────────────────────
18
- const SKILLS = [
19
- {
20
- name: 'suzi-guide',
21
- filename: 'suzi-guide.md',
22
- description: 'Comprehensive guide for Suzi CLI commands, agent creation, protocols & actions',
23
- sections: [
24
- { title: 'CLI-First Data Fetching', description: 'Always use suzi CLI for live data — protocols, balances, agents, etc.' },
25
- { title: 'Installing the Suzi CLI', description: 'pnpm add suzi, first-time setup, requirements' },
26
- { title: 'CLI Commands Reference', description: 'All suzi commands: login, wallet, portfolio, agents, deploy, tools, etc.' },
27
- { title: 'Creating Agents', description: 'Quick start, file structure, minimal agent, full template with all sections' },
28
- { title: 'Trigger Types', description: 'Manual, cron, and event triggers with schedule syntax' },
29
- { title: 'Common Workflows', description: 'Deploy+activate, update, monitor, typical dev loop' },
30
- { title: 'Tips & Best Practices', description: 'Logging, state management, kill switches, testing patterns' },
31
- ],
32
- content: SUZI_GUIDE_SKILL,
33
- },
34
- ];
35
- // ─────────────────────────────────────────────────────────────
36
12
  // Command
37
13
  // ─────────────────────────────────────────────────────────────
38
14
  function registerSkillsCommand(program) {
@@ -40,54 +16,94 @@ function registerSkillsCommand(program) {
40
16
  .command('skills')
41
17
  .description('Manage Claude Code and Codex skills for Suzi');
42
18
  // suzi skills — list available skills
43
- skills.action(() => {
19
+ skills.action(async () => {
20
+ if (!(0, ui_1.requireAuth)())
21
+ return;
22
+ let skillList;
23
+ try {
24
+ skillList = await (0, skills_cache_1.getSkills)();
25
+ }
26
+ catch (err) {
27
+ // Fall back to cached data if available
28
+ const cached = (0, skills_cache_1.getCachedSkills)();
29
+ if (cached) {
30
+ skillList = cached;
31
+ (0, ui_1.info)('Using cached skill list (could not reach server).');
32
+ }
33
+ else {
34
+ (0, ui_1.error)(`Failed to fetch skills: ${err.message}`);
35
+ return;
36
+ }
37
+ }
44
38
  (0, ui_1.header)('Available Skills');
45
39
  console.log();
46
- for (const skill of SKILLS) {
40
+ for (const skill of skillList) {
47
41
  console.log(` ${ui_1.colors.primary('▸')} ${chalk_1.default.bold(skill.name)}`);
48
42
  console.log(` ${ui_1.colors.muted(skill.description)}`);
43
+ console.log(` ${ui_1.colors.muted('Files:')} ${skill.files.map((f) => f.path).join(', ')}`);
49
44
  console.log(` ${ui_1.colors.muted('Install:')} ${chalk_1.default.cyan(`suzi skills add ${skill.name}`)}`);
50
45
  console.log();
51
46
  }
52
47
  (0, ui_1.divider)();
53
- (0, ui_1.info)(`${SKILLS.length} skill(s) available.`);
48
+ (0, ui_1.info)(`${skillList.length} skill(s) available.`);
49
+ const age = (0, skills_cache_1.cacheAge)();
50
+ if (age) {
51
+ (0, ui_1.info)(`Cached ${age}.`);
52
+ }
54
53
  (0, ui_1.info)('Use `suzi skills add <name>` to install, or `suzi skills add --all` for all.');
55
54
  });
56
55
  // suzi skills show <name>
57
56
  skills
58
57
  .command('show <name>')
59
58
  .description('Show skill details and contents')
60
- .option('--full', 'Print the full markdown content')
61
- .action((name, opts) => {
62
- const skill = SKILLS.find((s) => s.name === name);
59
+ .option('--full', 'Print the full file contents')
60
+ .action(async (name, opts) => {
61
+ if (!(0, ui_1.requireAuth)())
62
+ return;
63
+ let skillList;
64
+ try {
65
+ skillList = await (0, skills_cache_1.getSkills)();
66
+ }
67
+ catch (err) {
68
+ const cached = (0, skills_cache_1.getCachedSkills)();
69
+ if (cached) {
70
+ skillList = cached;
71
+ (0, ui_1.info)('Using cached skill list (could not reach server).');
72
+ }
73
+ else {
74
+ (0, ui_1.error)(`Failed to fetch skills: ${err.message}`);
75
+ return;
76
+ }
77
+ }
78
+ const skill = skillList.find((s) => s.name === name);
63
79
  if (!skill) {
64
80
  (0, ui_1.error)(`Skill "${name}" not found.`);
65
- (0, ui_1.info)(`Available: ${SKILLS.map((s) => s.name).join(', ')}`);
81
+ (0, ui_1.info)(`Available: ${skillList.map((s) => s.name).join(', ')}`);
66
82
  return;
67
83
  }
68
84
  (0, ui_1.header)(skill.name);
69
85
  console.log();
70
- (0, ui_1.label)('Claude Path', `~/.claude/skills/${skill.name}/SKILL.md`);
71
- (0, ui_1.label)('Codex Path', `~/.codex/skills/${skill.name}/SKILL.md`);
72
86
  (0, ui_1.label)('Description', skill.description);
73
- (0, ui_1.label)('Size', `${skill.content.split('\n').length} lines`);
87
+ (0, ui_1.label)('Files', String(skill.files.length));
74
88
  console.log();
75
- // Show sections
76
- console.log(chalk_1.default.bold(' Sections:'));
89
+ console.log(chalk_1.default.bold(' Files:'));
77
90
  console.log();
78
- for (let i = 0; i < skill.sections.length; i++) {
79
- const s = skill.sections[i];
80
- console.log(` ${ui_1.colors.primary(`${i + 1}.`)} ${chalk_1.default.bold(s.title)}`);
81
- console.log(` ${ui_1.colors.muted(s.description)}`);
91
+ for (const file of skill.files) {
92
+ const lines = file.content.split('\n').length;
93
+ console.log(` ${ui_1.colors.primary('▸')} ${chalk_1.default.bold(file.path)} ${ui_1.colors.muted(`(${lines} lines)`)}`);
82
94
  }
83
95
  console.log();
84
96
  (0, ui_1.divider)();
85
97
  if (opts.full) {
86
- console.log();
87
- console.log(skill.content);
98
+ for (const file of skill.files) {
99
+ console.log();
100
+ console.log(chalk_1.default.bold(`── ${file.path} ──`));
101
+ console.log();
102
+ console.log(file.content);
103
+ }
88
104
  }
89
105
  else {
90
- (0, ui_1.info)(`Use --full to print the entire skill content.`);
106
+ (0, ui_1.info)('Use --full to print the entire skill content.');
91
107
  (0, ui_1.info)(`Use \`suzi skills add ${name}\` to install it.`);
92
108
  }
93
109
  });
@@ -98,7 +114,9 @@ function registerSkillsCommand(program) {
98
114
  .option('--all', 'Install all available skills')
99
115
  .option('--client <client>', 'Target client: claude | codex | both (default: both)', 'both')
100
116
  .option('--dir <path>', 'Custom output directory (overrides --client)')
101
- .action((name, opts) => {
117
+ .action(async (name, opts) => {
118
+ if (!(0, ui_1.requireAuth)())
119
+ return;
102
120
  let targets = [];
103
121
  try {
104
122
  targets = (0, skills_1.resolveSkillTargets)(opts);
@@ -107,38 +125,55 @@ function registerSkillsCommand(program) {
107
125
  (0, ui_1.error)(err.message);
108
126
  return;
109
127
  }
128
+ let skillList;
129
+ try {
130
+ skillList = await (0, skills_cache_1.getSkills)();
131
+ }
132
+ catch (err) {
133
+ const cached = (0, skills_cache_1.getCachedSkills)();
134
+ if (cached) {
135
+ skillList = cached;
136
+ (0, ui_1.info)('Using cached skill list (could not reach server).');
137
+ }
138
+ else {
139
+ (0, ui_1.error)(`Failed to fetch skills: ${err.message}`);
140
+ return;
141
+ }
142
+ }
110
143
  // Determine which skills to install
111
144
  let toInstall;
112
145
  if (opts?.all) {
113
- toInstall = SKILLS;
146
+ toInstall = skillList;
114
147
  }
115
148
  else if (name) {
116
- const skill = SKILLS.find((s) => s.name === name);
149
+ const skill = skillList.find((s) => s.name === name);
117
150
  if (!skill) {
118
151
  (0, ui_1.error)(`Skill "${name}" not found.`);
119
- (0, ui_1.info)(`Available: ${SKILLS.map((s) => s.name).join(', ')}`);
152
+ (0, ui_1.info)(`Available: ${skillList.map((s) => s.name).join(', ')}`);
120
153
  return;
121
154
  }
122
155
  toInstall = [skill];
123
156
  }
124
157
  else {
125
158
  (0, ui_1.error)('Specify a skill name or use --all.');
126
- (0, ui_1.info)(`Available: ${SKILLS.map((s) => s.name).join(', ')}`);
159
+ (0, ui_1.info)(`Available: ${skillList.map((s) => s.name).join(', ')}`);
127
160
  return;
128
161
  }
129
162
  for (const target of targets) {
130
163
  for (const skill of toInstall) {
131
- const result = (0, skills_1.installSkillToTarget)(target, skill.name, skill.content, 'upsert');
132
- const displayPath = (0, skills_1.toDisplayPath)(result.filePath);
133
- if (result.state === 'installed') {
134
- (0, ui_1.success)(`Installed ${chalk_1.default.bold(skill.name)} for ${target.label} → ${displayPath}`);
135
- continue;
136
- }
137
- if (result.state === 'updated') {
138
- (0, ui_1.success)(`Updated ${chalk_1.default.bold(skill.name)} for ${target.label} → ${displayPath}`);
139
- continue;
164
+ const result = (0, skills_1.installMultiFileSkill)(target, skill.name, skill.files, 'upsert');
165
+ for (const file of result.files) {
166
+ const displayPath = (0, skills_1.toDisplayPath)(file.filePath);
167
+ if (file.state === 'installed') {
168
+ (0, ui_1.success)(`Installed ${chalk_1.default.bold(skill.name)}/${file.path} for ${target.label} → ${displayPath}`);
169
+ }
170
+ else if (file.state === 'updated') {
171
+ (0, ui_1.success)(`Updated ${chalk_1.default.bold(skill.name)}/${file.path} for ${target.label} → ${displayPath}`);
172
+ }
173
+ else {
174
+ (0, ui_1.info)(`No changes for ${chalk_1.default.bold(skill.name)}/${file.path} in ${target.label} → ${displayPath}`);
175
+ }
140
176
  }
141
- (0, ui_1.info)(`No changes for ${chalk_1.default.bold(skill.name)} in ${target.label} → ${displayPath}`);
142
177
  }
143
178
  }
144
179
  console.log();
@@ -146,5 +181,50 @@ function registerSkillsCommand(program) {
146
181
  const labels = targets.map((t) => t.label).join(' + ');
147
182
  (0, ui_1.info)(`Skills are now available to ${labels}.`);
148
183
  });
184
+ // suzi skills sync
185
+ skills
186
+ .command('sync')
187
+ .description('Force-refresh skills from server and install all')
188
+ .option('--quiet', 'Suppress all output')
189
+ .action(async (opts) => {
190
+ if (!(0, ui_1.requireAuth)())
191
+ return;
192
+ const log = opts.quiet ? (_msg) => { } : ui_1.info;
193
+ const logSuccess = opts.quiet ? (_msg) => { } : ui_1.success;
194
+ const logError = opts.quiet ? (_msg) => { } : ui_1.error;
195
+ let skillList;
196
+ try {
197
+ skillList = await (0, skills_cache_1.getSkills)(true);
198
+ }
199
+ catch (err) {
200
+ logError(`Failed to fetch skills: ${err.message}`);
201
+ return;
202
+ }
203
+ const targets = (0, skills_1.resolveSkillTargets)({ client: 'both' });
204
+ let totalInstalled = 0;
205
+ let totalUpdated = 0;
206
+ for (const target of targets) {
207
+ for (const skill of skillList) {
208
+ const result = (0, skills_1.installMultiFileSkill)(target, skill.name, skill.files, 'upsert');
209
+ for (const file of result.files) {
210
+ if (file.state === 'installed')
211
+ totalInstalled++;
212
+ if (file.state === 'updated')
213
+ totalUpdated++;
214
+ }
215
+ }
216
+ }
217
+ if (totalInstalled > 0 || totalUpdated > 0) {
218
+ const parts = [];
219
+ if (totalInstalled > 0)
220
+ parts.push(`${totalInstalled} installed`);
221
+ if (totalUpdated > 0)
222
+ parts.push(`${totalUpdated} updated`);
223
+ logSuccess(`Skills synced: ${parts.join(', ')} (${skillList.length} skill(s) from server).`);
224
+ }
225
+ else {
226
+ log(`Skills up to date (${skillList.length} skill(s) from server).`);
227
+ }
228
+ });
149
229
  }
150
230
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ const pkg = require('../package.json');
12
12
  const login_1 = require("./commands/login");
13
13
  const portfolio_1 = require("./commands/portfolio");
14
14
  const preferences_1 = require("./commands/preferences");
15
- const list_tools_1 = require("./commands/list-tools");
15
+ const list_actions_1 = require("./commands/list-actions");
16
16
  const agents_1 = require("./commands/agents");
17
17
  const deploy_1 = require("./commands/deploy");
18
18
  const import_1 = require("./commands/import");
@@ -30,6 +30,8 @@ const list_triggers_1 = require("./commands/list-triggers");
30
30
  const memory_1 = require("./commands/memory");
31
31
  const init_1 = require("./commands/init");
32
32
  const install_hooks_1 = require("./commands/install-hooks");
33
+ const debug_1 = require("./commands/debug");
34
+ const run_1 = require("./commands/run");
33
35
  const ui_1 = require("./utils/ui");
34
36
  const config_1 = require("./lib/config");
35
37
  const history_1 = require("./lib/history");
@@ -38,7 +40,7 @@ const program = new commander_1.Command();
38
40
  program
39
41
  .name('suzi')
40
42
  .description('Suzi CLI — Autonomous agent platform for blockchain protocols')
41
- .version('0.1.0')
43
+ .version(pkg.version)
42
44
  .addHelpText('beforeAll', (0, ui_1.logo)())
43
45
  .addHelpText('after', () => {
44
46
  const config = (0, config_1.getConfig)();
@@ -60,7 +62,7 @@ program
60
62
  (0, login_1.registerLoginCommand)(program); // login, logout, whoami
61
63
  (0, portfolio_1.registerPortfolioCommand)(program); // portfolio
62
64
  (0, preferences_1.registerPreferencesCommand)(program); // preferences, preferences set-username, preferences telegram
63
- (0, list_tools_1.registerListToolsCommand)(program); // list-tools / tools
65
+ (0, list_actions_1.registerListActionsCommand)(program); // list-actions / actions
64
66
  (0, agents_1.registerAgentsCommand)(program); // agents, agents view, agents activate, agents deactivate, agents execute, agents logs, agents delete
65
67
  (0, deploy_1.registerDeployCommand)(program); // deploy
66
68
  (0, import_1.registerImportCommand)(program); // import
@@ -69,7 +71,7 @@ program
69
71
  (0, transactions_1.registerTransactionsCommand)(program); // transactions / txns, tx-confirm
70
72
  (0, prompt_suggestions_1.registerPromptSuggestions)(program); // suggest / help-me
71
73
  (0, skills_1.registerSkillsCommand)(program); // skills, skills add
72
- (0, create_1.registerCreateCommand)(program); // create
74
+ (0, create_1.registerCreateCommand)(program); // start
73
75
  (0, accounts_1.registerAccountsCommand)(program); // accounts, accounts show, accounts fund, accounts switch, accounts create, accounts rename, accounts delete
74
76
  (0, feedback_1.registerFeedbackCommand)(program); // feedback
75
77
  (0, env_1.registerEnvCommand)(program); // env, env set, env list, env remove
@@ -78,6 +80,8 @@ program
78
80
  (0, memory_1.registerMemoryCommand)(program); // memory, memory learnings, memory log, memory context, memory clear, memory edit, memory export
79
81
  (0, init_1.registerInitCommand)(program); // init (generate SUZI.md)
80
82
  (0, install_hooks_1.registerInstallHooksCommand)(program); // install-hooks (Claude Code hooks)
83
+ (0, debug_1.registerDebugCommand)(program); // debug, debug logs, debug aggregate, debug db-logs, debug executions, debug runs
84
+ (0, run_1.registerRunCommand)(program); // run <action> [--key value ...]
81
85
  // Default action: show quick status + suggestions
82
86
  program.action(() => {
83
87
  console.log((0, ui_1.logo)());
@@ -107,12 +111,13 @@ program.action(() => {
107
111
  if (!loggedIn) {
108
112
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi login')} ${ui_1.colors.muted('Sign in with Google')}`);
109
113
  }
110
- console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi create')} ${ui_1.colors.muted('Create an agent with Claude Code or Codex')}`);
114
+ console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi start')} ${ui_1.colors.muted('Create an agent with Claude Code or Codex')}`);
111
115
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi portfolio')} ${ui_1.colors.muted('View balances and positions')}`);
112
116
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi accounts')} ${ui_1.colors.muted('Manage accounts and funding')}`);
113
117
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi agents')} ${ui_1.colors.muted('List your agents')}`);
114
118
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi deploy')} ${ui_1.colors.muted('Deploy an agent')}`);
115
- console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi list-tools')} ${ui_1.colors.muted('Browse available tools')}`);
119
+ console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi run')} ${ui_1.colors.muted('Execute an action directly')}`);
120
+ console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi list-actions')} ${ui_1.colors.muted('Browse available actions')}`);
116
121
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi list-triggers')} ${ui_1.colors.muted('Browse available triggers')}`);
117
122
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi suggest')} ${ui_1.colors.muted('Get command suggestions')}`);
118
123
  console.log(` ${ui_1.colors.primary('$')} ${chalk_1.default.white('suzi feedback')} ${ui_1.colors.muted('Send feedback to the team')}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface ActionDescription {
2
+ name: string;
3
+ protocol: string;
4
+ description: string;
5
+ requires?: {
6
+ wallet?: Array<'svm' | 'evm'>;
7
+ };
8
+ parameters: Record<string, unknown>;
9
+ response?: Record<string, unknown>;
10
+ }
11
+ export declare function getActions(forceRefresh?: boolean): Promise<ActionDescription[]>;
12
+ export declare function cacheAge(): string | null;
13
+ export declare function getActionByName(name: string, forceRefresh?: boolean): Promise<ActionDescription | undefined>;
14
+ export declare function getSchemaProperties(action: ActionDescription): string[];
15
+ //# sourceMappingURL=actions-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-cache.d.ts","sourceRoot":"","sources":["../../src/lib/actions-cache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;KAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA0CD,wBAAsB,UAAU,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAWnF;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAOxC;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,GACnB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAGxC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAIvE"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getActions = getActions;
7
+ exports.cacheAge = cacheAge;
8
+ exports.getActionByName = getActionByName;
9
+ exports.getSchemaProperties = getSchemaProperties;
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const os_1 = __importDefault(require("os"));
13
+ const api_1 = require("./api");
14
+ const CACHE_DIR = path_1.default.join(os_1.default.homedir(), '.suzi');
15
+ const CACHE_PATH = path_1.default.join(CACHE_DIR, 'actions-cache.json');
16
+ const CACHE_TTL = 60 * 60 * 1000; // 1 hour
17
+ function readCache() {
18
+ try {
19
+ if (fs_1.default.existsSync(CACHE_PATH)) {
20
+ const raw = fs_1.default.readFileSync(CACHE_PATH, 'utf-8');
21
+ return JSON.parse(raw);
22
+ }
23
+ }
24
+ catch {
25
+ // Corrupted cache — ignore
26
+ }
27
+ return null;
28
+ }
29
+ function writeCache(data) {
30
+ try {
31
+ if (!fs_1.default.existsSync(CACHE_DIR)) {
32
+ fs_1.default.mkdirSync(CACHE_DIR, { recursive: true });
33
+ }
34
+ fs_1.default.writeFileSync(CACHE_PATH, JSON.stringify(data, null, 2));
35
+ }
36
+ catch {
37
+ // Best-effort caching — don't fail the command if disk write fails
38
+ }
39
+ }
40
+ async function fetchActions() {
41
+ const res = await (0, api_1.get)('/api/actions');
42
+ if (!res.ok || !res.data?.ok) {
43
+ throw new Error(res.data?.error ?? `API returned status ${res.status}`);
44
+ }
45
+ return res.data.actions ?? [];
46
+ }
47
+ async function getActions(forceRefresh = false) {
48
+ if (!forceRefresh) {
49
+ const cache = readCache();
50
+ if (cache && Date.now() - cache.fetchedAt < CACHE_TTL) {
51
+ return cache.actions;
52
+ }
53
+ }
54
+ const actions = await fetchActions();
55
+ writeCache({ fetchedAt: Date.now(), actions });
56
+ return actions;
57
+ }
58
+ function cacheAge() {
59
+ const cache = readCache();
60
+ if (!cache)
61
+ return null;
62
+ const mins = Math.floor((Date.now() - cache.fetchedAt) / 60000);
63
+ if (mins < 1)
64
+ return 'just now';
65
+ if (mins < 60)
66
+ return `${mins}m ago`;
67
+ return `${Math.floor(mins / 60)}h ${mins % 60}m ago`;
68
+ }
69
+ async function getActionByName(name, forceRefresh = false) {
70
+ const actions = await getActions(forceRefresh);
71
+ return actions.find((a) => a.name === name);
72
+ }
73
+ function getSchemaProperties(action) {
74
+ const params = action.parameters;
75
+ if (!params?.properties)
76
+ return [];
77
+ return Object.keys(params.properties);
78
+ }
79
+ //# sourceMappingURL=actions-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-cache.js","sourceRoot":"","sources":["../../src/lib/actions-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface CachedSkill {
2
+ name: string;
3
+ description: string;
4
+ files: Array<{
5
+ path: string;
6
+ content: string;
7
+ }>;
8
+ }
9
+ /**
10
+ * Fetch skills from the API, using a local cache with 1hr TTL.
11
+ * Pass forceRefresh=true to bypass the cache.
12
+ */
13
+ export declare function getSkills(forceRefresh?: boolean): Promise<CachedSkill[]>;
14
+ /**
15
+ * Return cached skills without making a network call.
16
+ * Returns null if no cache exists or the cache is corrupted.
17
+ */
18
+ export declare function getCachedSkills(): CachedSkill[] | null;
19
+ /**
20
+ * Return a human-readable string describing how old the cache is, or null if no cache.
21
+ */
22
+ export declare function cacheAge(): string | null;
23
+ //# sourceMappingURL=skills-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-cache.d.ts","sourceRoot":"","sources":["../../src/lib/skills-cache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAwDD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAW5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,EAAE,GAAG,IAAI,CAItD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAOxC"}