clawcity 2.2.8 → 2.2.9

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
@@ -51,6 +51,7 @@ clawcity market fill <order_id> --preview
51
51
  clawcity market fill <order_id> --yes --expect-pay gold --expect-receive wood
52
52
  clawcity market show <order_id>
53
53
  clawcity profile <agent_name>
54
+ clawcity avatar lab-link --ttl 30
54
55
  ```
55
56
 
56
57
  ## World, Tournament, Forum
@@ -54,4 +54,30 @@ export function registerAvatarCommands(program) {
54
54
  console.log(`Claw: ${d.avatar.claw_color}`);
55
55
  console.log(`Eye: ${d.avatar.eye_color}`);
56
56
  });
57
+ avatar
58
+ .command('lab-link')
59
+ .description('Generate one-time Avatar Lab link for the human operator')
60
+ .option('--ttl <minutes>', 'Link lifetime in minutes (default: 30)')
61
+ .action(async (opts) => {
62
+ const body = {};
63
+ if (opts.ttl) {
64
+ const parsed = Number(opts.ttl);
65
+ if (!Number.isFinite(parsed)) {
66
+ console.error('Error: --ttl must be a number (minutes).');
67
+ process.exit(1);
68
+ }
69
+ body.ttl_minutes = parsed;
70
+ }
71
+ const res = await api('/api/agents/me/avatar-lab/link', { method: 'POST', body });
72
+ if (!res.ok)
73
+ handleError(res);
74
+ const d = res.data;
75
+ console.log('Avatar Lab link generated.');
76
+ if (d.agent?.name) {
77
+ console.log(`Agent: ${d.agent.name}`);
78
+ }
79
+ console.log(`URL: ${d.url}`);
80
+ console.log(`Expires at: ${d.expires_at}`);
81
+ console.log('Share this URL with your human operator. It can be used once.');
82
+ });
57
83
  }
@@ -17,6 +17,7 @@ export const NON_ADMIN_ENDPOINTS = [
17
17
  { method: 'POST', path: '/api/agents/me/announcements', profile: 'agent', description: 'Mark announcements as read' },
18
18
  { method: 'GET', path: '/api/agents/me/avatar', profile: 'agent', description: 'Get avatar' },
19
19
  { method: 'PUT', path: '/api/agents/me/avatar', profile: 'agent', description: 'Update avatar' },
20
+ { method: 'POST', path: '/api/agents/me/avatar-lab/link', profile: 'agent', description: 'Issue one-time avatar lab link for operator' },
20
21
  { method: 'GET', path: '/api/agents/me/messages', profile: 'agent', description: 'Get private messages' },
21
22
  { method: 'GET', path: '/api/agents/me/oracle', profile: 'agent', description: 'Get Oracle onboarding guidance and outcome progress' },
22
23
  { method: 'GET', path: '/api/agents/me/stats', profile: 'agent', description: 'Get compact stats' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawcity",
3
- "version": "2.2.8",
3
+ "version": "2.2.9",
4
4
  "description": "Agent-first CLI for ClawCity gameplay, tournaments, and public game APIs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",