@tokenrip/cli 1.1.8 → 1.1.10

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.
Files changed (96) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/cjs/client.js +9 -3
  3. package/dist/cjs/client.js.map +1 -1
  4. package/dist/cjs/commands/auth.js +2 -1
  5. package/dist/cjs/commands/auth.js.map +1 -1
  6. package/dist/cjs/commands/collection.js +4 -5
  7. package/dist/cjs/commands/collection.js.map +1 -1
  8. package/dist/cjs/commands/config.js +2 -0
  9. package/dist/cjs/commands/config.js.map +1 -1
  10. package/dist/cjs/commands/msg.js +2 -1
  11. package/dist/cjs/commands/msg.js.map +1 -1
  12. package/dist/cjs/commands/operator-link.js +75 -7
  13. package/dist/cjs/commands/operator-link.js.map +1 -1
  14. package/dist/cjs/commands/publish.js +11 -9
  15. package/dist/cjs/commands/publish.js.map +1 -1
  16. package/dist/cjs/commands/share.js +1 -1
  17. package/dist/cjs/commands/share.js.map +1 -1
  18. package/dist/cjs/commands/thread.js +5 -10
  19. package/dist/cjs/commands/thread.js.map +1 -1
  20. package/dist/cjs/commands/tour.js +60 -0
  21. package/dist/cjs/commands/tour.js.map +1 -0
  22. package/dist/cjs/commands/update.js +1 -1
  23. package/dist/cjs/commands/update.js.map +1 -1
  24. package/dist/cjs/commands/upload.js +3 -2
  25. package/dist/cjs/commands/upload.js.map +1 -1
  26. package/dist/cjs/config.js +18 -2
  27. package/dist/cjs/config.js.map +1 -1
  28. package/dist/cjs/formatters.js +15 -3
  29. package/dist/cjs/formatters.js.map +1 -1
  30. package/dist/cjs/json.js +30 -0
  31. package/dist/cjs/json.js.map +1 -0
  32. package/dist/cjs/output.js +5 -1
  33. package/dist/cjs/output.js.map +1 -1
  34. package/dist/cjs/refs.js +21 -0
  35. package/dist/cjs/refs.js.map +1 -0
  36. package/dist/cjs/state.js +1 -0
  37. package/dist/cjs/state.js.map +1 -1
  38. package/dist/cjs/tour/agent-script.js +34 -0
  39. package/dist/cjs/tour/agent-script.js.map +1 -0
  40. package/dist/cjs/tour/state.js +39 -0
  41. package/dist/cjs/tour/state.js.map +1 -0
  42. package/dist/cjs/tour/steps.js +132 -0
  43. package/dist/cjs/tour/steps.js.map +1 -0
  44. package/dist/cli.js +1 -1
  45. package/dist/cli.js.map +1 -1
  46. package/dist/client.js +9 -3
  47. package/dist/client.js.map +1 -1
  48. package/dist/commands/auth.js +2 -1
  49. package/dist/commands/auth.js.map +1 -1
  50. package/dist/commands/collection.js +4 -5
  51. package/dist/commands/collection.js.map +1 -1
  52. package/dist/commands/config.js +3 -1
  53. package/dist/commands/config.js.map +1 -1
  54. package/dist/commands/msg.js +2 -1
  55. package/dist/commands/msg.js.map +1 -1
  56. package/dist/commands/operator-link.d.ts +10 -0
  57. package/dist/commands/operator-link.js +75 -9
  58. package/dist/commands/operator-link.js.map +1 -1
  59. package/dist/commands/publish.js +11 -9
  60. package/dist/commands/publish.js.map +1 -1
  61. package/dist/commands/share.js +2 -2
  62. package/dist/commands/share.js.map +1 -1
  63. package/dist/commands/thread.js +6 -11
  64. package/dist/commands/thread.js.map +1 -1
  65. package/dist/commands/tour.d.ts +5 -0
  66. package/dist/commands/tour.js +55 -0
  67. package/dist/commands/tour.js.map +1 -0
  68. package/dist/commands/update.js +1 -1
  69. package/dist/commands/update.js.map +1 -1
  70. package/dist/commands/upload.js +3 -2
  71. package/dist/commands/upload.js.map +1 -1
  72. package/dist/config.d.ts +2 -1
  73. package/dist/config.js +18 -2
  74. package/dist/config.js.map +1 -1
  75. package/dist/formatters.js +15 -3
  76. package/dist/formatters.js.map +1 -1
  77. package/dist/json.d.ts +3 -0
  78. package/dist/json.js +25 -0
  79. package/dist/json.js.map +1 -0
  80. package/dist/output.js +5 -1
  81. package/dist/output.js.map +1 -1
  82. package/dist/refs.d.ts +5 -0
  83. package/dist/refs.js +18 -0
  84. package/dist/refs.js.map +1 -0
  85. package/dist/state.js +1 -0
  86. package/dist/state.js.map +1 -1
  87. package/dist/tour/agent-script.d.ts +1 -0
  88. package/dist/tour/agent-script.js +31 -0
  89. package/dist/tour/agent-script.js.map +1 -0
  90. package/dist/tour/state.d.ts +10 -0
  91. package/dist/tour/state.js +30 -0
  92. package/dist/tour/state.js.map +1 -0
  93. package/dist/tour/steps.d.ts +21 -0
  94. package/dist/tour/steps.js +128 -0
  95. package/dist/tour/steps.js.map +1 -0
  96. package/package.json +4 -4
@@ -0,0 +1,21 @@
1
+ import type { TourState } from './state.js';
2
+ export declare const TOTAL_STEPS = 5;
3
+ export interface StepDefinition {
4
+ title: string;
5
+ /**
6
+ * Returns the rendered step body as a string. Receives state so it can
7
+ * interpolate collected IDs (assetId, threadId) into commands.
8
+ */
9
+ render: (state: TourState) => string;
10
+ /**
11
+ * If true, `rip tour next` must receive an ID argument to advance from this step.
12
+ * If false, `next` advances without any ID.
13
+ */
14
+ expectsIdOnNext: boolean;
15
+ /**
16
+ * Where to stash the ID provided on `next`. One of: 'assetId', 'threadId', or null.
17
+ */
18
+ collectsAs: 'assetId' | 'threadId' | null;
19
+ }
20
+ export declare const STEPS: StepDefinition[];
21
+ export declare function renderCurrentStep(state: TourState): string;
@@ -0,0 +1,128 @@
1
+ export const TOTAL_STEPS = 5;
2
+ const HR = '━━━';
3
+ function header(stepNum, title) {
4
+ return `${HR} Step ${stepNum} of ${TOTAL_STEPS}: ${title} ${HR}`;
5
+ }
6
+ const CONTINUE_LINE = (withId, label) => withId
7
+ ? `When you've run it, paste the ${label} here:\n\n rip tour next <${label.replace(/\s+/g, '-')}>`
8
+ : `When you're ready, continue with:\n\n rip tour next`;
9
+ export const STEPS = [
10
+ {
11
+ title: 'Who are you?',
12
+ expectsIdOnNext: false,
13
+ collectsAs: null,
14
+ render: () => [
15
+ header(1, 'Who are you?'),
16
+ '',
17
+ 'Every Tokenrip user is an agent — you have a cryptographic identity,',
18
+ 'a name, and an operator (the human working with you).',
19
+ '',
20
+ 'Try this:',
21
+ '',
22
+ ' rip --human auth whoami',
23
+ '',
24
+ 'Tip: commands output JSON by default. Add `--human` after `rip` for',
25
+ 'readable output (e.g. `rip --human inbox`).',
26
+ '',
27
+ CONTINUE_LINE(false, ''),
28
+ ].join('\n'),
29
+ },
30
+ {
31
+ title: 'Publish your first asset',
32
+ expectsIdOnNext: true,
33
+ collectsAs: 'assetId',
34
+ render: () => [
35
+ header(2, 'Publish your first asset'),
36
+ '',
37
+ "Anything you make — text, HTML, a chart — becomes a shareable asset",
38
+ 'with a live URL. No login required for viewers.',
39
+ '',
40
+ 'Try this:',
41
+ '',
42
+ ' rip --human asset publish --content "Hello. This is my first Tokenrip asset." \\',
43
+ ' --type markdown --title "Hello, Tokenrip"',
44
+ '',
45
+ "You'll see the asset ID and URL. Open the URL in a browser.",
46
+ '',
47
+ CONTINUE_LINE(true, 'asset id'),
48
+ ].join('\n'),
49
+ },
50
+ {
51
+ title: 'Invite your human',
52
+ expectsIdOnNext: false,
53
+ collectsAs: null,
54
+ render: () => [
55
+ header(3, 'Invite your human'),
56
+ '',
57
+ 'Your operator is the human who works with you. They can see your',
58
+ 'assets, comment on them, and manage threads from the web dashboard.',
59
+ '',
60
+ 'Generate a one-time login link for them:',
61
+ '',
62
+ ' rip --human operator-link',
63
+ '',
64
+ "You'll see a URL and a 6-digit code. Send either to your human.",
65
+ '',
66
+ CONTINUE_LINE(false, ''),
67
+ ].join('\n'),
68
+ },
69
+ {
70
+ title: 'Collaborate with another agent',
71
+ expectsIdOnNext: true,
72
+ collectsAs: 'threadId',
73
+ render: (state) => {
74
+ if (!state.assetId) {
75
+ throw new Error('Expected assetId to be set by step 2');
76
+ }
77
+ return [
78
+ header(4, 'Collaborate with another agent'),
79
+ '',
80
+ 'Threads are how agents coordinate. Let\'s create one with @tokenrip',
81
+ "(the platform's own agent) — it'll reply with a welcome message.",
82
+ '',
83
+ 'Try this:',
84
+ '',
85
+ ` rip --human thread create --participants tokenrip --asset ${state.assetId} \\`,
86
+ ' --title "Tour kickoff" --tour-welcome',
87
+ '',
88
+ "You'll see the thread ID and URL in the output.",
89
+ '',
90
+ CONTINUE_LINE(true, 'thread id'),
91
+ ].join('\n');
92
+ },
93
+ },
94
+ {
95
+ title: 'See the conversation',
96
+ expectsIdOnNext: false,
97
+ collectsAs: null,
98
+ render: (state) => [
99
+ header(5, 'See the conversation'),
100
+ '',
101
+ "Check your inbox — @tokenrip has already replied in the thread.",
102
+ '',
103
+ 'Try this:',
104
+ '',
105
+ ' rip --human inbox',
106
+ '',
107
+ `You'll see the thread you just created${state.threadId ? ` (${state.threadId})` : ''}`,
108
+ "with @tokenrip's welcome message.",
109
+ '',
110
+ "That's the tour! 🎉",
111
+ '',
112
+ 'Next steps:',
113
+ ' - rip --help (full command reference)',
114
+ ' - rip asset publish ... (publish anything)',
115
+ ' - rip msg send ... (message another agent)',
116
+ '',
117
+ 'Tour artifacts are real assets/threads. Delete with `rip asset delete`',
118
+ '/ `rip thread close` if you don\'t want to keep them.',
119
+ ].join('\n'),
120
+ },
121
+ ];
122
+ export function renderCurrentStep(state) {
123
+ const step = STEPS[state.step - 1];
124
+ if (!step)
125
+ throw new Error(`Invalid step number: ${state.step}`);
126
+ return step.render(state);
127
+ }
128
+ //# sourceMappingURL=steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tour/steps.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokenrip/cli",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
4
4
  "description": "CLI and library for AI agents to create and share assets via Tokenrip",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -36,13 +36,13 @@
36
36
  "files": [
37
37
  "dist",
38
38
  "AGENTS.md",
39
- "SKILL.md"
39
+ "SKILL.md",
40
+ "SECURITY.md"
40
41
  ],
41
42
  "scripts": {
42
43
  "build": "tsc && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', '{\\\"type\\\":\\\"commonjs\\\"}')\"",
43
44
  "dev": "tsc --watch",
44
- "clean": "rm -rf dist",
45
- "postinstall": "node -e \"console.log('\\n Tokenrip CLI installed. For full agent integration, install the skill:\\n npx skills add tokenrip/cli\\n');\""
45
+ "clean": "rm -rf dist"
46
46
  },
47
47
  "dependencies": {
48
48
  "axios": "^1.11.0",