@inkd/cli 0.1.0
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 +226 -0
- package/dist/abi.d.ts +408 -0
- package/dist/abi.d.ts.map +1 -0
- package/dist/abi.js +283 -0
- package/dist/abi.js.map +1 -0
- package/dist/client.d.ts +19 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +34 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/agent.d.ts +10 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +106 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/agentd.d.ts +35 -0
- package/dist/commands/agentd.d.ts.map +1 -0
- package/dist/commands/agentd.js +336 -0
- package/dist/commands/agentd.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +25 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/project.d.ts +16 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +222 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/search.d.ts +14 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +141 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +44 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/token.d.ts +46 -0
- package/dist/commands/token.d.ts.map +1 -0
- package/dist/commands/token.js +410 -0
- package/dist/commands/token.js.map +1 -0
- package/dist/commands/version.d.ts +12 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +134 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/commands/watch.d.ts +16 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +175 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/config.d.ts +42 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +94 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* inkd watch — stream on-chain Inkd Protocol events in real-time
|
|
4
|
+
*
|
|
5
|
+
* Sub-commands:
|
|
6
|
+
* all — all events (default)
|
|
7
|
+
* projects — ProjectCreated + ProjectUpdated events only
|
|
8
|
+
* versions — VersionPushed events only
|
|
9
|
+
* agents — agent-related events only
|
|
10
|
+
*
|
|
11
|
+
* Flags:
|
|
12
|
+
* --poll <ms> Polling interval in ms (default: 3000)
|
|
13
|
+
* --from <block> Start block (default: latest - 1000)
|
|
14
|
+
* --json Output raw JSON (for piping)
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.cmdWatch = cmdWatch;
|
|
18
|
+
const viem_1 = require("viem");
|
|
19
|
+
const config_js_1 = require("../config.js");
|
|
20
|
+
const client_js_1 = require("../client.js");
|
|
21
|
+
// ─── Event signatures ─────────────────────────────────────────────────────────
|
|
22
|
+
const WATCH_ABI = (0, viem_1.parseAbi)([
|
|
23
|
+
'event ProjectCreated(uint256 indexed projectId, address indexed owner, string name, bool isAgent)',
|
|
24
|
+
'event VersionPushed(uint256 indexed projectId, uint256 indexed versionIndex, string arweaveHash, string versionTag)',
|
|
25
|
+
'event ProjectTransferred(uint256 indexed projectId, address indexed from, address indexed to)',
|
|
26
|
+
'event CollaboratorAdded(uint256 indexed projectId, address indexed collaborator)',
|
|
27
|
+
'event CollaboratorRemoved(uint256 indexed projectId, address indexed collaborator)',
|
|
28
|
+
'event VisibilityChanged(uint256 indexed projectId, bool isPublic)',
|
|
29
|
+
'event ReadmeUpdated(uint256 indexed projectId, string arweaveHash)',
|
|
30
|
+
'event AgentEndpointUpdated(uint256 indexed projectId, string endpoint)',
|
|
31
|
+
]);
|
|
32
|
+
function parseFlag(args, flag) {
|
|
33
|
+
const i = args.indexOf(flag);
|
|
34
|
+
return i !== -1 && args[i + 1] ? args[i + 1] : undefined;
|
|
35
|
+
}
|
|
36
|
+
function formatTs() {
|
|
37
|
+
return new Date().toISOString().replace('T', ' ').slice(0, 19);
|
|
38
|
+
}
|
|
39
|
+
function renderEvent(log, jsonMode) {
|
|
40
|
+
try {
|
|
41
|
+
const decoded = (0, viem_1.decodeEventLog)({ abi: WATCH_ABI, data: log.data, topics: log.topics });
|
|
42
|
+
const name = decoded.eventName;
|
|
43
|
+
const args = decoded.args;
|
|
44
|
+
if (jsonMode) {
|
|
45
|
+
console.log(JSON.stringify({
|
|
46
|
+
event: name,
|
|
47
|
+
block: log.blockNumber?.toString(),
|
|
48
|
+
tx: log.transactionHash,
|
|
49
|
+
args: Object.fromEntries(Object.entries(args).map(([k, v]) => [k, typeof v === 'bigint' ? v.toString() : v])),
|
|
50
|
+
timestamp: formatTs(),
|
|
51
|
+
}));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const ts = config_js_1.DIM + formatTs() + config_js_1.RESET;
|
|
55
|
+
const block = config_js_1.DIM + `#${log.blockNumber}` + config_js_1.RESET;
|
|
56
|
+
switch (name) {
|
|
57
|
+
case 'ProjectCreated': {
|
|
58
|
+
const badge = args['isAgent'] ? config_js_1.CYAN + ' [agent]' + config_js_1.RESET : '';
|
|
59
|
+
console.log(`${ts} ${config_js_1.GREEN}✦ ProjectCreated${config_js_1.RESET}${badge} ${block}`);
|
|
60
|
+
console.log(` id=${config_js_1.CYAN}${args['projectId']}${config_js_1.RESET} owner=${config_js_1.DIM}${String(args['owner']).slice(0, 10)}…${config_js_1.RESET} name=${config_js_1.BOLD}${args['name']}${config_js_1.RESET}`);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case 'VersionPushed':
|
|
64
|
+
console.log(`${ts} ${config_js_1.CYAN}↑ VersionPushed${config_js_1.RESET} ${block}`);
|
|
65
|
+
console.log(` project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} tag=${config_js_1.BOLD}${args['versionTag']}${config_js_1.RESET} hash=${config_js_1.DIM}ar://${String(args['arweaveHash']).slice(0, 12)}…${config_js_1.RESET}`);
|
|
66
|
+
break;
|
|
67
|
+
case 'ProjectTransferred':
|
|
68
|
+
console.log(`${ts} ${config_js_1.YELLOW}⇄ ProjectTransferred${config_js_1.RESET} ${block}`);
|
|
69
|
+
console.log(` project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} from=${config_js_1.DIM}${String(args['from']).slice(0, 10)}…${config_js_1.RESET} to=${String(args['to']).slice(0, 10)}…`);
|
|
70
|
+
break;
|
|
71
|
+
case 'CollaboratorAdded':
|
|
72
|
+
console.log(`${ts} ${config_js_1.GREEN}+ CollaboratorAdded${config_js_1.RESET} ${block} project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} ${config_js_1.DIM}${String(args['collaborator']).slice(0, 10)}…${config_js_1.RESET}`);
|
|
73
|
+
break;
|
|
74
|
+
case 'CollaboratorRemoved':
|
|
75
|
+
console.log(`${ts} ${config_js_1.YELLOW}- CollaboratorRemoved${config_js_1.RESET} ${block} project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} ${config_js_1.DIM}${String(args['collaborator']).slice(0, 10)}…${config_js_1.RESET}`);
|
|
76
|
+
break;
|
|
77
|
+
case 'VisibilityChanged':
|
|
78
|
+
console.log(`${ts} ${config_js_1.CYAN}◎ VisibilityChanged${config_js_1.RESET} ${block} project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} public=${args['isPublic'] ? config_js_1.GREEN + 'true' : config_js_1.YELLOW + 'false'}${config_js_1.RESET}`);
|
|
79
|
+
break;
|
|
80
|
+
case 'ReadmeUpdated':
|
|
81
|
+
console.log(`${ts} ${config_js_1.DIM}📄 ReadmeUpdated${config_js_1.RESET} project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} hash=${config_js_1.DIM}ar://${String(args['arweaveHash']).slice(0, 12)}…${config_js_1.RESET}`);
|
|
82
|
+
break;
|
|
83
|
+
case 'AgentEndpointUpdated':
|
|
84
|
+
console.log(`${ts} ${config_js_1.CYAN}⚡ AgentEndpointUpdated${config_js_1.RESET} project=${config_js_1.CYAN}#${args['projectId']}${config_js_1.RESET} endpoint=${args['endpoint']}`);
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
console.log(`${ts} ${name} ${block} ${config_js_1.DIM}${JSON.stringify(args)}${config_js_1.RESET}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// unknown log — show raw
|
|
92
|
+
if (jsonMode) {
|
|
93
|
+
console.log(JSON.stringify({ raw: log.transactionHash, block: log.blockNumber?.toString() }));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// ─── Determine which events to include ───────────────────────────────────────
|
|
98
|
+
const FILTER_MAP = {
|
|
99
|
+
all: ['ProjectCreated', 'VersionPushed', 'ProjectTransferred', 'CollaboratorAdded', 'CollaboratorRemoved', 'VisibilityChanged', 'ReadmeUpdated', 'AgentEndpointUpdated'],
|
|
100
|
+
projects: ['ProjectCreated', 'ProjectTransferred', 'VisibilityChanged', 'ReadmeUpdated'],
|
|
101
|
+
versions: ['VersionPushed'],
|
|
102
|
+
agents: ['ProjectCreated', 'AgentEndpointUpdated'],
|
|
103
|
+
};
|
|
104
|
+
// ─── Main ─────────────────────────────────────────────────────────────────────
|
|
105
|
+
async function cmdWatch(args) {
|
|
106
|
+
const filterArg = (args[0] && !args[0].startsWith('--') ? args[0] : 'all');
|
|
107
|
+
if (!FILTER_MAP[filterArg]) {
|
|
108
|
+
(0, config_js_1.error)(`Unknown filter "${filterArg}". Use: all | projects | versions | agents`);
|
|
109
|
+
}
|
|
110
|
+
const pollMs = parseInt(parseFlag(args, '--poll') ?? '3000', 10);
|
|
111
|
+
const fromArg = parseFlag(args, '--from');
|
|
112
|
+
const jsonMode = args.includes('--json');
|
|
113
|
+
const cfg = (0, config_js_1.loadConfig)();
|
|
114
|
+
const addrs = config_js_1.ADDRESSES[cfg.network];
|
|
115
|
+
if (!addrs.registry)
|
|
116
|
+
(0, config_js_1.error)('Registry address not configured. Deploy contracts first.');
|
|
117
|
+
const client = (0, client_js_1.buildPublicClient)(cfg);
|
|
118
|
+
// Determine starting block
|
|
119
|
+
let fromBlock;
|
|
120
|
+
if (fromArg) {
|
|
121
|
+
fromBlock = BigInt(fromArg);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
const latest = await client.getBlockNumber();
|
|
125
|
+
fromBlock = latest > 1000n ? latest - 1000n : 0n;
|
|
126
|
+
}
|
|
127
|
+
if (!jsonMode) {
|
|
128
|
+
console.log();
|
|
129
|
+
console.log(` ${config_js_1.BOLD}Inkd Protocol — Live Event Feed${config_js_1.RESET}`);
|
|
130
|
+
console.log(` ${'─'.repeat(50)}`);
|
|
131
|
+
(0, config_js_1.info)(`Network: ${config_js_1.CYAN}${cfg.network}${config_js_1.RESET}`);
|
|
132
|
+
(0, config_js_1.info)(`Registry: ${config_js_1.DIM}${addrs.registry}${config_js_1.RESET}`);
|
|
133
|
+
(0, config_js_1.info)(`Filter: ${config_js_1.CYAN}${filterArg}${config_js_1.RESET} (${FILTER_MAP[filterArg].join(', ')})`);
|
|
134
|
+
(0, config_js_1.info)(`Polling: every ${pollMs}ms`);
|
|
135
|
+
(0, config_js_1.info)(`From: block #${fromBlock}`);
|
|
136
|
+
console.log();
|
|
137
|
+
console.log(` ${config_js_1.DIM}Watching… (Ctrl+C to stop)${config_js_1.RESET}`);
|
|
138
|
+
console.log();
|
|
139
|
+
}
|
|
140
|
+
let lastBlock = fromBlock;
|
|
141
|
+
let seenCount = 0;
|
|
142
|
+
while (true) {
|
|
143
|
+
try {
|
|
144
|
+
const currentBlock = await client.getBlockNumber();
|
|
145
|
+
if (currentBlock > lastBlock) {
|
|
146
|
+
const logs = await client.getLogs({
|
|
147
|
+
address: addrs.registry,
|
|
148
|
+
fromBlock: lastBlock + 1n,
|
|
149
|
+
toBlock: currentBlock,
|
|
150
|
+
});
|
|
151
|
+
for (const log of logs) {
|
|
152
|
+
// Attempt to decode and filter by event name
|
|
153
|
+
try {
|
|
154
|
+
const decoded = (0, viem_1.decodeEventLog)({ abi: WATCH_ABI, data: log.data, topics: log.topics });
|
|
155
|
+
if (FILTER_MAP[filterArg].includes(decoded.eventName)) {
|
|
156
|
+
renderEvent(log, jsonMode);
|
|
157
|
+
seenCount++;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
// not one of our events
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
lastBlock = currentBlock;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
if (!jsonMode) {
|
|
169
|
+
console.error(`${config_js_1.DIM}[${formatTs()}] Poll error: ${e.message}${config_js_1.RESET}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
await new Promise(r => setTimeout(r, pollMs));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inkd CLI — Config management
|
|
3
|
+
* Reads inkd.config.json from cwd, or falls back to env vars.
|
|
4
|
+
*/
|
|
5
|
+
import type { Address } from 'viem';
|
|
6
|
+
export interface InkdConfig {
|
|
7
|
+
network: 'mainnet' | 'testnet';
|
|
8
|
+
rpcUrl?: string;
|
|
9
|
+
/** Private key hex string. Prefer INKD_PRIVATE_KEY env var over storing in file. */
|
|
10
|
+
privateKey?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const DEFAULT_CONFIG: InkdConfig;
|
|
13
|
+
export declare function loadConfig(): InkdConfig;
|
|
14
|
+
export declare function writeConfig(cfg: InkdConfig): void;
|
|
15
|
+
export declare function requirePrivateKey(cfg: InkdConfig): `0x${string}`;
|
|
16
|
+
export declare const ADDRESSES: {
|
|
17
|
+
readonly mainnet: {
|
|
18
|
+
readonly token: Address;
|
|
19
|
+
readonly registry: Address;
|
|
20
|
+
readonly treasury: Address;
|
|
21
|
+
readonly rpcUrl: "https://mainnet.base.org";
|
|
22
|
+
};
|
|
23
|
+
readonly testnet: {
|
|
24
|
+
readonly token: Address;
|
|
25
|
+
readonly registry: Address;
|
|
26
|
+
readonly treasury: Address;
|
|
27
|
+
readonly rpcUrl: "https://mainnet.base.org";
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type Network = keyof typeof ADDRESSES;
|
|
31
|
+
export declare function error(msg: string): never;
|
|
32
|
+
export declare function success(msg: string): void;
|
|
33
|
+
export declare function info(msg: string): void;
|
|
34
|
+
export declare function warn(msg: string): void;
|
|
35
|
+
export declare const RED: string;
|
|
36
|
+
export declare const GREEN: string;
|
|
37
|
+
export declare const YELLOW: string;
|
|
38
|
+
export declare const CYAN: string;
|
|
39
|
+
export declare const BOLD: string;
|
|
40
|
+
export declare const DIM: string;
|
|
41
|
+
export declare const RESET: string;
|
|
42
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,UAE5B,CAAA;AAID,wBAAgB,UAAU,IAAI,UAAU,CAkBvC;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAKjD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,KAAK,MAAM,EAAE,CAWhE;AAID,eAAO,MAAM,SAAS;;wBAGF,OAAO;2BACP,OAAO;2BACP,OAAO;;;;wBAKmC,OAAO;2BACP,OAAO;2BACP,OAAO;;;CAG3D,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAA;AAI5C,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAGxC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAKD,eAAO,MAAM,GAAG,QAA+B,CAAA;AAC/C,eAAO,MAAM,KAAK,QAA6B,CAAA;AAC/C,eAAO,MAAM,MAAM,QAA4B,CAAA;AAC/C,eAAO,MAAM,IAAI,QAA8B,CAAA;AAC/C,eAAO,MAAM,IAAI,QAA6B,CAAA;AAC9C,eAAO,MAAM,GAAG,QAA8B,CAAA;AAC9C,eAAO,MAAM,KAAK,QAA4B,CAAA"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Inkd CLI — Config management
|
|
4
|
+
* Reads inkd.config.json from cwd, or falls back to env vars.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.RESET = exports.DIM = exports.BOLD = exports.CYAN = exports.YELLOW = exports.GREEN = exports.RED = exports.ADDRESSES = exports.DEFAULT_CONFIG = void 0;
|
|
8
|
+
exports.loadConfig = loadConfig;
|
|
9
|
+
exports.writeConfig = writeConfig;
|
|
10
|
+
exports.requirePrivateKey = requirePrivateKey;
|
|
11
|
+
exports.error = error;
|
|
12
|
+
exports.success = success;
|
|
13
|
+
exports.info = info;
|
|
14
|
+
exports.warn = warn;
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
const path_1 = require("path");
|
|
17
|
+
exports.DEFAULT_CONFIG = {
|
|
18
|
+
network: 'testnet',
|
|
19
|
+
};
|
|
20
|
+
const CONFIG_FILE = 'inkd.config.json';
|
|
21
|
+
function loadConfig() {
|
|
22
|
+
const path = (0, path_1.resolve)(process.cwd(), CONFIG_FILE);
|
|
23
|
+
let file = {};
|
|
24
|
+
if ((0, fs_1.existsSync)(path)) {
|
|
25
|
+
try {
|
|
26
|
+
file = JSON.parse((0, fs_1.readFileSync)(path, 'utf-8'));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
error(`Failed to parse ${CONFIG_FILE}. Is it valid JSON?`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Env var overrides
|
|
33
|
+
const privateKey = process.env['INKD_PRIVATE_KEY'] ?? file.privateKey;
|
|
34
|
+
const rpcUrl = process.env['INKD_RPC_URL'] ?? file.rpcUrl;
|
|
35
|
+
const network = (process.env['INKD_NETWORK'] ?? file.network ?? 'testnet');
|
|
36
|
+
return { network, rpcUrl, privateKey };
|
|
37
|
+
}
|
|
38
|
+
function writeConfig(cfg) {
|
|
39
|
+
const path = (0, path_1.resolve)(process.cwd(), CONFIG_FILE);
|
|
40
|
+
// Never persist private key to file
|
|
41
|
+
const { privateKey: _pk, ...safe } = cfg;
|
|
42
|
+
(0, fs_1.writeFileSync)(path, JSON.stringify(safe, null, 2) + '\n', 'utf-8');
|
|
43
|
+
}
|
|
44
|
+
function requirePrivateKey(cfg) {
|
|
45
|
+
const key = cfg.privateKey ?? process.env['INKD_PRIVATE_KEY'];
|
|
46
|
+
if (!key) {
|
|
47
|
+
error('Private key not found.\n' +
|
|
48
|
+
' Set INKD_PRIVATE_KEY env var, or add "privateKey" to inkd.config.json\n' +
|
|
49
|
+
' Example: export INKD_PRIVATE_KEY=0xabc123...');
|
|
50
|
+
}
|
|
51
|
+
const hex = key.startsWith('0x') ? key : `0x${key}`;
|
|
52
|
+
return hex;
|
|
53
|
+
}
|
|
54
|
+
// ─── Inkd contract addresses ─────────────────────────────────────────────────
|
|
55
|
+
exports.ADDRESSES = {
|
|
56
|
+
mainnet: {
|
|
57
|
+
// $INKD — real launch (tonight)
|
|
58
|
+
token: '',
|
|
59
|
+
registry: '',
|
|
60
|
+
treasury: '',
|
|
61
|
+
rpcUrl: 'https://mainnet.base.org',
|
|
62
|
+
},
|
|
63
|
+
testnet: {
|
|
64
|
+
// $TEST — beta launch on Base mainnet (2026-03-03)
|
|
65
|
+
token: '0xdea1645d97AE3090fb787bbdB49cf6D5638c1b55',
|
|
66
|
+
registry: '0x8daD662a4dEAF42187F5abeBC18886175a75A364',
|
|
67
|
+
treasury: '0x1B24F377C5264d07E7443cB714D27fA484BE0F02',
|
|
68
|
+
rpcUrl: 'https://mainnet.base.org',
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
72
|
+
function error(msg) {
|
|
73
|
+
console.error(`\n ${exports.RED}✗${exports.RESET} ${msg}\n`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
function success(msg) {
|
|
77
|
+
console.log(`\n ${exports.GREEN}✓${exports.RESET} ${msg}\n`);
|
|
78
|
+
}
|
|
79
|
+
function info(msg) {
|
|
80
|
+
console.log(` ${exports.CYAN}→${exports.RESET} ${msg}`);
|
|
81
|
+
}
|
|
82
|
+
function warn(msg) {
|
|
83
|
+
console.warn(` ${exports.YELLOW}⚠${exports.RESET} ${msg}`);
|
|
84
|
+
}
|
|
85
|
+
// ─── ANSI colours ─────────────────────────────────────────────────────────────
|
|
86
|
+
const noColor = process.env['NO_COLOR'] !== undefined || !process.stdout.isTTY;
|
|
87
|
+
exports.RED = noColor ? '' : '\x1b[31m';
|
|
88
|
+
exports.GREEN = noColor ? '' : '\x1b[32m';
|
|
89
|
+
exports.YELLOW = noColor ? '' : '\x1b[33m';
|
|
90
|
+
exports.CYAN = noColor ? '' : '\x1b[36m';
|
|
91
|
+
exports.BOLD = noColor ? '' : '\x1b[1m';
|
|
92
|
+
exports.DIM = noColor ? '' : '\x1b[2m';
|
|
93
|
+
exports.RESET = noColor ? '' : '\x1b[0m';
|
|
94
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @inkd/cli — Inkd Protocol command-line interface
|
|
4
|
+
*
|
|
5
|
+
* Usage: inkd <command> [sub-command] [flags]
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* init Scaffold inkd.config.json
|
|
9
|
+
* status Show network status and fees
|
|
10
|
+
* project create Register a new project (locks 1 $INKD)
|
|
11
|
+
* project get <id> Fetch project details
|
|
12
|
+
* project list <address> List projects owned by an address
|
|
13
|
+
* project transfer Transfer project ownership
|
|
14
|
+
* project collab add|remove Manage collaborators
|
|
15
|
+
* version push Push a new version to a project
|
|
16
|
+
* version list <id> List all versions for a project
|
|
17
|
+
* version show Show a specific version
|
|
18
|
+
* agent list Browse agent directory
|
|
19
|
+
* agent lookup <name> Find an agent project by name
|
|
20
|
+
* help Show this help message
|
|
21
|
+
*/
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* @inkd/cli — Inkd Protocol command-line interface
|
|
5
|
+
*
|
|
6
|
+
* Usage: inkd <command> [sub-command] [flags]
|
|
7
|
+
*
|
|
8
|
+
* Commands:
|
|
9
|
+
* init Scaffold inkd.config.json
|
|
10
|
+
* status Show network status and fees
|
|
11
|
+
* project create Register a new project (locks 1 $INKD)
|
|
12
|
+
* project get <id> Fetch project details
|
|
13
|
+
* project list <address> List projects owned by an address
|
|
14
|
+
* project transfer Transfer project ownership
|
|
15
|
+
* project collab add|remove Manage collaborators
|
|
16
|
+
* version push Push a new version to a project
|
|
17
|
+
* version list <id> List all versions for a project
|
|
18
|
+
* version show Show a specific version
|
|
19
|
+
* agent list Browse agent directory
|
|
20
|
+
* agent lookup <name> Find an agent project by name
|
|
21
|
+
* help Show this help message
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
const config_js_1 = require("./config.js");
|
|
25
|
+
const init_js_1 = require("./commands/init.js");
|
|
26
|
+
const status_js_1 = require("./commands/status.js");
|
|
27
|
+
const project_js_1 = require("./commands/project.js");
|
|
28
|
+
const version_js_1 = require("./commands/version.js");
|
|
29
|
+
const agent_js_1 = require("./commands/agent.js");
|
|
30
|
+
const watch_js_1 = require("./commands/watch.js");
|
|
31
|
+
const search_js_1 = require("./commands/search.js");
|
|
32
|
+
const agentd_js_1 = require("./commands/agentd.js");
|
|
33
|
+
const token_js_1 = require("./commands/token.js");
|
|
34
|
+
// ─── Help ─────────────────────────────────────────────────────────────────────
|
|
35
|
+
function showHelp() {
|
|
36
|
+
console.log(`
|
|
37
|
+
${config_js_1.BOLD}inkd${config_js_1.RESET} — Inkd Protocol CLI ${config_js_1.DIM}v0.1.0${config_js_1.RESET}
|
|
38
|
+
|
|
39
|
+
${config_js_1.DIM}Ownership layer for AI agents. Every file is a token.${config_js_1.RESET}
|
|
40
|
+
|
|
41
|
+
${config_js_1.BOLD}USAGE${config_js_1.RESET}
|
|
42
|
+
inkd <command> [sub-command] [flags]
|
|
43
|
+
|
|
44
|
+
${config_js_1.BOLD}COMMANDS${config_js_1.RESET}
|
|
45
|
+
${config_js_1.CYAN}init${config_js_1.RESET} Scaffold ${config_js_1.DIM}inkd.config.json${config_js_1.RESET} in current dir
|
|
46
|
+
${config_js_1.CYAN}status${config_js_1.RESET} Show network, contract addresses, and fees
|
|
47
|
+
${config_js_1.CYAN}help${config_js_1.RESET} Show this help message
|
|
48
|
+
|
|
49
|
+
${config_js_1.BOLD}PROJECT${config_js_1.RESET}
|
|
50
|
+
${config_js_1.CYAN}project create${config_js_1.RESET} Register a new project (locks 1 $INKD)
|
|
51
|
+
${config_js_1.DIM}--name <name>${config_js_1.RESET} Project name (required, unique, lowercased)
|
|
52
|
+
${config_js_1.DIM}--description <desc>${config_js_1.RESET} Short description
|
|
53
|
+
${config_js_1.DIM}--license <spdx>${config_js_1.RESET} SPDX license identifier (default: MIT)
|
|
54
|
+
${config_js_1.DIM}--readme <arweave-hash>${config_js_1.RESET} Arweave hash of the README
|
|
55
|
+
${config_js_1.DIM}--private${config_js_1.RESET} Make project private (default: public)
|
|
56
|
+
${config_js_1.DIM}--agent${config_js_1.RESET} Flag as AI agent project
|
|
57
|
+
${config_js_1.DIM}--endpoint <url>${config_js_1.RESET} Agent endpoint URL (if --agent)
|
|
58
|
+
|
|
59
|
+
${config_js_1.CYAN}project get${config_js_1.RESET} <id> Fetch project details
|
|
60
|
+
${config_js_1.CYAN}project list${config_js_1.RESET} <address> List projects owned by address
|
|
61
|
+
${config_js_1.CYAN}project transfer${config_js_1.RESET} Transfer project ownership
|
|
62
|
+
${config_js_1.DIM}--id <id>${config_js_1.RESET} Project ID (required)
|
|
63
|
+
${config_js_1.DIM}--to <address>${config_js_1.RESET} New owner address (required)
|
|
64
|
+
|
|
65
|
+
${config_js_1.CYAN}project collab${config_js_1.RESET} add|remove Manage collaborators
|
|
66
|
+
${config_js_1.DIM}--id <id>${config_js_1.RESET} Project ID (required)
|
|
67
|
+
${config_js_1.DIM}--address <address>${config_js_1.RESET} Collaborator address (required)
|
|
68
|
+
|
|
69
|
+
${config_js_1.BOLD}VERSION${config_js_1.RESET}
|
|
70
|
+
${config_js_1.CYAN}version push${config_js_1.RESET} Push a new version (requires versionFee ETH)
|
|
71
|
+
${config_js_1.DIM}--id <id>${config_js_1.RESET} Project ID (required)
|
|
72
|
+
${config_js_1.DIM}--hash <arweave-hash>${config_js_1.RESET} Arweave content hash (required)
|
|
73
|
+
${config_js_1.DIM}--tag <semver>${config_js_1.RESET} Version tag e.g. v1.2.3 (required)
|
|
74
|
+
${config_js_1.DIM}--changelog <text>${config_js_1.RESET} Changelog notes
|
|
75
|
+
|
|
76
|
+
${config_js_1.CYAN}version list${config_js_1.RESET} <id> List all versions for a project
|
|
77
|
+
${config_js_1.CYAN}version show${config_js_1.RESET} Show a specific version
|
|
78
|
+
${config_js_1.DIM}--id <id>${config_js_1.RESET} Project ID (required)
|
|
79
|
+
${config_js_1.DIM}--index <n>${config_js_1.RESET} Version index, 0-based (required)
|
|
80
|
+
|
|
81
|
+
${config_js_1.BOLD}AGENT${config_js_1.RESET}
|
|
82
|
+
${config_js_1.CYAN}agent list${config_js_1.RESET} Browse the agent project directory
|
|
83
|
+
${config_js_1.DIM}--offset <n>${config_js_1.RESET} Pagination offset (default: 0)
|
|
84
|
+
${config_js_1.DIM}--limit <n>${config_js_1.RESET} Page size (default: 25)
|
|
85
|
+
|
|
86
|
+
${config_js_1.CYAN}agent lookup${config_js_1.RESET} <name> Find agent project by name
|
|
87
|
+
|
|
88
|
+
${config_js_1.BOLD}TOKEN${config_js_1.RESET}
|
|
89
|
+
${config_js_1.CYAN}token balance${config_js_1.RESET} [address] Show $INKD + ETH balance (default: own wallet)
|
|
90
|
+
${config_js_1.CYAN}token allowance${config_js_1.RESET} [address] Check registry spend allowance
|
|
91
|
+
${config_js_1.CYAN}token approve${config_js_1.RESET} <amount> Approve registry to spend N $INKD
|
|
92
|
+
${config_js_1.CYAN}token transfer${config_js_1.RESET} <to> <amount> Send $INKD to another address
|
|
93
|
+
${config_js_1.CYAN}token info${config_js_1.RESET} Show total supply + token metadata
|
|
94
|
+
${config_js_1.DIM}--json${config_js_1.RESET} JSON output for all token commands
|
|
95
|
+
|
|
96
|
+
${config_js_1.BOLD}SEARCH${config_js_1.RESET}
|
|
97
|
+
${config_js_1.CYAN}search${config_js_1.RESET} <query> Search projects by name or description
|
|
98
|
+
${config_js_1.DIM}--agents${config_js_1.RESET} Only search agent projects
|
|
99
|
+
${config_js_1.DIM}--limit <n>${config_js_1.RESET} Max results (default: 20)
|
|
100
|
+
${config_js_1.DIM}--json${config_js_1.RESET} JSON output (for scripting)
|
|
101
|
+
|
|
102
|
+
${config_js_1.BOLD}DAEMON${config_js_1.RESET}
|
|
103
|
+
${config_js_1.CYAN}agentd start${config_js_1.RESET} Run autonomous agent daemon (long-running)
|
|
104
|
+
${config_js_1.DIM}--interval <ms>${config_js_1.RESET} Sync interval in ms (default: 60000)
|
|
105
|
+
${config_js_1.DIM}--dry-run${config_js_1.RESET} Simulate only — no on-chain transactions
|
|
106
|
+
${config_js_1.DIM}--quiet${config_js_1.RESET} Only print errors
|
|
107
|
+
${config_js_1.DIM}--json${config_js_1.RESET} Newline-delimited JSON output (for log pipelines)
|
|
108
|
+
${config_js_1.DIM}--once${config_js_1.RESET} Single cycle then exit (great for cron)
|
|
109
|
+
|
|
110
|
+
${config_js_1.CYAN}agentd status${config_js_1.RESET} Print current daemon state
|
|
111
|
+
${config_js_1.CYAN}agentd peers${config_js_1.RESET} List all discovered peer agents
|
|
112
|
+
|
|
113
|
+
${config_js_1.DIM}Env vars:${config_js_1.RESET}
|
|
114
|
+
${config_js_1.GREEN}INKD_AGENT_NAME${config_js_1.RESET} Your agent's project name (required)
|
|
115
|
+
${config_js_1.GREEN}INKD_AGENT_ENDPOINT${config_js_1.RESET} API endpoint to advertise to peers
|
|
116
|
+
${config_js_1.GREEN}INKD_INTERVAL${config_js_1.RESET} Default interval override in ms
|
|
117
|
+
|
|
118
|
+
${config_js_1.BOLD}WATCH${config_js_1.RESET}
|
|
119
|
+
${config_js_1.CYAN}watch${config_js_1.RESET} [filter] Stream real-time on-chain events
|
|
120
|
+
${config_js_1.DIM}filter: all | projects | versions | agents${config_js_1.RESET} (default: all)
|
|
121
|
+
${config_js_1.DIM}--poll <ms>${config_js_1.RESET} Polling interval (default: 3000)
|
|
122
|
+
${config_js_1.DIM}--from <block>${config_js_1.RESET} Start from block (default: latest-1000)
|
|
123
|
+
${config_js_1.DIM}--json${config_js_1.RESET} Newline-delimited JSON output
|
|
124
|
+
|
|
125
|
+
${config_js_1.BOLD}ENVIRONMENT${config_js_1.RESET}
|
|
126
|
+
${config_js_1.GREEN}INKD_PRIVATE_KEY${config_js_1.RESET} Wallet private key (hex, with or without 0x)
|
|
127
|
+
${config_js_1.GREEN}INKD_NETWORK${config_js_1.RESET} ${config_js_1.DIM}mainnet${config_js_1.RESET} | ${config_js_1.DIM}testnet${config_js_1.RESET} (overrides config file)
|
|
128
|
+
${config_js_1.GREEN}INKD_RPC_URL${config_js_1.RESET} Custom RPC endpoint
|
|
129
|
+
|
|
130
|
+
${config_js_1.BOLD}EXAMPLES${config_js_1.RESET}
|
|
131
|
+
${config_js_1.DIM}inkd init${config_js_1.RESET}
|
|
132
|
+
${config_js_1.DIM}inkd status${config_js_1.RESET}
|
|
133
|
+
${config_js_1.DIM}inkd project create --name my-agent --agent --endpoint https://api.example.com${config_js_1.RESET}
|
|
134
|
+
${config_js_1.DIM}inkd project get 1${config_js_1.RESET}
|
|
135
|
+
${config_js_1.DIM}inkd version push --id 1 --hash abc123xyz --tag v0.1.0 --changelog "initial release"${config_js_1.RESET}
|
|
136
|
+
${config_js_1.DIM}inkd agent list --limit 50${config_js_1.RESET}
|
|
137
|
+
${config_js_1.DIM}inkd agent lookup my-agent${config_js_1.RESET}
|
|
138
|
+
${config_js_1.DIM}inkd search "trading bot" --agents${config_js_1.RESET}
|
|
139
|
+
${config_js_1.DIM}inkd watch versions --poll 5000${config_js_1.RESET}
|
|
140
|
+
${config_js_1.DIM}inkd watch --json | jq .${config_js_1.RESET}
|
|
141
|
+
${config_js_1.DIM}inkd token balance${config_js_1.RESET}
|
|
142
|
+
${config_js_1.DIM}inkd token balance 0xABC...${config_js_1.RESET}
|
|
143
|
+
${config_js_1.DIM}inkd token approve 10${config_js_1.RESET}
|
|
144
|
+
${config_js_1.DIM}inkd token transfer 0xDEF... 5${config_js_1.RESET}
|
|
145
|
+
${config_js_1.DIM}inkd token info --json${config_js_1.RESET}
|
|
146
|
+
${config_js_1.DIM}INKD_AGENT_NAME=my-bot inkd agentd start --interval 30000${config_js_1.RESET}
|
|
147
|
+
${config_js_1.DIM}inkd agentd start --once${config_js_1.RESET}
|
|
148
|
+
${config_js_1.DIM}inkd agentd status${config_js_1.RESET}
|
|
149
|
+
${config_js_1.DIM}inkd agentd peers${config_js_1.RESET}
|
|
150
|
+
|
|
151
|
+
${config_js_1.BOLD}DOCS${config_js_1.RESET} https://inkdprotocol.xyz/docs
|
|
152
|
+
${config_js_1.BOLD}GITHUB${config_js_1.RESET} https://github.com/inkdprotocol/inkd-protocol
|
|
153
|
+
`);
|
|
154
|
+
}
|
|
155
|
+
// ─── Router ───────────────────────────────────────────────────────────────────
|
|
156
|
+
async function main() {
|
|
157
|
+
const [, , cmd, ...rest] = process.argv;
|
|
158
|
+
if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
|
|
159
|
+
showHelp();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (cmd === '--version' || cmd === '-v') {
|
|
163
|
+
console.log('0.1.0');
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
switch (cmd) {
|
|
167
|
+
case 'init':
|
|
168
|
+
await (0, init_js_1.cmdInit)(rest);
|
|
169
|
+
break;
|
|
170
|
+
case 'status':
|
|
171
|
+
await (0, status_js_1.cmdStatus)();
|
|
172
|
+
break;
|
|
173
|
+
case 'project': {
|
|
174
|
+
const sub = rest[0];
|
|
175
|
+
const subArgs = rest.slice(1);
|
|
176
|
+
switch (sub) {
|
|
177
|
+
case 'create':
|
|
178
|
+
await (0, project_js_1.cmdProjectCreate)(subArgs);
|
|
179
|
+
break;
|
|
180
|
+
case 'get':
|
|
181
|
+
await (0, project_js_1.cmdProjectGet)(rest.slice(1));
|
|
182
|
+
break;
|
|
183
|
+
case 'list':
|
|
184
|
+
await (0, project_js_1.cmdProjectList)(rest.slice(1));
|
|
185
|
+
break;
|
|
186
|
+
case 'transfer':
|
|
187
|
+
await (0, project_js_1.cmdProjectTransfer)(subArgs);
|
|
188
|
+
break;
|
|
189
|
+
case 'collab':
|
|
190
|
+
await (0, project_js_1.cmdProjectCollab)(rest.slice(1));
|
|
191
|
+
break;
|
|
192
|
+
default:
|
|
193
|
+
console.error(`\n ${config_js_1.YELLOW}Unknown project sub-command: ${sub}${config_js_1.RESET}`);
|
|
194
|
+
console.error(` Run ${config_js_1.DIM}inkd help${config_js_1.RESET} for usage.\n`);
|
|
195
|
+
process.exit(1);
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
case 'version': {
|
|
200
|
+
const sub = rest[0];
|
|
201
|
+
switch (sub) {
|
|
202
|
+
case 'push':
|
|
203
|
+
await (0, version_js_1.cmdVersionPush)(rest.slice(1));
|
|
204
|
+
break;
|
|
205
|
+
case 'list':
|
|
206
|
+
await (0, version_js_1.cmdVersionList)(rest.slice(1));
|
|
207
|
+
break;
|
|
208
|
+
case 'show':
|
|
209
|
+
await (0, version_js_1.cmdVersionShow)(rest.slice(1));
|
|
210
|
+
break;
|
|
211
|
+
default:
|
|
212
|
+
console.error(`\n ${config_js_1.YELLOW}Unknown version sub-command: ${sub}${config_js_1.RESET}`);
|
|
213
|
+
console.error(` Run ${config_js_1.DIM}inkd help${config_js_1.RESET} for usage.\n`);
|
|
214
|
+
process.exit(1);
|
|
215
|
+
}
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
case 'agent': {
|
|
219
|
+
const sub = rest[0];
|
|
220
|
+
switch (sub) {
|
|
221
|
+
case 'list':
|
|
222
|
+
await (0, agent_js_1.cmdAgentList)(rest.slice(1));
|
|
223
|
+
break;
|
|
224
|
+
case 'lookup':
|
|
225
|
+
await (0, agent_js_1.cmdAgentLookup)(rest.slice(1));
|
|
226
|
+
break;
|
|
227
|
+
default:
|
|
228
|
+
console.error(`\n ${config_js_1.YELLOW}Unknown agent sub-command: ${sub}${config_js_1.RESET}`);
|
|
229
|
+
console.error(` Run ${config_js_1.DIM}inkd help${config_js_1.RESET} for usage.\n`);
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
case 'token':
|
|
235
|
+
await (0, token_js_1.cmdToken)(rest);
|
|
236
|
+
break;
|
|
237
|
+
case 'search':
|
|
238
|
+
await (0, search_js_1.cmdSearch)(rest);
|
|
239
|
+
break;
|
|
240
|
+
case 'watch':
|
|
241
|
+
await (0, watch_js_1.cmdWatch)(rest);
|
|
242
|
+
break;
|
|
243
|
+
case 'agentd':
|
|
244
|
+
await (0, agentd_js_1.cmdAgentd)(rest);
|
|
245
|
+
break;
|
|
246
|
+
default:
|
|
247
|
+
console.error(`\n ${config_js_1.YELLOW}Unknown command: ${cmd}${config_js_1.RESET}`);
|
|
248
|
+
console.error(` Run ${config_js_1.DIM}inkd help${config_js_1.RESET} for usage.\n`);
|
|
249
|
+
process.exit(1);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
main().catch((err) => {
|
|
253
|
+
console.error(`\n ${'\x1b[31m'}✗${'\x1b[0m'} ${err.message}\n`);
|
|
254
|
+
if (process.env['INKD_DEBUG'])
|
|
255
|
+
console.error(err.stack);
|
|
256
|
+
process.exit(1);
|
|
257
|
+
});
|
|
258
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|