agentlaunch-cli 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @agent-launch/cli
1
+ # agentlaunch-cli
2
2
 
3
3
  Command-line interface for [AgentLaunch](https://agent-launch.ai) — scaffold, deploy, and tokenize AI agents from your terminal or CI pipeline.
4
4
 
@@ -6,10 +6,10 @@ Command-line interface for [AgentLaunch](https://agent-launch.ai) — scaffold,
6
6
 
7
7
  ```bash
8
8
  # Global install (recommended for interactive use)
9
- npm install -g @agent-launch/cli
9
+ npm install -g agentlaunch-cli
10
10
 
11
11
  # Or run without installing
12
- npx @agent-launch/cli <command>
12
+ npx agentlaunch-cli <command>
13
13
  ```
14
14
 
15
15
  Requires Node.js >= 18.
@@ -167,10 +167,96 @@ agentlaunch tokenize \
167
167
  | `--description <desc>` | Token description | - |
168
168
  | `--image <url>` | Token logo URL | - |
169
169
  | `--chain <chainId>` | 97 = BSC Testnet, 56 = BSC Mainnet | 97 |
170
+ | `--max-wallet <0\|1\|2>` | Max wallet size: 0=unlimited, 1=0.5% (5M tokens), 2=1% (10M tokens) | 0 |
171
+ | `--initial-buy <amount>` | FET to spend buying tokens immediately after deploy (0–1000 FET) | 0 |
172
+ | `--category <id>` | Category ID for the token | 1 |
170
173
  | `--json` | Output only JSON | false |
171
174
 
172
175
  The command returns a **handoff link** (e.g. `https://agent-launch.ai/deploy/123`). Share this with a human who connects their wallet and pays the deployment fee.
173
176
 
177
+ **Max wallet options:**
178
+
179
+ | Value | Limit | Token cap |
180
+ |-------|-------|-----------|
181
+ | `0` | Unlimited | No cap |
182
+ | `1` | 0.5% of supply | 5,000,000 tokens |
183
+ | `2` | 1% of supply | 10,000,000 tokens |
184
+
185
+ **Initial buy:** Specify a FET amount (e.g. `--initial-buy 100`) to have the deploying wallet purchase tokens immediately when the contract is deployed. This seeds early liquidity and sets an initial price. Maximum 1,000 FET.
186
+
187
+ ---
188
+
189
+ ### `agentlaunch comments <address>`
190
+
191
+ List or post comments on a token.
192
+
193
+ ```bash
194
+ # List comments for a token
195
+ agentlaunch comments 0xAbCdEf...
196
+
197
+ # Post a comment (requires API key configured)
198
+ agentlaunch comments 0xAbCdEf... --post "Great agent, just bought some!"
199
+
200
+ # JSON output for machine parsing
201
+ agentlaunch comments 0xAbCdEf... --json
202
+ ```
203
+
204
+ **Options:**
205
+
206
+ | Flag | Description | Default |
207
+ |------|-------------|---------|
208
+ | `--post <message>` | Post a new comment (max 500 chars). Requires API key. | - |
209
+ | `--json` | Output only JSON | false |
210
+
211
+ **Example table output (listing):**
212
+
213
+ ```
214
+ Comments for 0xAbCdEf... (3 comments)
215
+
216
+ ──────────────────────────────────────────────────────────────────
217
+ Author Message Posted
218
+ ──────────────────────────────────────────────────────────────────
219
+ 0x1234...abcd Great project! Just bought 10k tokens. 2 hours ago
220
+ 0x5678...ef01 When DEX listing? 5 hours ago
221
+ 0x9abc...2345 Solid agent, bullish. 1 day ago
222
+ ──────────────────────────────────────────────────────────────────
223
+ ```
224
+
225
+ ---
226
+
227
+ ### `agentlaunch holders <address>`
228
+
229
+ Show the token holder distribution table.
230
+
231
+ ```bash
232
+ # Show holders for a token
233
+ agentlaunch holders 0xAbCdEf...
234
+
235
+ # JSON output for machine parsing
236
+ agentlaunch holders 0xAbCdEf... --json
237
+ ```
238
+
239
+ **Options:**
240
+
241
+ | Flag | Description |
242
+ |------|-------------|
243
+ | `--json` | Output only JSON |
244
+
245
+ **Example table output:**
246
+
247
+ ```
248
+ Holders for 0xAbCdEf... (47 holders)
249
+
250
+ ──────────────────────────────────────────────────────────
251
+ Address Balance Percentage
252
+ ──────────────────────────────────────────────────────────
253
+ 0x1234...abcd 12,500,000 1.56%
254
+ 0x5678...ef01 8,300,000 1.04%
255
+ 0x9abc...2345 4,100,000 0.51%
256
+ ...
257
+ ──────────────────────────────────────────────────────────
258
+ ```
259
+
174
260
  ---
175
261
 
176
262
  ### `agentlaunch list`
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CF-049: comments command
3
+ *
4
+ * agentlaunch comments <address> [--post <message>] [--json]
5
+ *
6
+ * Default action: list comments for a token.
7
+ * With --post: post a new comment (requires API key).
8
+ *
9
+ * Endpoints:
10
+ * GET /comments/{address} List comments
11
+ * POST /comments/{address} { message } Post a comment
12
+ */
13
+ import { Command } from "commander";
14
+ export declare function registerCommentsCommand(program: Command): void;
15
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+H9D"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * CF-049: comments command
3
+ *
4
+ * agentlaunch comments <address> [--post <message>] [--json]
5
+ *
6
+ * Default action: list comments for a token.
7
+ * With --post: post a new comment (requires API key).
8
+ *
9
+ * Endpoints:
10
+ * GET /comments/{address} List comments
11
+ * POST /comments/{address} { message } Post a comment
12
+ */
13
+ import { apiGet, apiPost } from "../http.js";
14
+ export function registerCommentsCommand(program) {
15
+ program
16
+ .command("comments <address>")
17
+ .description("List or post comments for a token by its contract address")
18
+ .option("--post <message>", "Post a new comment (requires API key)")
19
+ .option("--json", "Output raw JSON (machine-readable)")
20
+ .action(async (address, options) => {
21
+ const isJson = options.json === true;
22
+ if (!address || address.trim().length < 10) {
23
+ if (isJson) {
24
+ console.log(JSON.stringify({ error: "Invalid token address" }));
25
+ }
26
+ else {
27
+ console.error("Error: Please provide a valid token contract address.");
28
+ }
29
+ process.exit(1);
30
+ }
31
+ const addr = address.trim();
32
+ // --- POST a new comment ---
33
+ if (options.post !== undefined) {
34
+ const message = options.post.trim();
35
+ if (!message) {
36
+ if (isJson) {
37
+ console.log(JSON.stringify({ error: "--post message cannot be empty" }));
38
+ }
39
+ else {
40
+ console.error("Error: --post message cannot be empty");
41
+ }
42
+ process.exit(1);
43
+ }
44
+ if (message.length > 500) {
45
+ if (isJson) {
46
+ console.log(JSON.stringify({ error: "--post message must be 500 characters or fewer" }));
47
+ }
48
+ else {
49
+ console.error("Error: --post message must be 500 characters or fewer");
50
+ }
51
+ process.exit(1);
52
+ }
53
+ let result;
54
+ try {
55
+ result = await apiPost(`/comments/${addr}`, { message });
56
+ }
57
+ catch (err) {
58
+ if (isJson) {
59
+ console.log(JSON.stringify({ error: err.message }));
60
+ }
61
+ else {
62
+ console.error(`Error: ${err.message}`);
63
+ }
64
+ process.exit(1);
65
+ }
66
+ if (isJson) {
67
+ console.log(JSON.stringify({ success: true, comment: result }));
68
+ return;
69
+ }
70
+ console.log("Comment posted successfully.");
71
+ if (result.id !== undefined) {
72
+ console.log(` ID: ${result.id}`);
73
+ }
74
+ console.log(` Message: ${result.message ?? message}`);
75
+ const ts = result.createdAt ?? result.created_at;
76
+ if (ts) {
77
+ console.log(` Posted: ${new Date(ts).toUTCString()}`);
78
+ }
79
+ return;
80
+ }
81
+ // --- LIST comments ---
82
+ let comments;
83
+ try {
84
+ const response = await apiGet(`/comments/${addr}`);
85
+ // Handle both array responses and wrapped responses
86
+ if (Array.isArray(response)) {
87
+ comments = response;
88
+ }
89
+ else {
90
+ comments = response.data ??
91
+ response.comments ??
92
+ [];
93
+ }
94
+ }
95
+ catch (err) {
96
+ if (isJson) {
97
+ console.log(JSON.stringify({ error: err.message }));
98
+ }
99
+ else {
100
+ console.error(`Error: ${err.message}`);
101
+ }
102
+ process.exit(1);
103
+ }
104
+ if (isJson) {
105
+ console.log(JSON.stringify({ comments, total: comments.length }));
106
+ return;
107
+ }
108
+ if (comments.length === 0) {
109
+ console.log(`No comments found for ${addr}`);
110
+ return;
111
+ }
112
+ console.log(`\nComments for ${addr}\n`);
113
+ console.log("─".repeat(60));
114
+ for (const c of comments) {
115
+ const author = c.user?.username ??
116
+ c.user?.address?.slice(0, 10) ??
117
+ `user#${c.userId ?? c.user_id ?? "?"}`;
118
+ const ts = c.createdAt ?? c.created_at;
119
+ const dateStr = ts ? new Date(ts).toUTCString() : "";
120
+ console.log(`[${c.id ?? "?"}] ${author}${dateStr ? " " + dateStr : ""}`);
121
+ console.log(` ${c.message ?? ""}`);
122
+ console.log();
123
+ }
124
+ console.log("─".repeat(60));
125
+ console.log(`${comments.length} comment(s). Use --post "<message>" to add one.\n`);
126
+ });
127
+ }
128
+ //# sourceMappingURL=comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CF-051: holders command
3
+ *
4
+ * agentlaunch holders <address> [--json]
5
+ *
6
+ * Fetches the holder list for a token from the API and displays it
7
+ * as a table with Address, Balance, and Percentage columns.
8
+ *
9
+ * Endpoint: GET /transactions/holders/{address}
10
+ */
11
+ import { Command } from "commander";
12
+ export declare function registerHoldersCommand(program: Command): void;
13
+ //# sourceMappingURL=holders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holders.d.ts","sourceRoot":"","sources":["../../src/commands/holders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF7D"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * CF-051: holders command
3
+ *
4
+ * agentlaunch holders <address> [--json]
5
+ *
6
+ * Fetches the holder list for a token from the API and displays it
7
+ * as a table with Address, Balance, and Percentage columns.
8
+ *
9
+ * Endpoint: GET /transactions/holders/{address}
10
+ */
11
+ import { apiGet } from "../http.js";
12
+ export function registerHoldersCommand(program) {
13
+ program
14
+ .command("holders <address>")
15
+ .description("Show token holder list by contract address")
16
+ .option("--json", "Output raw JSON (machine-readable)")
17
+ .action(async (address, options) => {
18
+ const isJson = options.json === true;
19
+ if (!address || address.trim().length < 10) {
20
+ if (isJson) {
21
+ console.log(JSON.stringify({ error: "Invalid token address" }));
22
+ }
23
+ else {
24
+ console.error("Error: Please provide a valid token contract address.");
25
+ }
26
+ process.exit(1);
27
+ }
28
+ const addr = address.trim();
29
+ let holders;
30
+ try {
31
+ const response = await apiGet(`/transactions/holders/${addr}`);
32
+ if (Array.isArray(response)) {
33
+ holders = response;
34
+ }
35
+ else {
36
+ holders = response.data ??
37
+ response.holders ??
38
+ [];
39
+ }
40
+ }
41
+ catch (err) {
42
+ if (isJson) {
43
+ console.log(JSON.stringify({ error: err.message }));
44
+ }
45
+ else {
46
+ console.error(`Error: ${err.message}`);
47
+ }
48
+ process.exit(1);
49
+ }
50
+ if (isJson) {
51
+ console.log(JSON.stringify({ holders, total: holders.length }));
52
+ return;
53
+ }
54
+ if (holders.length === 0) {
55
+ console.log(`No holders found for ${addr}`);
56
+ return;
57
+ }
58
+ // Pretty-print table
59
+ const colAddr = 44;
60
+ const colBalance = 20;
61
+ const colPct = 10;
62
+ const hr = "─".repeat(colAddr + colBalance + colPct + 6);
63
+ console.log(`\nToken Holders: ${addr}\n`);
64
+ console.log(hr);
65
+ console.log(pad("Address", colAddr) +
66
+ pad("Balance", colBalance) +
67
+ "Percentage");
68
+ console.log(hr);
69
+ for (const h of holders) {
70
+ const addrCol = h.address ?? "-";
71
+ const balanceCol = h.balance !== undefined ? formatNumber(h.balance) : "-";
72
+ const pctCol = `${(h.token_percentage ?? 0).toFixed(2)}%`;
73
+ const creatorTag = h.creator ? " (creator)" : "";
74
+ console.log(pad(addrCol + creatorTag, colAddr) +
75
+ pad(balanceCol, colBalance) +
76
+ pctCol);
77
+ }
78
+ console.log(hr);
79
+ console.log(`\n${holders.length} holder(s) total.\n`);
80
+ console.log(`View on platform: https://agent-launch.ai/trade/${addr}`);
81
+ });
82
+ }
83
+ // --- helpers ---
84
+ function pad(s, width) {
85
+ return s.length >= width ? s.slice(0, width) : s + " ".repeat(width - s.length);
86
+ }
87
+ function formatNumber(n) {
88
+ if (n >= 1_000_000)
89
+ return `${(n / 1_000_000).toFixed(2)}M`;
90
+ if (n >= 1_000)
91
+ return `${(n / 1_000).toFixed(2)}K`;
92
+ return n.toFixed(2);
93
+ }
94
+ //# sourceMappingURL=holders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holders.js","sourceRoot":"","sources":["../../src/commands/holders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../src/commands/tokenize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiK9D"}
1
+ {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../src/commands/tokenize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiO9D"}
@@ -23,6 +23,9 @@ export function registerTokenizeCommand(program) {
23
23
  .option("--description <desc>", "Token description (max 500 chars)")
24
24
  .option("--image <url>", "URL of the token logo image")
25
25
  .option("--chain <chainId>", "Chain ID: 97 (BSC testnet) or 56 (BSC mainnet)", "97")
26
+ .option("--max-wallet <value>", "Max wallet limit: 0=unlimited, 1=0.5%, 2=1%", "0")
27
+ .option("--initial-buy <amount>", "FET to buy immediately after deploy (0-1000)")
28
+ .option("--category <id>", "Category ID (default: 1)", "1")
26
29
  .option("--json", "Output only JSON (machine-readable)")
27
30
  .action(async (options) => {
28
31
  const isJson = options.json === true;
@@ -67,21 +70,66 @@ export function registerTokenizeCommand(program) {
67
70
  }
68
71
  process.exit(1);
69
72
  }
73
+ const maxWallet = parseInt(options.maxWallet, 10);
74
+ if (![0, 1, 2].includes(maxWallet)) {
75
+ if (isJson) {
76
+ console.log(JSON.stringify({ error: "--max-wallet must be 0 (unlimited), 1 (0.5%), or 2 (1%)" }));
77
+ }
78
+ else {
79
+ console.error("Error: --max-wallet must be 0 (unlimited), 1 (0.5%), or 2 (1%)");
80
+ }
81
+ process.exit(1);
82
+ }
83
+ let initialBuyAmount;
84
+ if (options.initialBuy !== undefined) {
85
+ initialBuyAmount = parseFloat(options.initialBuy);
86
+ if (isNaN(initialBuyAmount) || initialBuyAmount < 0 || initialBuyAmount > 1000) {
87
+ if (isJson) {
88
+ console.log(JSON.stringify({ error: "--initial-buy must be a number between 0 and 1000" }));
89
+ }
90
+ else {
91
+ console.error("Error: --initial-buy must be a number between 0 and 1000");
92
+ }
93
+ process.exit(1);
94
+ }
95
+ }
96
+ const categoryId = parseInt(options.category, 10);
97
+ if (isNaN(categoryId) || categoryId < 1) {
98
+ if (isJson) {
99
+ console.log(JSON.stringify({ error: "--category must be a valid positive integer" }));
100
+ }
101
+ else {
102
+ console.error("Error: --category must be a valid positive integer");
103
+ }
104
+ process.exit(1);
105
+ }
70
106
  const body = {
71
107
  agentAddress: options.agent,
72
108
  name: options.name,
73
109
  symbol,
74
110
  chainId,
111
+ maxWalletAmount: maxWallet,
112
+ category: { id: categoryId },
75
113
  };
76
114
  if (options.description)
77
115
  body.description = options.description;
78
116
  if (options.image)
79
117
  body.image = options.image;
118
+ if (initialBuyAmount !== undefined)
119
+ body.initialBuyAmount = initialBuyAmount;
120
+ const maxWalletLabel = maxWallet === 0 ? "Unlimited" :
121
+ maxWallet === 1 ? "0.5% (5M tokens)" :
122
+ "1% (10M tokens)";
80
123
  if (!isJson) {
81
124
  console.log(`Tokenizing agent: ${options.agent}`);
82
- console.log(` Name: ${options.name}`);
83
- console.log(` Symbol: ${symbol}`);
84
- console.log(` Chain: ${chainId === 56 ? "BSC mainnet" : "BSC testnet"} (${chainId})`);
125
+ console.log(` Name: ${options.name}`);
126
+ console.log(` Symbol: ${symbol}`);
127
+ console.log(` Chain: ${chainId === 56 ? "BSC mainnet" : "BSC testnet"} (${chainId})`);
128
+ console.log(` Max Wallet: ${maxWalletLabel}`);
129
+ if (initialBuyAmount !== undefined && initialBuyAmount > 0) {
130
+ console.log(` Initial buy: ${initialBuyAmount} FET`);
131
+ }
132
+ console.log(` Category: ${categoryId}`);
85
133
  }
86
134
  let result;
87
135
  try {
@@ -111,6 +159,9 @@ export function registerTokenizeCommand(program) {
111
159
  tokenAddress: result.token_address,
112
160
  status: result.status,
113
161
  handoffLink,
162
+ maxWalletAmount: maxWallet,
163
+ initialBuyAmount: initialBuyAmount ?? 0,
164
+ category: { id: categoryId },
114
165
  deployFee: "120 FET (read from contract at deploy time)",
115
166
  tradingFee: "2% -> 100% to protocol treasury",
116
167
  }));
@@ -128,6 +179,11 @@ export function registerTokenizeCommand(program) {
128
179
  if (result.status) {
129
180
  console.log(`Status: ${result.status}`);
130
181
  }
182
+ console.log(`Max Wallet: ${maxWalletLabel}`);
183
+ if (initialBuyAmount !== undefined && initialBuyAmount > 0) {
184
+ console.log(`Initial Buy: ${initialBuyAmount} FET`);
185
+ }
186
+ console.log(`Category: ${categoryId}`);
131
187
  if (handoffLink) {
132
188
  console.log(`\nHandoff link (share with a human to deploy on-chain):`);
133
189
  console.log(` ${handoffLink}`);
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../src/commands/tokenize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA0BrC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,yFAAyF,CAC1F;SACA,cAAc,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;SAC5E,cAAc,CAAC,eAAe,EAAE,2BAA2B,CAAC;SAC5D,cAAc,CACb,mBAAmB,EACnB,6CAA6C,CAC9C;SACA,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SACnE,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CACL,mBAAmB,EACnB,gDAAgD,EAChD,IAAI,CACL;SACA,MAAM,CAAC,QAAQ,EAAE,qCAAqC,CAAC;SACvD,MAAM,CACL,KAAK,EAAE,OAQN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QAErC,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,oEAAoE;iBAC5E,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7B,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAC,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAiB;YACzB,YAAY,EAAE,OAAO,CAAC,KAAK;YAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;YACN,OAAO;SACR,CAAC;QACF,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAChE,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,GAAG,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAmB,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;QAExB,MAAM,WAAW,GACf,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,IAAI,EAAE,YAAY;YACzB,CAAC,OAAO,KAAK,SAAS;gBACpB,CAAC,CAAC,GAAG,gBAAgB,WAAW,OAAO,EAAE;gBACzC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO;gBACP,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW;gBACX,SAAS,EAAE,6CAA6C;gBACxD,UAAU,EAAE,iCAAiC;aAC9C,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,8CAA8C,CAC/C,CAAC;IACJ,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../src/commands/tokenize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgCrC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,yFAAyF,CAC1F;SACA,cAAc,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;SAC5E,cAAc,CAAC,eAAe,EAAE,2BAA2B,CAAC;SAC5D,cAAc,CACb,mBAAmB,EACnB,6CAA6C,CAC9C;SACA,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SACnE,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CACL,mBAAmB,EACnB,gDAAgD,EAChD,IAAI,CACL;SACA,MAAM,CACL,sBAAsB,EACtB,6CAA6C,EAC7C,GAAG,CACJ;SACA,MAAM,CAAC,wBAAwB,EAAE,8CAA8C,CAAC;SAChF,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,GAAG,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,qCAAqC,CAAC;SACvD,MAAM,CACL,KAAK,EAAE,OAWN,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;QAErC,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,oEAAoE;iBAC5E,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7B,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sDAAsD,EAAE,CAAC,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,gBAAoC,CAAC;QACzC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,GAAG,IAAI,EAAE,CAAC;gBAC/E,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC5E,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAiB;YACzB,YAAY,EAAE,OAAO,CAAC,KAAK;YAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;YACN,OAAO;YACP,eAAe,EAAE,SAAS;YAC1B,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;SAC7B,CAAC;QACF,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAChE,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAE7E,MAAM,cAAc,GAClB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC/B,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACtC,iBAAiB,CAAC;QAEpB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,GAAG,CAAC,CAAC;YAC5F,OAAO,CAAC,GAAG,CAAC,iBAAiB,cAAc,EAAE,CAAC,CAAC;YAC/C,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,kBAAkB,gBAAgB,MAAM,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAmB,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;QAExB,MAAM,WAAW,GACf,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,IAAI,EAAE,YAAY;YACzB,CAAC,OAAO,KAAK,SAAS;gBACpB,CAAC,CAAC,GAAG,gBAAgB,WAAW,OAAO,EAAE;gBACzC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO;gBACP,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW;gBACX,eAAe,EAAE,SAAS;gBAC1B,gBAAgB,EAAE,gBAAgB,IAAI,CAAC;gBACvC,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;gBAC5B,SAAS,EAAE,6CAA6C;gBACxD,UAAU,EAAE,iCAAiC;aAC9C,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,EAAE,CAAC,CAAC;QAC7C,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,gBAAgB,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;QAEzC,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,8CAA8C,CAC/C,CAAC;IACJ,CAAC,CACF,CAAC;AACN,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @agent-launch/cli
3
+ * agentlaunch-cli
4
4
  *
5
5
  * CLI for the AgentLaunch platform — scaffold, deploy, and tokenize AI agents.
6
6
  *
@@ -14,6 +14,8 @@
14
14
  * agentlaunch tokenize Create token record + handoff link
15
15
  * agentlaunch list List tokens with pagination
16
16
  * agentlaunch status <address> Show token status
17
+ * agentlaunch comments <address> List or post comments for a token
18
+ * agentlaunch holders <address> Show token holder list
17
19
  *
18
20
  * All commands support --json for machine-readable output (AI agent use).
19
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @agent-launch/cli
3
+ * agentlaunch-cli
4
4
  *
5
5
  * CLI for the AgentLaunch platform — scaffold, deploy, and tokenize AI agents.
6
6
  *
@@ -14,13 +14,17 @@
14
14
  * agentlaunch tokenize Create token record + handoff link
15
15
  * agentlaunch list List tokens with pagination
16
16
  * agentlaunch status <address> Show token status
17
+ * agentlaunch comments <address> List or post comments for a token
18
+ * agentlaunch holders <address> Show token holder list
17
19
  *
18
20
  * All commands support --json for machine-readable output (AI agent use).
19
21
  */
20
22
  import { Command } from "commander";
23
+ import { registerCommentsCommand } from "./commands/comments.js";
21
24
  import { registerConfigCommand } from "./commands/config.js";
22
25
  import { registerCreateCommand } from "./commands/create.js";
23
26
  import { registerDeployCommand } from "./commands/deploy.js";
27
+ import { registerHoldersCommand } from "./commands/holders.js";
24
28
  import { registerListCommand } from "./commands/list.js";
25
29
  import { registerScaffoldCommand } from "./commands/scaffold.js";
26
30
  import { registerStatusCommand } from "./commands/status.js";
@@ -38,6 +42,8 @@ registerDeployCommand(program);
38
42
  registerTokenizeCommand(program);
39
43
  registerListCommand(program);
40
44
  registerStatusCommand(program);
45
+ registerCommentsCommand(program);
46
+ registerHoldersCommand(program);
41
47
  // Show help if no command is given
42
48
  if (process.argv.length <= 2) {
43
49
  program.help();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CACV,+EAA+E,CAChF;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,2BAA2B;AAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,mCAAmC;AACnC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CACV,+EAA+E,CAChF;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,2BAA2B;AAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,mCAAmC;AACnC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACtD,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentlaunch-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "CLI for AgentLaunch — scaffold, deploy, and tokenize AI agents from the command line",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",