@sofer_agent/cli 0.2.0 → 0.2.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/dist/bin.js CHANGED
@@ -9,9 +9,27 @@ function printHelp() {
9
9
  sofer chat with your agent (default)
10
10
  sofer init mint the agent + provision Walrus memory
11
11
  sofer info print on-chain agent state
12
+ sofer setup print the .env template to configure
12
13
  sofer help show this help
13
14
 
14
- Reads config + secrets from .env (or the environment).`);
15
+ Reads config + secrets from a .env file or the environment.`);
16
+ }
17
+ function printSetup() {
18
+ console.log(`# Copy this into a .env file in your project directory, then fill in:
19
+ # - ANTHROPIC_API_KEY (your Claude API key)
20
+ # - SOFER_SUI_SECRET_KEY (or let \`sofer init\` generate one)
21
+ #
22
+ # Then run: sofer init
23
+
24
+ # --- Sui chain ---
25
+ SUI_NETWORK=testnet
26
+ SUI_RPC_URL=https://fullnode.testnet.sui.io:443
27
+ SOFER_PACKAGE_ID=0xd5291ac6fd0de787f9fe0bc16c677ef5bafffd920936a05b14e7a8a142e46434
28
+ SOFER_AGENT_OBJECT_ID=
29
+
30
+ # --- Brain (Claude) ---
31
+ ANTHROPIC_API_KEY=
32
+ SOFER_MODEL=claude-opus-4-8`);
15
33
  }
16
34
  async function main() {
17
35
  loadDotenv();
@@ -26,6 +44,9 @@ async function main() {
26
44
  case "info":
27
45
  await infoCommand();
28
46
  break;
47
+ case "setup":
48
+ printSetup();
49
+ break;
29
50
  case "help":
30
51
  case "-h":
31
52
  case "--help":
@@ -38,7 +59,11 @@ async function main() {
38
59
  }
39
60
  }
40
61
  main().catch((e) => {
41
- console.error(e instanceof Error ? e.message : String(e));
62
+ const msg = e instanceof Error ? e.message : String(e);
63
+ console.error(msg);
64
+ if (msg.includes("SOFER_PACKAGE_ID") || msg.includes("SOFER_SUI_SECRET_KEY") || msg.includes("ANTHROPIC_API_KEY")) {
65
+ console.error("\nFirst time? Run `sofer setup` for the .env template, then `sofer init`.");
66
+ }
42
67
  process.exit(1);
43
68
  });
44
69
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CACT;;;;;;;uDAOmD,CACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,UAAU,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACtC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,SAAS,EAAE,CAAC;YACZ,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;YAC3C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CACT;;;;;;;;4DAQwD,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CACT;;;;;;;;;;;;;;4BAcwB,CACzB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,UAAU,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACtC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,UAAU,EAAE,CAAC;YACb,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,SAAS,EAAE,CAAC;YACZ,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;YAC3C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAClH,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sofer_agent/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "sofer": "./dist/bin.js"
package/src/bin.ts CHANGED
@@ -11,9 +11,30 @@ function printHelp(): void {
11
11
  sofer chat with your agent (default)
12
12
  sofer init mint the agent + provision Walrus memory
13
13
  sofer info print on-chain agent state
14
+ sofer setup print the .env template to configure
14
15
  sofer help show this help
15
16
 
16
- Reads config + secrets from .env (or the environment).`,
17
+ Reads config + secrets from a .env file or the environment.`,
18
+ );
19
+ }
20
+
21
+ function printSetup(): void {
22
+ console.log(
23
+ `# Copy this into a .env file in your project directory, then fill in:
24
+ # - ANTHROPIC_API_KEY (your Claude API key)
25
+ # - SOFER_SUI_SECRET_KEY (or let \`sofer init\` generate one)
26
+ #
27
+ # Then run: sofer init
28
+
29
+ # --- Sui chain ---
30
+ SUI_NETWORK=testnet
31
+ SUI_RPC_URL=https://fullnode.testnet.sui.io:443
32
+ SOFER_PACKAGE_ID=0xd5291ac6fd0de787f9fe0bc16c677ef5bafffd920936a05b14e7a8a142e46434
33
+ SOFER_AGENT_OBJECT_ID=
34
+
35
+ # --- Brain (Claude) ---
36
+ ANTHROPIC_API_KEY=
37
+ SOFER_MODEL=claude-opus-4-8`,
17
38
  );
18
39
  }
19
40
 
@@ -30,6 +51,9 @@ async function main(): Promise<void> {
30
51
  case "info":
31
52
  await infoCommand();
32
53
  break;
54
+ case "setup":
55
+ printSetup();
56
+ break;
33
57
  case "help":
34
58
  case "-h":
35
59
  case "--help":
@@ -43,6 +67,10 @@ async function main(): Promise<void> {
43
67
  }
44
68
 
45
69
  main().catch((e) => {
46
- console.error(e instanceof Error ? e.message : String(e));
70
+ const msg = e instanceof Error ? e.message : String(e);
71
+ console.error(msg);
72
+ if (msg.includes("SOFER_PACKAGE_ID") || msg.includes("SOFER_SUI_SECRET_KEY") || msg.includes("ANTHROPIC_API_KEY")) {
73
+ console.error("\nFirst time? Run `sofer setup` for the .env template, then `sofer init`.");
74
+ }
47
75
  process.exit(1);
48
76
  });