forge-solana-sdk 3.5.0 → 3.5.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAgCA,wBAAsB,YAAY,CAAC,MAAM,GAAE,MAAkB,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAgCA,wBAAsB,YAAY,CAAC,MAAM,GAAE,MAAkB,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/F"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.agentCommand = agentCommand;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
5
6
|
const ascii_js_1 = require("../ascii.js");
|
|
6
7
|
async function agentCommand(action = 'analyze', options = {}) {
|
|
7
8
|
console.log(ascii_js_1.logo);
|
|
@@ -21,12 +22,24 @@ async function agentCommand(action = 'analyze', options = {}) {
|
|
|
21
22
|
case 'simulate':
|
|
22
23
|
await simulateAgenticExecution();
|
|
23
24
|
break;
|
|
25
|
+
case 'link':
|
|
26
|
+
await generateNeuralLink();
|
|
27
|
+
break;
|
|
28
|
+
case 'pulse':
|
|
29
|
+
await startAgentPulse();
|
|
30
|
+
break;
|
|
24
31
|
case 'harden':
|
|
25
32
|
await hardenForAgents();
|
|
26
33
|
break;
|
|
34
|
+
case 'policy':
|
|
35
|
+
await generateAgentPolicy();
|
|
36
|
+
break;
|
|
37
|
+
case 'doctor':
|
|
38
|
+
await runAgentDoctor();
|
|
39
|
+
break;
|
|
27
40
|
default:
|
|
28
41
|
console.error(`❌ Unknown action: ${action}`);
|
|
29
|
-
console.log('Available actions: analyze, manifest, harden, simulate');
|
|
42
|
+
console.log('Available actions: analyze, manifest, harden, simulate, link, pulse, policy, doctor');
|
|
30
43
|
}
|
|
31
44
|
}
|
|
32
45
|
catch (error) {
|
|
@@ -151,6 +164,119 @@ async function simulateAgenticExecution() {
|
|
|
151
164
|
}
|
|
152
165
|
console.log('\n✨ Simulation successful! Agent is ready for autonomous deployment.');
|
|
153
166
|
}
|
|
167
|
+
async function generateNeuralLink() {
|
|
168
|
+
console.log('🧠 Generating Neural Link (Context for LLM Agents)...\n');
|
|
169
|
+
const manifest = await buildManifest();
|
|
170
|
+
const programName = getProgramName();
|
|
171
|
+
const neuralLink = `
|
|
172
|
+
# FORGE NEURAL LINK: ${programName.toUpperCase()}
|
|
173
|
+
# Generated: ${new Date().toISOString()}
|
|
174
|
+
|
|
175
|
+
## CONTEXT
|
|
176
|
+
You are an autonomous agent responsible for interacting with the ${programName} Solana program.
|
|
177
|
+
Your primary goal is: ${manifest.description}
|
|
178
|
+
|
|
179
|
+
## CAPABILITIES
|
|
180
|
+
- Instructions: ${manifest.capabilities.instructions.join(', ')}
|
|
181
|
+
- PDA Management: Automated via Forge-Runtime
|
|
182
|
+
- Security: ${manifest.security.hardened ? 'Hardened with Forge macros' : 'Standard Anchor'}
|
|
183
|
+
|
|
184
|
+
## CONSTRAINTS
|
|
185
|
+
- Max Compute Units: ${manifest.constraints.maxComputeUnits}
|
|
186
|
+
- Restricted Instructions: ${manifest.constraints.restrictedInstructions.join(', ')}
|
|
187
|
+
- Required Signers: ${manifest.constraints.requiredSigners.join(', ')}
|
|
188
|
+
|
|
189
|
+
## SECURITY PROTOCOL
|
|
190
|
+
- Always check "require_signer!" on authority accounts.
|
|
191
|
+
- Enforce reentrancy guards on all CPI calls.
|
|
192
|
+
- Validate all account ownership before mutation.
|
|
193
|
+
|
|
194
|
+
## IDL OVERVIEW
|
|
195
|
+
${JSON.stringify(manifest.capabilities.instructions, null, 2)}
|
|
196
|
+
`;
|
|
197
|
+
const outputPath = 'neural-link.md';
|
|
198
|
+
(0, fs_1.writeFileSync)(outputPath, neuralLink);
|
|
199
|
+
console.log(`✅ Neural Link generated: ${outputPath}`);
|
|
200
|
+
console.log('💡 Tip: Provide this file to your AI agent to establish a high-fidelity connection.');
|
|
201
|
+
}
|
|
202
|
+
async function startAgentPulse() {
|
|
203
|
+
console.log('📡 Initializing Agent Pulse HUD...');
|
|
204
|
+
const frames = ['-', '\\', '|', '/'];
|
|
205
|
+
let i = 0;
|
|
206
|
+
console.clear();
|
|
207
|
+
console.log(ascii_js_1.logo);
|
|
208
|
+
console.log('⚡ FORGE NEURAL HUD v1.0.0 | System: ONLINE\n');
|
|
209
|
+
const interval = setInterval(() => {
|
|
210
|
+
const frame = frames[i % frames.length];
|
|
211
|
+
process.stdout.write(`\r[${frame}] NEURAL ACTIVITY: ${Math.floor(Math.random() * 100)}% | CPU: ${Math.floor(Math.random() * 40 + 10)}% | SECURITY HR: 72bpm `);
|
|
212
|
+
i++;
|
|
213
|
+
if (i > 40) {
|
|
214
|
+
clearInterval(interval);
|
|
215
|
+
console.log('\n\n✅ Pulse diagnostic complete. All agentic systems stable.');
|
|
216
|
+
}
|
|
217
|
+
}, 100);
|
|
218
|
+
// Wait for the interval to finish before returning
|
|
219
|
+
await new Promise(resolve => setTimeout(resolve, 4500));
|
|
220
|
+
}
|
|
221
|
+
async function generateAgentPolicy() {
|
|
222
|
+
console.log('📜 Generating Agentic Runtime Policy (SAFE Boundary)...\n');
|
|
223
|
+
const manifest = await buildManifest();
|
|
224
|
+
const policy = {
|
|
225
|
+
name: `${manifest.name} Default Policy`,
|
|
226
|
+
version: '1.0.0',
|
|
227
|
+
governance: {
|
|
228
|
+
requireMultiSig: false,
|
|
229
|
+
emergencyStopEnabled: true
|
|
230
|
+
},
|
|
231
|
+
constraints: {
|
|
232
|
+
maxSolPerTransaction: 0.1,
|
|
233
|
+
dailySpendLimitSol: 1.0,
|
|
234
|
+
allowedPrograms: [
|
|
235
|
+
'Token Program',
|
|
236
|
+
'System Program',
|
|
237
|
+
'Associated Token Account Program'
|
|
238
|
+
],
|
|
239
|
+
blockedInstructions: manifest.constraints.restrictedInstructions
|
|
240
|
+
},
|
|
241
|
+
monitoring: {
|
|
242
|
+
pulseFrequencyMs: 5000,
|
|
243
|
+
autoAuditEnabled: true
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
const outputPath = 'agent-policy.json';
|
|
247
|
+
(0, fs_1.writeFileSync)(outputPath, JSON.stringify(policy, null, 2));
|
|
248
|
+
console.log(`✅ Agent Policy generated: ${outputPath}`);
|
|
249
|
+
console.log('🛡️ This policy defines the safety boundaries for autonomous execution.');
|
|
250
|
+
}
|
|
251
|
+
async function runAgentDoctor() {
|
|
252
|
+
console.log('🩺 Running FORGE Agentic Doctor...\n');
|
|
253
|
+
const checks = [
|
|
254
|
+
{ name: 'Solana CLI', cmd: 'solana --version', minVer: '1.18.0' },
|
|
255
|
+
{ name: 'Anchor CLI', cmd: 'anchor --version', minVer: '0.29.0' },
|
|
256
|
+
{ name: 'Rust Toolchain', cmd: 'rustc --version', minVer: '1.85.0' },
|
|
257
|
+
{ name: 'Forge Runtime', check: () => checkHardening() }
|
|
258
|
+
];
|
|
259
|
+
for (const check of checks) {
|
|
260
|
+
process.stdout.write(`- Checking ${check.name}... `);
|
|
261
|
+
try {
|
|
262
|
+
if (check.cmd) {
|
|
263
|
+
const out = (0, child_process_1.execSync)(check.cmd, { stdio: 'pipe' }).toString().trim();
|
|
264
|
+
process.stdout.write(`✅ (${out})\n`);
|
|
265
|
+
}
|
|
266
|
+
else if (check.check) {
|
|
267
|
+
const ok = check.check();
|
|
268
|
+
if (ok)
|
|
269
|
+
process.stdout.write('✅ (Integrated)\n');
|
|
270
|
+
else
|
|
271
|
+
process.stdout.write('⚠️ (Forge Runtime not found in project)\n');
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
catch (e) {
|
|
275
|
+
process.stdout.write('❌ (Missing or failed)\n');
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
console.log('\n✅ Diagnosis complete. Environment ready for agentic operations.');
|
|
279
|
+
}
|
|
154
280
|
async function detectSecurityIssues() {
|
|
155
281
|
const issues = [];
|
|
156
282
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":";;AAgCA,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|