@openclaw/lobster 2026.9.5 → 2026.9.7

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 (163) hide show
  1. package/assets/icon.png +0 -0
  2. package/dist/index.js +8 -294
  3. package/node_modules/@clawdbot/lobster/README.md +20 -133
  4. package/node_modules/@clawdbot/lobster/VISION.md +15 -238
  5. package/node_modules/@clawdbot/lobster/bin/clawd.invoke.js +2 -21
  6. package/node_modules/@clawdbot/lobster/bin/invoke.js +19 -0
  7. package/node_modules/@clawdbot/lobster/bin/lobster.js +2 -21
  8. package/node_modules/@clawdbot/lobster/bin/openclaw.invoke.js +2 -24
  9. package/node_modules/@clawdbot/lobster/dist/src/cli.js +32 -48
  10. package/node_modules/@clawdbot/lobster/dist/src/cli.js.map +1 -1
  11. package/node_modules/@clawdbot/lobster/dist/src/command_tokens.js +81 -0
  12. package/node_modules/@clawdbot/lobster/dist/src/command_tokens.js.map +1 -0
  13. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/dedupe.js +1 -12
  14. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/dedupe.js.map +1 -1
  15. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/group_by.js +2 -14
  16. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/group_by.js.map +1 -1
  17. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/llm_invoke.js +1 -337
  18. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/llm_invoke.js.map +1 -1
  19. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/map.js +2 -13
  20. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/map.js.map +1 -1
  21. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/sort.js +4 -21
  22. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/sort.js.map +1 -1
  23. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/state.js +1 -1
  24. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/state.js.map +1 -1
  25. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/template.js +2 -13
  26. package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/template.js.map +1 -1
  27. package/node_modules/@clawdbot/lobster/dist/src/commands/workflows/workflows_run.js +0 -18
  28. package/node_modules/@clawdbot/lobster/dist/src/commands/workflows/workflows_run.js.map +1 -1
  29. package/node_modules/@clawdbot/lobster/dist/src/core/llm_accounting.js +304 -0
  30. package/node_modules/@clawdbot/lobster/dist/src/core/llm_accounting.js.map +1 -0
  31. package/node_modules/@clawdbot/lobster/dist/src/core/value_path.js +11 -0
  32. package/node_modules/@clawdbot/lobster/dist/src/core/value_path.js.map +1 -0
  33. package/node_modules/@clawdbot/lobster/dist/src/parser.js +2 -67
  34. package/node_modules/@clawdbot/lobster/dist/src/parser.js.map +1 -1
  35. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/index.js +1 -1
  36. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/pr-monitor.js +5 -64
  37. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/pr-monitor.js.map +1 -1
  38. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/read_pr.js +45 -0
  39. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/read_pr.js.map +1 -0
  40. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/snapshot.js +45 -0
  41. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/snapshot.js.map +1 -0
  42. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/stages/pr-view.js +9 -47
  43. package/node_modules/@clawdbot/lobster/dist/src/recipes/github/stages/pr-view.js.map +1 -1
  44. package/node_modules/@clawdbot/lobster/dist/src/sdk/Lobster.js +18 -135
  45. package/node_modules/@clawdbot/lobster/dist/src/sdk/Lobster.js.map +1 -1
  46. package/node_modules/@clawdbot/lobster/dist/src/sdk/index.js +1 -1
  47. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/approve.js +1 -2
  48. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/approve.js.map +1 -1
  49. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/diff.js +2 -8
  50. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/diff.js.map +1 -1
  51. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/exec.js +15 -81
  52. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/exec.js.map +1 -1
  53. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/state.js +3 -9
  54. package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/state.js.map +1 -1
  55. package/node_modules/@clawdbot/lobster/dist/src/sdk/runtime.js +0 -12
  56. package/node_modules/@clawdbot/lobster/dist/src/sdk/runtime.js.map +1 -1
  57. package/node_modules/@clawdbot/lobster/dist/src/sdk/state_env.js +6 -0
  58. package/node_modules/@clawdbot/lobster/dist/src/sdk/state_env.js.map +1 -0
  59. package/node_modules/@clawdbot/lobster/dist/src/state/atomic_file.js +192 -0
  60. package/node_modules/@clawdbot/lobster/dist/src/state/atomic_file.js.map +1 -0
  61. package/node_modules/@clawdbot/lobster/dist/src/state/store.js +2 -188
  62. package/node_modules/@clawdbot/lobster/dist/src/state/store.js.map +1 -1
  63. package/node_modules/@clawdbot/lobster/dist/src/workflows/dry_run.js +262 -0
  64. package/node_modules/@clawdbot/lobster/dist/src/workflows/dry_run.js.map +1 -0
  65. package/node_modules/@clawdbot/lobster/dist/src/workflows/expressions.js +345 -0
  66. package/node_modules/@clawdbot/lobster/dist/src/workflows/expressions.js.map +1 -0
  67. package/node_modules/@clawdbot/lobster/dist/src/workflows/file.js +21 -1036
  68. package/node_modules/@clawdbot/lobster/dist/src/workflows/file.js.map +1 -1
  69. package/node_modules/@clawdbot/lobster/dist/src/workflows/github_pr_monitor.js +8 -77
  70. package/node_modules/@clawdbot/lobster/dist/src/workflows/github_pr_monitor.js.map +1 -1
  71. package/node_modules/@clawdbot/lobster/dist/src/workflows/graph.js +1 -7
  72. package/node_modules/@clawdbot/lobster/dist/src/workflows/graph.js.map +1 -1
  73. package/node_modules/@clawdbot/lobster/dist/src/workflows/load.js +347 -0
  74. package/node_modules/@clawdbot/lobster/dist/src/workflows/load.js.map +1 -0
  75. package/node_modules/@clawdbot/lobster/dist/src/workflows/types.js +2 -0
  76. package/node_modules/@clawdbot/lobster/dist/src/workflows/types.js.map +1 -0
  77. package/node_modules/@clawdbot/lobster/dist/src/workflows/values.js +93 -0
  78. package/node_modules/@clawdbot/lobster/dist/src/workflows/values.js.map +1 -0
  79. package/node_modules/@clawdbot/lobster/dist/test/cancellation.test.js +1 -0
  80. package/node_modules/@clawdbot/lobster/dist/test/cancellation.test.js.map +1 -1
  81. package/node_modules/@clawdbot/lobster/dist/test/cli_run_errors.test.js +53 -0
  82. package/node_modules/@clawdbot/lobster/dist/test/cli_run_errors.test.js.map +1 -0
  83. package/node_modules/@clawdbot/lobster/dist/test/command_arguments.test.js +82 -0
  84. package/node_modules/@clawdbot/lobster/dist/test/command_arguments.test.js.map +1 -0
  85. package/node_modules/@clawdbot/lobster/dist/test/cost_tracker.test.js +49 -19
  86. package/node_modules/@clawdbot/lobster/dist/test/cost_tracker.test.js.map +1 -1
  87. package/node_modules/@clawdbot/lobster/dist/test/helpers/node_shell_fixture.js +17 -0
  88. package/node_modules/@clawdbot/lobster/dist/test/helpers/node_shell_fixture.js.map +1 -0
  89. package/node_modules/@clawdbot/lobster/dist/test/llm_invoke.test.js +2 -0
  90. package/node_modules/@clawdbot/lobster/dist/test/llm_invoke.test.js.map +1 -1
  91. package/node_modules/@clawdbot/lobster/dist/test/pipeline_resume_state.test.js +65 -0
  92. package/node_modules/@clawdbot/lobster/dist/test/pipeline_resume_state.test.js.map +1 -0
  93. package/node_modules/@clawdbot/lobster/dist/test/process_output_limit.test.js +5 -3
  94. package/node_modules/@clawdbot/lobster/dist/test/process_output_limit.test.js.map +1 -1
  95. package/node_modules/@clawdbot/lobster/dist/test/sdk_exec.test.js +72 -25
  96. package/node_modules/@clawdbot/lobster/dist/test/sdk_exec.test.js.map +1 -1
  97. package/node_modules/@clawdbot/lobster/dist/test/workflow_graph.test.js +1 -1
  98. package/node_modules/@clawdbot/lobster/dist/test/workflow_graph.test.js.map +1 -1
  99. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/README.md +1 -0
  100. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/SECURITY.md +62 -13
  101. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/index.js +40 -9
  102. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/lib/schemes.js +76 -16
  103. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/lib/utils.js +54 -10
  104. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/package.json +1 -1
  105. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/fixtures/uri-js-parse.json +1 -0
  106. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/ipv6-validation.test.js +130 -0
  107. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/mailto-authority-security.test.js +125 -0
  108. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/mailto-field-name-security.test.js +151 -0
  109. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/security-normalization.test.js +38 -0
  110. package/node_modules/@clawdbot/lobster/node_modules/fast-uri/types/index.d.ts +16 -0
  111. package/node_modules/@clawdbot/lobster/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +19 -18
  112. package/node_modules/@clawdbot/lobster/node_modules/yaml/browser/dist/nodes/Alias.js +25 -23
  113. package/node_modules/@clawdbot/lobster/node_modules/yaml/dist/compose/resolve-flow-scalar.js +19 -18
  114. package/node_modules/@clawdbot/lobster/node_modules/yaml/dist/nodes/Alias.js +25 -23
  115. package/node_modules/@clawdbot/lobster/node_modules/yaml/package.json +1 -1
  116. package/node_modules/@clawdbot/lobster/package.json +6 -8
  117. package/node_modules/typebox/build/compile/code.mjs +1 -2
  118. package/node_modules/typebox/build/compile/validator.mjs +5 -1
  119. package/node_modules/typebox/build/format/iri.mjs +16 -9
  120. package/node_modules/typebox/build/guard/emit.mjs +2 -2
  121. package/node_modules/typebox/build/guard/guard.d.mts +7 -5
  122. package/node_modules/typebox/build/guard/guard.mjs +14 -9
  123. package/node_modules/typebox/build/guard/index.mjs +6 -0
  124. package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
  125. package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
  126. package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
  127. package/node_modules/typebox/build/schema/build.mjs +2 -3
  128. package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
  129. package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
  130. package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
  131. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
  132. package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
  133. package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
  134. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
  135. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
  136. package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
  137. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
  138. package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
  139. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
  140. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
  141. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
  142. package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
  143. package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
  144. package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
  145. package/node_modules/typebox/build/schema/parse.mjs +3 -0
  146. package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
  147. package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
  148. package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
  149. package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
  150. package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
  151. package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
  152. package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
  153. package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
  154. package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
  155. package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
  156. package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
  157. package/node_modules/typebox/package.json +1 -1
  158. package/node_modules/typebox/readme.md +3 -1
  159. package/package.json +6 -6
  160. package/dist/runtime-api.js +0 -3
  161. package/node_modules/@clawdbot/lobster/dist/src/sdk/token.js +0 -9
  162. package/node_modules/@clawdbot/lobster/dist/src/sdk/token.js.map +0 -1
  163. /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
@@ -1,249 +1,26 @@
1
- # Lobster: Vision & Value Proposition
1
+ # Lobster
2
2
 
3
- ## One-liner
3
+ Lobster executes repeatable workflows for OpenClaw. The host chooses a workflow, presents requests for approval or structured input, and resumes with the user's decision. Lobster owns deterministic execution and saved continuation state.
4
4
 
5
- **Lobster is safe automation for OpenClaw — workflows that ask before acting.**
5
+ ## Responsibilities
6
6
 
7
- ---
7
+ - Compose JSON pipelines and workflow files with shell commands, native stages, conditions, loops, and parallel branches.
8
+ - Pause at explicit approval or input gates and return a continuation token.
9
+ - Persist snapshots and resume state locally, with atomic publication and cancellation-aware cleanup.
10
+ - Report estimated LLM spend and enforce configured workflow cost limits.
8
11
 
9
- ## What is Lobster?
12
+ Approvals are explicit workflow steps. They protect actions placed after the gate; they are not an automatic sandbox for arbitrary shell commands or tool calls. Workflow authors must put gates before actions that require user consent.
10
13
 
11
- Lobster is a workflow runtime for OpenClaw. It lets you define multi-step automations that:
14
+ ## Host boundary
12
15
 
13
- - Run deterministically (no LLM re-planning each step)
14
- - Halt at checkpoints and ask for approval before side effects
15
- - Resume exactly where they left off
16
- - Remember what they've already processed
16
+ OpenClaw owns intent, user interaction, authentication, provider integration, and tool execution policy. Lobster orchestrates those capabilities. It does not own OAuth or a credential store.
17
17
 
18
- Think of it as **IFTTT/Zapier for OpenClaw, but with human checkpoints**.
18
+ The intended inference direction is gateway-only, as recorded in [#135](https://github.com/openclaw/lobster/issues/135). Current releases still support OpenClaw, Pi, HTTP, and injected adapters. The gateway contract and compatibility window must be settled before those configurations are retired; no new vendor adapters belong in the engine.
19
19
 
20
- ---
20
+ Lobster currently renders static workflow graphs in Mermaid, DOT, and ASCII. A live dashboard and retained run history are separate product decisions, tracked in [#163](https://github.com/openclaw/lobster/issues/163).
21
21
 
22
- ## The Problem Lobster Solves
22
+ ## Use
23
23
 
24
- ### Today's workflow in OpenClaw
24
+ Use a direct tool call for a one-off action. Use Lobster when a sequence is repeatable, needs saved state, or includes a human checkpoint. Deterministic steps avoid repeatedly asking a model to reconstruct the same execution sequence; model calls remain explicit stages where judgment is needed.
25
25
 
26
- ```
27
- User: "Check my email, draft replies to anything urgent, and send them"
28
-
29
- What happens:
30
- 1. LLM plans: "I should search emails first"
31
- 2. Tool call: gmail.search
32
- 3. LLM interprets results, plans next step
33
- 4. Tool call: gmail.get (for each email)
34
- 5. LLM drafts replies
35
- 6. LLM decides to send
36
- 7. Tool call: gmail.send
37
- ... repeat for each email
38
- ```
39
-
40
- **Problems:**
41
- - Many tool calls = many tokens = expensive
42
- - LLM decides when to send = risky (what if it misunderstands?)
43
- - No memory = tomorrow it re-triages the same emails
44
- - Not repeatable = you can't save this as an automation
45
-
46
- ### With Lobster
47
-
48
- ```
49
- OpenClaw calls: lobster.run("email.triage")
50
-
51
- What happens:
52
- 1. Lobster fetches emails (deterministic)
53
- 2. Lobster classifies them (rule-based)
54
- 3. Lobster drafts replies (optional LLM step)
55
- 4. Lobster HALTS: "Send 3 drafts? [approve/reject]"
56
- 5. User approves
57
- 6. Lobster sends
58
-
59
- Tomorrow: Lobster remembers cursor, only processes new emails
60
- ```
61
-
62
- **One call. Deterministic. Safe. Stateful.**
63
-
64
- ---
65
-
66
- ## Why Lobster Makes OpenClaw Better
67
-
68
- | Without Lobster | With Lobster |
69
- |-----------------|--------------|
70
- | LLM orchestrates every step | Deterministic pipeline, LLM only for judgment |
71
- | 10+ tool calls per workflow | 1 call to Lobster |
72
- | "Don't send until I confirm" (hope it listens) | `approve` halts execution until explicit resume |
73
- | Forgets what it did yesterday | Stateful — tracks cursors/checkpoints |
74
- | Hard to share automations | Workflows are code — shareable, versionable |
75
-
76
- ### Token savings (real)
77
- A 10-step workflow today might cost 10 tool calls × LLM planning overhead.
78
- With Lobster: 1 tool call + compact structured output.
79
-
80
- ### Safety (the killer feature)
81
- The `approve` primitive isn't a prompt hint — it's a **hard stop**. The workflow literally cannot continue until you resume it. No "oops, it sent 50 emails."
82
-
83
- ### Memory (underrated)
84
- Workflows can persist state: "last processed email ID", "last PR SHA seen", etc. Tomorrow's run picks up where yesterday left off.
85
-
86
- ---
87
-
88
- ## How Lobster Fits with OpenClaw
89
-
90
- ```
91
- ┌─────────────────────────────────────────────────┐
92
- │ User │
93
- │ "triage my email daily" │
94
- └─────────────────────┬───────────────────────────┘
95
- │
96
- ▼
97
- ┌─────────────────────────────────────────────────┐
98
- │ OpenClaw │
99
- │ - Understands intent │
100
- │ - Chooses appropriate tool/workflow │
101
- │ - Presents results and approval prompts │
102
- └─────────────────────┬───────────────────────────┘
103
- │ lobster.run("email.triage")
104
- ▼
105
- ┌─────────────────────────────────────────────────┐
106
- │ Lobster │
107
- │ - Executes deterministic pipeline │
108
- │ - Calls OpenClaw tools (gmail, trello, etc) │
109
- │ - Halts at approval checkpoints │
110
- │ - Returns structured result + resume token │
111
- └─────────────────────────────────────────────────┘
112
- ```
113
-
114
- **Key insight:** Lobster doesn't replace OpenClaw. It's the execution layer that makes OpenClaw's automations safe and efficient.
115
-
116
- - **OpenClaw** = the brain (understands what you want)
117
- - **Lobster** = the hands (executes workflows safely)
118
- - **Tools/Skills** = the capabilities (gmail, trello, github, etc.)
119
-
120
- ---
121
-
122
- ## Who Should Use Lobster?
123
-
124
- ### Average OpenClaw users (invisible benefit)
125
- They don't need to know Lobster exists. They just notice:
126
- - "Set up daily email triage" works better
127
- - Automations ask before sending/posting
128
- - Things don't get re-processed every day
129
-
130
- ### Power users / tinkerers
131
- They can:
132
- - Customize workflows ("I want triage to also create Trello cards")
133
- - Write new workflows for their specific needs
134
- - Share workflows with the community
135
-
136
- ### The OpenClaw ecosystem
137
- - Workflow recipes become a new category of shareable assets
138
- - Skills stay simple (just expose APIs)
139
- - Lobster handles the orchestration layer
140
-
141
- ---
142
-
143
- ## Analogies That Work
144
-
145
- | If you know... | Lobster is like... |
146
- |----------------|-------------------|
147
- | IFTTT/Zapier | Multi-step version with approval checkpoints |
148
- | GitHub Actions | But for personal automation, not CI/CD |
149
- | AWS Step Functions | But local-first and human-in-the-loop |
150
- | Unix pipes | But for JSON objects, not text bytes |
151
- | Temporal | But 80/20 version for personal workflows |
152
-
153
- **Best analogy for most people:**
154
- > "Lobster is Zapier for OpenClaw, except it asks you before doing anything irreversible."
155
-
156
- ---
157
-
158
- ## Why Not Build This Into OpenClaw Core?
159
-
160
- It could be. But the plugin architecture is intentional:
161
-
162
- 1. **Core stays small** — OpenClaw is already complex
163
- 2. **Faster iteration** — Lobster can evolve without core releases
164
- 3. **Opt-in** — Not everyone needs workflow automation
165
- 4. **Community** — Easier to contribute workflows than core changes
166
- 5. **Ecosystem proof** — If plugins work for Lobster, they work for other capabilities
167
-
168
- OpenClaw explicitly provides a plugin boundary to enable this pattern. Lobster is the first proof that it works.
169
-
170
- ---
171
-
172
- ## Example Workflows
173
-
174
- ### Email triage (flagship)
175
- ```
176
- gog.gmail.search --query "newer_than:1d"
177
- | email.normalize
178
- | email.classify
179
- | where bucket==needs_reply
180
- | draft.reply
181
- | approve --prompt "Send N replies?"
182
- | gog.gmail.send
183
- ```
184
-
185
- ### PR monitor
186
- ```
187
- github.pr.get --repo org/repo --pr 123
188
- | diff.last
189
- | where changed==true
190
- | notify --channel telegram --message "PR updated: {summary}"
191
- ```
192
-
193
- ### Daily planning
194
- ```
195
- calendar.today
196
- | join tasks.today
197
- | prioritize
198
- | format.plan
199
- | approve --prompt "Post to #daily?"
200
- | message.send --channel slack --to "#daily"
201
- ```
202
-
203
- ### Inbox → Trello
204
- ```
205
- email.triage
206
- | where bucket==needs_action
207
- | to.trelloCard
208
- | approve --prompt "Create N cards?"
209
- | trello.card.create --list "Inbox"
210
- ```
211
-
212
- ---
213
-
214
- ## The USP (Unique Selling Proposition)
215
-
216
- **"Automations that ask before acting."**
217
-
218
- Other automation tools either:
219
- - Run blindly (IFTTT, Zapier) — scary for important actions
220
- - Require complex configuration for approvals
221
- - Don't integrate with your AI assistant
222
-
223
- Lobster is:
224
- - Native to OpenClaw (uses the same tools you already have)
225
- - Safe by default (approvals are a language primitive)
226
- - Invisible when you want (OpenClaw uses it automatically)
227
- - Customizable when you need (write your own workflows)
228
-
229
- ---
230
-
231
- ## What Lobster Is NOT
232
-
233
- - **Not a terminal replacement** — You don't switch your shell to Lobster
234
- - **Not a general programming language** — It's for workflows, not apps
235
- - **Not trying to replace OpenClaw** — It makes OpenClaw better
236
- - **Not managing your secrets** — OpenClaw handles auth, Lobster orchestrates
237
-
238
- ---
239
-
240
- ## Summary
241
-
242
- | Question | Answer |
243
- |----------|--------|
244
- | What is it? | Workflow runtime for OpenClaw |
245
- | One-liner? | Safe automation — workflows that ask before acting |
246
- | Why use it? | Cheaper, safer, stateful automations |
247
- | Who uses it? | Everyone (invisibly) or power users (directly) |
248
- | Why not in core? | Plugin architecture — core stays small, capabilities are extensions |
249
- | Best analogy? | Zapier for OpenClaw, but with approval checkpoints |
26
+ See the [README](README.md) for working commands, workflow syntax, cancellation, output limits, and SDK examples.
@@ -1,24 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { spawnSync } from "node:child_process";
4
- import { dirname, join } from "node:path";
5
- import { fileURLToPath } from "node:url";
3
+ import { runInvoke } from "./invoke.js";
6
4
 
7
- function shellQuote(arg) {
8
- if (/^[A-Za-z0-9_\-./:=@]+$/.test(arg)) return arg;
9
- return `'${String(arg).replace(/'/g, `'\\''`)}'`;
10
- }
11
-
12
- const argv = process.argv.slice(2);
13
- const pipeline = ["clawd.invoke", ...argv.map(shellQuote)].join(" ");
14
- const lobsterBin = join(dirname(fileURLToPath(import.meta.url)), "lobster.js");
15
-
16
- const res = spawnSync(process.execPath, [lobsterBin, pipeline], {
17
- stdio: "inherit",
18
- env: process.env,
19
- });
20
- if (res.error) {
21
- console.error(`clawd.invoke failed to spawn lobster: ${res.error.message}`);
22
- }
23
-
24
- process.exit(res.status ?? 1);
5
+ runInvoke("clawd.invoke");
@@ -0,0 +1,19 @@
1
+ import { spawnSync } from "node:child_process";
2
+ import { fileURLToPath } from "node:url";
3
+
4
+ function quotePipelineArgument(value) {
5
+ // Escape for Lobster's double-quoted token syntax, not for a shell.
6
+ return `"${String(value).replace(/[\\"$`]/g, "\\$&")}"`;
7
+ }
8
+
9
+ export function runInvoke(commandName) {
10
+ const pipeline = [commandName, ...process.argv.slice(2).map(quotePipelineArgument)].join(" ");
11
+ const result = spawnSync(
12
+ process.execPath,
13
+ [fileURLToPath(new URL("./lobster.js", import.meta.url)), pipeline],
14
+ { stdio: "inherit", env: process.env },
15
+ );
16
+ if (result.error)
17
+ console.error(`${commandName} failed to spawn lobster: ${result.error.message}`);
18
+ process.exit(result.status ?? 1);
19
+ }
@@ -1,24 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { existsSync } from "node:fs";
4
- import { fileURLToPath, pathToFileURL } from "node:url";
5
- import { dirname, join } from "node:path";
3
+ import { runCli } from "../dist/src/cli.js";
6
4
 
7
- const __filename = fileURLToPath(import.meta.url);
8
- const __dirname = dirname(__filename);
9
-
10
- async function load() {
11
- const distEntry = join(__dirname, "../dist/src/cli.js");
12
- if (existsSync(distEntry)) {
13
- return import(pathToFileURL(distEntry).href);
14
- }
15
- const srcEntry = join(__dirname, "../src/cli.js");
16
- return import(pathToFileURL(srcEntry).href);
17
- }
18
-
19
- const mod = await load();
20
- if (typeof mod.runCli !== "function") {
21
- throw new Error("lobster CLI entrypoint missing runCli()");
22
- }
23
-
24
- await mod.runCli(process.argv.slice(2));
5
+ await runCli(process.argv.slice(2));
@@ -1,27 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { spawnSync } from "node:child_process";
4
- import { dirname, join } from "node:path";
5
- import { fileURLToPath } from "node:url";
3
+ import { runInvoke } from "./invoke.js";
6
4
 
7
- function shellQuote(arg) {
8
- // Conservative POSIX-ish quoting for embedding argv into a single pipeline string.
9
- // Lobster's pipeline parser preserves quoted substrings.
10
- if (/^[A-Za-z0-9_\-./:=@]+$/.test(arg)) return arg;
11
- // single-quote, escaping embedded single quotes: ' -> '\''
12
- return `'${String(arg).replace(/'/g, `'\\''`)}'`;
13
- }
14
-
15
- const argv = process.argv.slice(2);
16
- const pipeline = ["openclaw.invoke", ...argv.map(shellQuote)].join(" ");
17
- const lobsterBin = join(dirname(fileURLToPath(import.meta.url)), "lobster.js");
18
-
19
- const res = spawnSync(process.execPath, [lobsterBin, pipeline], {
20
- stdio: "inherit",
21
- env: process.env,
22
- });
23
- if (res.error) {
24
- console.error(`openclaw.invoke failed to spawn lobster: ${res.error.message}`);
25
- }
26
-
27
- process.exit(res.status ?? 1);
5
+ runInvoke("openclaw.invoke");
@@ -21,6 +21,10 @@ export async function runCli(argv) {
21
21
  }
22
22
  async function runCliWithSignal(argv, signal, forceTerminationSignal = signal) {
23
23
  const registry = createDefaultRegistry();
24
+ if (argv[0] === "graph") {
25
+ await handleGraph({ argv: argv.slice(1) });
26
+ return;
27
+ }
24
28
  if (argv.length === 0 || argv.includes("-h") || argv.includes("--help")) {
25
29
  process.stdout.write(helpText());
26
30
  return;
@@ -48,10 +52,6 @@ async function runCliWithSignal(argv, signal, forceTerminationSignal = signal) {
48
52
  await handleDoctor({ argv: argv.slice(1), registry, signal, forceTerminationSignal });
49
53
  return;
50
54
  }
51
- if (argv[0] === "graph") {
52
- await handleGraph({ argv: argv.slice(1) });
53
- return;
54
- }
55
55
  if (argv[0] === "run") {
56
56
  await handleRun({ argv: argv.slice(1), registry, signal, forceTerminationSignal });
57
57
  return;
@@ -161,10 +161,15 @@ async function handleRun({ argv, registry, signal, forceTerminationSignal, }) {
161
161
  const parsed = parseRunArgs(argv);
162
162
  const { mode, argsJson } = parsed;
163
163
  const normalizedMode = normalizeMode(mode);
164
- const { rest, filePath, dryRun } = await resolveRunTarget(parsed);
165
- const workflowFile = filePath
166
- ? await resolveWorkflowFile(filePath)
167
- : await detectWorkflowFile(rest);
164
+ let target;
165
+ try {
166
+ target = await prepareRunTarget(parsed);
167
+ }
168
+ catch (err) {
169
+ reportRunError(normalizedMode, "parse_error", err);
170
+ return;
171
+ }
172
+ const { rest, workflowFile, dryRun } = target;
168
173
  if (workflowFile) {
169
174
  let parsedArgs = {};
170
175
  if (argsJson) {
@@ -172,16 +177,7 @@ async function handleRun({ argv, registry, signal, forceTerminationSignal, }) {
172
177
  parsedArgs = JSON.parse(argsJson);
173
178
  }
174
179
  catch {
175
- if (mode === "tool") {
176
- writeToolEnvelope({
177
- ok: false,
178
- error: { type: "parse_error", message: "run --args-json must be valid JSON" },
179
- });
180
- process.exitCode = 2;
181
- return;
182
- }
183
- process.stderr.write("run --args-json must be valid JSON\n");
184
- process.exitCode = 2;
180
+ reportRunError(normalizedMode, "parse_error", new Error("run --args-json must be valid JSON"), "");
185
181
  return;
186
182
  }
187
183
  }
@@ -248,16 +244,7 @@ async function handleRun({ argv, registry, signal, forceTerminationSignal, }) {
248
244
  return;
249
245
  }
250
246
  catch (err) {
251
- if (normalizedMode === "tool") {
252
- writeToolEnvelope({
253
- ok: false,
254
- error: { type: "runtime_error", message: err?.message ?? String(err) },
255
- });
256
- process.exitCode = 1;
257
- return;
258
- }
259
- process.stderr.write(`Error: ${err?.message ?? String(err)}\n`);
260
- process.exitCode = 1;
247
+ reportRunError(normalizedMode, "runtime_error", err);
261
248
  return;
262
249
  }
263
250
  }
@@ -267,16 +254,7 @@ async function handleRun({ argv, registry, signal, forceTerminationSignal, }) {
267
254
  pipeline = parsePipeline(pipelineString);
268
255
  }
269
256
  catch (err) {
270
- if (mode === "tool") {
271
- writeToolEnvelope({
272
- ok: false,
273
- error: { type: "parse_error", message: err?.message ?? String(err) },
274
- });
275
- process.exitCode = 2;
276
- return;
277
- }
278
- process.stderr.write(`Parse error: ${err?.message ?? String(err)}\n`);
279
- process.exitCode = 2;
257
+ reportRunError(normalizedMode, "parse_error", err);
280
258
  return;
281
259
  }
282
260
  try {
@@ -320,18 +298,24 @@ async function handleRun({ argv, registry, signal, forceTerminationSignal, }) {
320
298
  }
321
299
  }
322
300
  catch (err) {
323
- if (normalizedMode === "tool") {
324
- writeToolEnvelope({
325
- ok: false,
326
- error: { type: "runtime_error", message: err?.message ?? String(err) },
327
- });
328
- process.exitCode = 1;
329
- return;
330
- }
331
- process.stderr.write(`Error: ${err?.message ?? String(err)}\n`);
332
- process.exitCode = 1;
301
+ reportRunError(normalizedMode, "runtime_error", err);
333
302
  }
334
303
  }
304
+ function reportRunError(mode, type, error, prefix = type === "parse_error" ? "Parse error: " : "Error: ") {
305
+ const message = error?.message ?? String(error);
306
+ if (mode === "tool")
307
+ writeToolEnvelope({ ok: false, error: { type, message } });
308
+ else
309
+ process.stderr.write(`${prefix}${message}\n`);
310
+ process.exitCode = type === "parse_error" ? 2 : 1;
311
+ }
312
+ async function prepareRunTarget(parsed) {
313
+ const { rest, filePath, dryRun } = await resolveRunTarget(parsed);
314
+ const workflowFile = filePath
315
+ ? await resolveWorkflowFile(filePath)
316
+ : await detectWorkflowFile(rest);
317
+ return { rest, workflowFile, dryRun };
318
+ }
335
319
  function isPipelineInputRequest(items) {
336
320
  return (items.length === 1 && items[0]?.type === "input_request" && items[0]?.commandInput !== undefined);
337
321
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}