stacksagent 1.2.0 ā 1.2.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.
- package/dist/assets/.claude/skills/stacks-agent/SKILL.md +1 -1
- package/dist/assets/.shared/stacks-agent/data/stacks-js.csv +4 -0
- package/dist/commands/update.js +5 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/versions.js +2 -2
- package/dist/commands/versions.js.map +1 -1
- package/package.json +1 -1
|
@@ -41,7 +41,7 @@ This skill includes searchable databases for:
|
|
|
41
41
|
- **14 Contract templates** - FT, NFT, DAO, Vault, Marketplace, Stacking
|
|
42
42
|
- **15 Security patterns** - Common vulnerabilities and fixes
|
|
43
43
|
- **15 DeFi protocols** - Alex, Velar, Bitflow, Zest, StackingDAO, Boost, Faktory
|
|
44
|
-
- **
|
|
44
|
+
- **76 Stacks.js snippets** - Production wallet patterns (STX/BTC addresses, connect, getLocalStorage, isConnected), transactions, API calls, React hooks, server-side patterns
|
|
45
45
|
- **10 BNS operations** - Name registration and resolution
|
|
46
46
|
- **15 Stacking guides** - PoX stacking and delegation
|
|
47
47
|
- **25 Deployment steps** - Testnet, mainnet, and devnet
|
|
@@ -70,3 +70,7 @@ id,category,name,description,code,imports,notes
|
|
|
70
70
|
70,wallet,get-wallet-addresses,"Get all wallet addresses (STX BTC) from connected wallet","async function getWalletAddresses() { const { isConnected getLocalStorage } = await import('@stacks/connect'); if (!isConnected()) return null; return getLocalStorage()?.addresses || null }","import { isConnected getLocalStorage } from '@stacks/connect'","Returns addresses object with stx and btc arrays; null if not connected"
|
|
71
71
|
71,wallet,disconnect-wallet-helper,"Complete disconnect helper with cleanup","async function disconnectWallet() { const { disconnect } = await import('@stacks/connect'); disconnect(); localStorage.clear() }","import { disconnect } from '@stacks/connect'","Disconnect and clear all localStorage; use localStorage.clear() or removeItem"
|
|
72
72
|
72,wallet,is-wallet-connected,"Check wallet connection status","async function isWalletConnected() { const { isConnected } = await import('@stacks/connect'); return isConnected() }","import { isConnected } from '@stacks/connect'","Returns boolean; call before attempting to access wallet data"
|
|
73
|
+
73,wallet,get-btc-address,"Get Bitcoin address from connected wallet","const { isConnected getLocalStorage } = await import('@stacks/connect'); if (!isConnected()) return null; const data = getLocalStorage(); return data?.addresses?.btc?.[0]?.address || null","import { isConnected getLocalStorage } from '@stacks/connect'","Returns BTC address string from addresses.btc[0].address"
|
|
74
|
+
74,wallet,get-stx-and-btc-addresses,"Get both STX and BTC addresses","const { isConnected getLocalStorage } = await import('@stacks/connect'); if (!isConnected()) return null; const data = getLocalStorage(); const stxAddress = data?.addresses?.stx?.[0]?.address; const btcAddress = data?.addresses?.btc?.[0]?.address; return { stx: stxAddress btc: btcAddress }","import { isConnected getLocalStorage } from '@stacks/connect'","Returns object with both addresses; addresses are from first element of arrays"
|
|
75
|
+
75,wallet,addresses-structure,"Understanding getLocalStorage addresses structure","const data = getLocalStorage(); // Returns: { addresses: { stx: [{ address: 'SP...' }] btc: [{ address: 'bc1...' }] } }","import { getLocalStorage } from '@stacks/connect'","Addresses are arrays; stx[0].address for STX, btc[0].address for BTC"
|
|
76
|
+
76,wallet,resolve-stx-address-helper,"Helper to resolve STX address from connected wallet","async function resolveStxAddress() { const { isConnected getLocalStorage } = await import('@stacks/connect'); if (!isConnected()) return null; const data = getLocalStorage(); return data?.addresses?.stx?.[0]?.address || null }","import { isConnected getLocalStorage } from '@stacks/connect'","Production helper matching sBTC Market pattern; returns STX address string or null"
|
package/dist/commands/update.js
CHANGED
|
@@ -12,20 +12,20 @@ async function update() {
|
|
|
12
12
|
console.log(chalk_1.default.blue('\nš Checking for updates...\n'));
|
|
13
13
|
try {
|
|
14
14
|
// Check current version
|
|
15
|
-
const { stdout: currentVersion } = await execAsync('npm list -g
|
|
15
|
+
const { stdout: currentVersion } = await execAsync('npm list -g stacksagent --depth=0');
|
|
16
16
|
console.log(chalk_1.default.gray(`Current version: ${currentVersion.trim()}`));
|
|
17
17
|
// Check latest version
|
|
18
|
-
const { stdout: latestVersion } = await execAsync('npm view
|
|
18
|
+
const { stdout: latestVersion } = await execAsync('npm view stacksagent version');
|
|
19
19
|
console.log(chalk_1.default.gray(`Latest version: ${latestVersion.trim()}\n`));
|
|
20
20
|
// Update
|
|
21
21
|
console.log(chalk_1.default.blue('Installing latest version...'));
|
|
22
|
-
await execAsync('npm install -g
|
|
22
|
+
await execAsync('npm install -g stacksagent@latest');
|
|
23
23
|
console.log(chalk_1.default.green('\nā
Successfully updated to latest version!\n'));
|
|
24
|
-
console.log(chalk_1.default.gray('Run "
|
|
24
|
+
console.log(chalk_1.default.gray('Run "stacksagent init" in your project to update skill files.\n'));
|
|
25
25
|
}
|
|
26
26
|
catch (error) {
|
|
27
27
|
console.log(chalk_1.default.red(`\nā Update failed: ${error}\n`));
|
|
28
|
-
console.log(chalk_1.default.gray('Try running: npm install -g
|
|
28
|
+
console.log(chalk_1.default.gray('Try running: npm install -g stacksagent@latest\n'));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;AAMA,wBAsBC;AA5BD,kDAA0B;AAC1B,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAE3B,KAAK,UAAU,MAAM;IAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;AAMA,wBAsBC;AA5BD,kDAA0B;AAC1B,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAE3B,KAAK,UAAU,MAAM;IAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAErE,uBAAuB;QACvB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErE,SAAS;QACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAErD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
|
|
@@ -11,7 +11,7 @@ const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
|
11
11
|
async function versions() {
|
|
12
12
|
console.log(chalk_1.default.blue('\nš¦ Stacks Agent versions:\n'));
|
|
13
13
|
try {
|
|
14
|
-
const { stdout } = await execAsync('npm view
|
|
14
|
+
const { stdout } = await execAsync('npm view stacksagent versions --json');
|
|
15
15
|
const versionList = JSON.parse(stdout);
|
|
16
16
|
console.log(chalk_1.default.gray('Available versions:'));
|
|
17
17
|
versionList.slice(-10).forEach((v) => {
|
|
@@ -24,7 +24,7 @@ async function versions() {
|
|
|
24
24
|
console.log('');
|
|
25
25
|
}
|
|
26
26
|
console.log(chalk_1.default.gray('Install specific version:'));
|
|
27
|
-
console.log(chalk_1.default.gray(' npm install -g
|
|
27
|
+
console.log(chalk_1.default.gray(' npm install -g stacksagent@<version>\n'));
|
|
28
28
|
}
|
|
29
29
|
catch (error) {
|
|
30
30
|
console.log(chalk_1.default.red(`\nā Failed to fetch versions: ${error}\n`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":";;;;;AAMA,4BAuBC;AA7BD,kDAA0B;AAC1B,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAE3B,KAAK,UAAU,QAAQ;IAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/commands/versions.ts"],"names":[],"mappings":";;;;;AAMA,4BAuBC;AA7BD,kDAA0B;AAC1B,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAE3B,KAAK,UAAU,QAAQ;IAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/C,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,MAAM,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iCAAiC,KAAK,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|