clawdi 0.14.72 → 0.14.74

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawdi",
3
- "version": "0.14.72",
3
+ "version": "0.14.74",
4
4
  "description": "The best home for all your AI agents. Run them in the cloud or connect your own—with their context and tools in one place.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -11,7 +11,6 @@
11
11
  "files": [
12
12
  "bin",
13
13
  "dist",
14
- "runtime-mcp",
15
14
  "egress-addon/clawdi_egress_addon.py",
16
15
  "skills",
17
16
  "LICENSE",
@@ -25,17 +24,16 @@
25
24
  },
26
25
  "scripts": {
27
26
  "dev": "bun run src/index.ts",
28
- "build": "bun run build:mcp && rm -rf dist && bun build src/index.ts --outdir dist --target node --minify --define 'process.env.CLAWDI_DEFAULT_API_URL=\"https://cloud-api.clawdi.ai\"' --define 'process.env.CLAWDI_DEFAULT_DEPLOY_API_URL=\"https://api.clawdi.ai\"'",
29
- "build:mcp": "bun build ../runtime-mcp/src/index.ts --outdir runtime-mcp --target node --minify",
27
+ "build": "rm -rf dist && bun build src/index.ts --outdir dist --target node --minify --define 'process.env.CLAWDI_DEFAULT_API_URL=\"https://cloud-api.clawdi.ai\"' --define 'process.env.CLAWDI_DEFAULT_DEPLOY_API_URL=\"https://api.clawdi.ai\"'",
30
28
  "build:native": "bun run scripts/build-native.mjs",
31
29
  "build:native-release": "bun run scripts/build-native-release.mjs",
32
30
  "package:native-release": "bun run scripts/package-native-release.mjs",
33
- "build:dev": "bun run build:mcp && rm -rf dist && bun build src/index.ts --outdir dist --target node",
31
+ "build:dev": "rm -rf dist && bun build src/index.ts --outdir dist --target node",
34
32
  "check:publish-manifest": "node scripts/check-publish-manifest.mjs",
35
33
  "check:native-release": "bun run scripts/check-native-release.mjs",
36
34
  "typecheck": "tsc --noEmit",
37
35
  "test": "../../scripts/test.sh cli",
38
- "test:internal": "bun run build:mcp && bash scripts/test-internal.sh",
36
+ "test:internal": "bash scripts/test-internal.sh",
39
37
  "test:e2e": "../../scripts/test.sh cli tests/e2e",
40
38
  "test:native-linux-lifecycle:internal": "CLAWDI_NATIVE_BINARY=${CLAWDI_NATIVE_BINARY:-dist-native/linux-x64/clawdi} bun test tests/e2e/native-installer.e2e.test.ts tests/e2e/native-daemon.e2e.test.ts",
41
39
  "test:watch:local": "bun test --watch",
@@ -66,7 +64,6 @@
66
64
  "devDependencies": {
67
65
  "@clack/prompts": "^1.7.0",
68
66
  "@clawdi/shared": "workspace:*",
69
- "@clawdi/runtime-mcp": "workspace:*",
70
67
  "@modelcontextprotocol/sdk": "^1.30.0",
71
68
  "@types/bun": "^1.4.0",
72
69
  "@types/node": "^24.13.3",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: clawdi
3
- description: "Use Clawdi Cloud for missing user memory, past sessions, Project or Vault context, Clawdi share URLs, and connected-service fallback such as Gmail, GitHub, Notion, Drive, or Calendar. Prefer an authenticated official service CLI; otherwise choose a trusted direct MCP, safely installable official CLI, official API or SDK, or the Clawdi connector as fallback. Do not invoke solely because a project, person, repo, or tool is named."
3
+ description: "API keys, tokens, memory, sessions, Projects, integrations. Use Clawdi Cloud when a task needs passwords or safe credential storage/provision, missing user memory or Project/Vault context, past conversations, Clawdi share URLs, or connected-service fallback such as Gmail, GitHub, Notion, Drive, or Calendar. Do not invoke solely because a project, person, repo, or tool is named."
4
4
  ---
5
5
 
6
6
  # Clawdi Cloud
@@ -80,19 +80,22 @@ an access boundary as well as a possible unknown UUID; never bypass it with anot
80
80
 
81
81
  ## Vault
82
82
 
83
+ Vault stores credentials for authorized tools and services; it is not a universal service
84
+ alternative. Reuse ready, authorized mechanisms before requesting missing credentials. An
85
+ already-connected, capable Composio integration does not require duplicate credentials in Vault
86
+ or account migration. Request credentials only when the chosen task path actually needs them.
87
+
83
88
  Vault read tools expose metadata and exact references:
84
89
 
85
90
  - `vault_list` — List Vault attachments and key counts for visible Projects.
86
91
  - `vault_get` — List key names, provenance, and exact `clawdi://` references for one attached Vault.
87
92
 
88
- Honor the user-selected Vault or existing local binding first; never silently switch
89
- sources. Otherwise inspect `vault_list` / `vault_get` metadata and reuse a Vault matching
90
- the task's purpose and intended access. Create in the current Workspace only when none
91
- is appropriate and creation is within the authorized task. Ask for the exact target only
92
- when ambiguity affects purpose or access. Linked Vaults can be synced read-only; do not
93
- request or modify fields outside the write boundary, or create duplicates to bypass access.
93
+ Honor an explicit Vault/source or known local mapping first. Otherwise use `vault_list` /
94
+ `vault_get` metadata to reuse a Vault suited to the task's purpose and access. Create in
95
+ your own Workspace only when none is appropriate and the task authorizes creation.
96
+ Clarify ambiguous sources; never create duplicates or write to linked Projects to bypass access.
94
97
 
95
- Use `vault_sync` to save credentials locally for task use. The metadata tools return
98
+ Use `vault_resolve` only when the authorized task requires plaintext. The metadata tools return
96
99
  key names and exact references, never secret values. Preserve those references when
97
100
  passing them to an authorized runtime:
98
101
 
@@ -130,24 +133,38 @@ If submission times out, inspect status before repeating a mutation.
130
133
 
131
134
  ### Save and refresh credentials locally
132
135
 
133
- After a request is `supplied`, use `vault_sync` to save credentials locally by default.
134
- Every call requires `path`: choose a supported env filename in this Agent's authenticated
135
- workspace based on project conventions and Vault purpose, such as `.env.stripe` or
136
- `stripe.env`, without routine user reconfirmation. Report the chosen path. A file without
137
- a binding also requires `project_id`, `vault_id`, and optional `section`. Omit `section`
138
- for the entire Vault; an empty string selects unsectioned fields. If sections reuse names,
139
- select one section per file. The target must be untracked, Git-ignored, and not a symlink.
140
- Check only file/path metadata when choosing a target; never read env contents into the
141
- conversation. Let `vault_sync` reuse the binding internally and reject local conflicts.
142
-
143
- Before later task use, call `vault_sync` with the same explicit `path` when a refresh is
144
- needed; omit source arguments to reuse that file's durable binding. It adds, updates
145
- and deletes managed fields while preserving unrelated assignments. Conflicting sources
146
- or local edits stop the write; restore the managed assignment or choose a new file.
147
- Return only file path, status and counts; never print keys or the file, log secrets, or
148
- save them to Memory. Sync does not upload local edits, run in the background, or reload
149
- a running process's environment. It requires the standalone local MCP adapter; remote-only
150
- HTTP cannot write files. Do not invent a CLI fallback or script synchronization.
136
+ Hosted runtime supplies `.clawdi/vaults/` under the native workspace automatically.
137
+ Connected macOS/Linux/WSL Agents receive the same layout only in the workspace explicitly
138
+ confirmed by setup. Use that configured path, which may differ from the current repository;
139
+ do not guess from HOME, daemon CWD, or scanned sessions. Existing registrations without a
140
+ Vault workspace do not download values. Native Windows daemon/file delivery is unsupported.
141
+
142
+ Inspect only the configured `.clawdi/vaults/index.json` to select the intended Vault/section.
143
+ Load its JSON file inside the authorized process or SDK without printing values or returning
144
+ them to model/tool-result context merely to save them. These are generated files: do not
145
+ edit, move or commit them. Hosted agents must not invoke/install the tenant Clawdi CLI.
146
+ Connected operators configure delivery with `clawdi setup --agent <type> --vault-workspace <path>`;
147
+ that changes only the Vault destination, never every repository scanned by the daemon.
148
+
149
+ After a credential request is supplied, wait for the expected fields in index metadata before
150
+ claiming delivery. If delivery is unavailable, report that state and any missing workspace
151
+ binding instead of inventing a destination. Preserve unrelated local configuration.
152
+
153
+ ### Optional CLI environment files
154
+
155
+ For an explicit operator-run compatibility workflow outside Hosted, use the available CLI.
156
+ Choose a target outside the generated `.clawdi/vaults` directory:
157
+
158
+ ```bash
159
+ clawdi vault materialize --vault <vault-uuid> --project <project-uuid> --out /absolute/project/.env
160
+ clawdi vault pull --out /absolute/project/.env
161
+ ```
162
+
163
+ The first command binds the exact source; later pulls reuse it and preserve unrelated
164
+ assignments. Optional `--section <name>` selects one section. Files must be untracked,
165
+ Git-ignored, and not symlinks. Source changes and local edits fail without overwriting.
166
+ Report only the path, status, and counts. This does not upload local edits, run in the
167
+ background, or reload a running process's environment.
151
168
 
152
169
  For explicit import/write, pass fields to `vault_item_upsert`; use
153
170
  `vault_item_delete` for exact batch deletions. Never upload local edits automatically.
@@ -167,7 +184,10 @@ already exposed by the runtime, and authorized API or SDK credentials. If an ins
167
184
  authenticated official CLI can perform the task, use it directly. Check availability and
168
185
  authentication non-destructively and prefer structured output.
169
186
 
170
- Otherwise choose the lowest-setup reliable option for the task. Consult the service's official
187
+ Otherwise reuse a ready, authorized direct integration when it can perform the task. If none
188
+ is usable and Composio is already connected and capable, use it without demanding a new key,
189
+ login, installation, or account migration merely to avoid the connector. For remaining setup
190
+ choices, choose the lowest-setup reliable option for the task. Consult the service's official
171
191
  documentation when installation, authentication, commands, or schemas are uncertain or likely
172
192
  to have changed:
173
193
 
@@ -177,7 +197,7 @@ to have changed:
177
197
  official, and no elevation or persistent host change is required.
178
198
  - Use the official API or SDK with a verified contract and credentials already authorized for
179
199
  the runtime, including through an exact Vault reference.
180
- - Use the Clawdi connector when no direct option can perform the operation.
200
+ - Use the Clawdi connector when no direct option is usable for the operation.
181
201
 
182
202
  Before a side effect, establish the exact service account and organization, Project, or tenant.
183
203
  Use connection details from Composio discovery, or explicitly list accounts with
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: clawdi
3
- description: "Use Clawdi Cloud for missing user memory, past sessions, Project or Vault context, Clawdi share URLs, and connected-service fallback such as Gmail, GitHub, Notion, Drive, or Calendar. Prefer an authenticated official service CLI; otherwise choose a trusted direct MCP, safely installable official CLI, official API or SDK, or the Clawdi connector as fallback. Do not invoke solely because a project, person, repo, or tool is named."
3
+ description: "API keys, tokens, memory, sessions, Projects, integrations. Use Clawdi Cloud when a task needs passwords or safe credential storage/provision, missing user memory or Project/Vault context, past conversations, Clawdi share URLs, or connected-service fallback such as Gmail, GitHub, Notion, Drive, or Calendar. Do not invoke solely because a project, person, repo, or tool is named."
4
4
  ---
5
5
 
6
6
  # Clawdi Cloud
@@ -57,17 +57,29 @@ generic web fetcher for Clawdi share URLs.
57
57
  - `project_list` — List Projects visible to the caller.
58
58
  - `project_get` — Read one visible Project by UUID.
59
59
 
60
- A Hosted runtime is restricted to its bound Project. Treat not-found as an access boundary
61
- as well as a possible unknown UUID; do not try to bypass it through another tool.
60
+ Strict-v2 Hosted runtimes can read their own Workspace and explicitly linked Projects
61
+ that remain readable by the owner. `project_current_get` returns that Workspace; writes,
62
+ new Vaults, and credential requests are limited to it. Legacy Agent-bound keys retain
63
+ their narrower bound-Project read scope. Treat not-found as an access boundary as well
64
+ as a possible unknown UUID; do not bypass it through another tool.
62
65
 
63
66
  ## Vault
64
67
 
68
+ Vault stores credentials for authorized tools and services; it is not a universal service
69
+ alternative. Reuse ready, authorized mechanisms before requesting missing credentials. An
70
+ already-connected, capable Composio integration does not require duplicate credentials in Vault
71
+ or account migration. Request credentials only when the chosen task path actually needs them.
72
+
65
73
  - `vault_list` — List attached Vaults and key counts for visible Projects.
66
74
  - `vault_get` — List key names, provenance, and exact references for an attached Vault.
67
75
 
68
- Use `vault_resolve` only when the current task requires one referenced plaintext value. Pass
69
- the exact Project-scoped reference. Treat the result as sensitive: never echo it, save it to
70
- Memory, or include it in logs.
76
+ Honor an explicit Vault/source or known local mapping first. Otherwise use `vault_list` /
77
+ `vault_get` metadata to reuse a Vault suited to the task's purpose and access. Create in
78
+ your own Workspace only when none is appropriate and the task authorizes creation.
79
+ Clarify ambiguous sources; never create duplicates or write to linked Projects to bypass access.
80
+
81
+ Use `vault_resolve` only for authorized credential use, with exact Project-scoped
82
+ reference(s) following its live schema. Never echo values, save them to Memory, or log them.
71
83
 
72
84
  The metadata tools never return plaintext secret values. Preserve exact references for
73
85
  `vault_resolve` or when passing them to an authorized runtime:
@@ -77,15 +89,15 @@ The metadata tools never return plaintext secret values. Preserve exact referenc
77
89
 
78
90
  Vault write tools are available for explicit user requests:
79
91
 
80
- - `vault_create` — Create a Vault attached to the runtime-bound Project.
92
+ - `vault_create` — Create a Vault attached to your own Workspace.
81
93
  - `vault_item_upsert` — Create or replace exact fields in an attached Vault.
82
94
  - `vault_item_delete` — Delete exact fields from a single-Project Vault.
83
95
 
84
96
  Follow the live schema and supply every required Project, Vault, section, and field identity;
85
97
  never infer an overwrite or deletion. Treat field values as sensitive inputs and never echo
86
- them, save them to Memory, or include them in logs. Hosted writes are restricted to the
87
- runtime-bound Project, and field deletion is rejected when a Vault is attached to multiple
88
- Projects. Whole-Vault deletion, attach/detach, bulk import, and credential profiles remain
98
+ them, save them to Memory, or include them in logs. Hosted writes are restricted to their
99
+ own Workspace (the runtime-bound Project). Field deletion is rejected when a Vault is
100
+ attached to multiple Projects. Whole-Vault deletion, attach/detach, and credential profiles remain
89
101
  unavailable through Agent MCP; do not bypass that boundary through raw HTTP.
90
102
 
91
103
  ### Request missing credentials
@@ -102,10 +114,29 @@ inspect the Vault and request only still-missing fields; never replace an existi
102
114
  retry. If creation times out, use `vault_get` to find recent request IDs before retrying.
103
115
  If submission times out, inspect status before repeating a mutation.
104
116
 
105
- Use `vault_resolve` for authorized runtime reads after supply. The returned `local_command`
106
- is guidance for a self-managed CLI installation, not an available hosted command. This
107
- runtime does not expose the CLI Vault-file binding/pull workflow; do not invent a local sync
108
- command or promise durable local environment synchronization here.
117
+ ### Use runtime-supplied credentials
118
+
119
+ Clawdi runtime synchronizes readable Vaults from your own Workspace and explicitly linked,
120
+ still-readable Projects into `.clawdi/vaults/` beneath your native workspace. Inspect only
121
+ `.clawdi/vaults/index.json` for Vault IDs, section names, exact references, field names and files.
122
+ Each section has a separate JSON file; equal field names in different sections stay separate.
123
+ Select by the user's intended Vault and section, never by an ambiguous field name alone.
124
+
125
+ Load the selected JSON file inside the authorized process or SDK without printing values.
126
+ For example, Python can use `json.load(open(path))` and pass the selected key directly to
127
+ its SDK. Do not read plaintext into model/tool-result context merely to save or copy it.
128
+ Do not invoke or install the Clawdi CLI from the tenant. Runtime owns these generated files:
129
+ do not edit, chmod, move, commit, or create your own files in `.clawdi/vaults/`. Preserve
130
+ unrelated configuration in its `.clawdi` parent. Connected installations use this same
131
+ layout on macOS/Linux only after an explicit workspace binding; do not assume an arbitrary
132
+ repo is bound. Files remain readable by authorized programs running as the same user.
133
+
134
+ After a credential request is supplied, inspect index metadata for the requested fields.
135
+ Pending requests are metadata only, never empty pseudo-secrets. If delivery is delayed,
136
+ report that state without claiming the credentials are saved. Runtime refreshes files;
137
+ already-running processes must explicitly reload them. Offline delivery retains last good
138
+ files; confirmed access removal removes generated files. Authorized code can read these
139
+ files, so do not claim that subsequent plaintext exposure is impossible.
109
140
 
110
141
  ## Connector Routing
111
142
 
@@ -114,7 +145,10 @@ already exposed by the runtime, and authorized API or SDK credentials. If an ins
114
145
  authenticated official CLI can perform the task, use it directly. Check availability and
115
146
  authentication non-destructively and prefer structured output.
116
147
 
117
- Otherwise choose the lowest-setup reliable option for the task. Consult the service's official
148
+ Otherwise reuse a ready, authorized direct integration when it can perform the task. If none
149
+ is usable and Composio is already connected and capable, use it without demanding a new key,
150
+ login, installation, or account migration merely to avoid the connector. For remaining setup
151
+ choices, choose the lowest-setup reliable option for the task. Consult the service's official
118
152
  documentation when installation, authentication, commands, or schemas are uncertain or likely
119
153
  to have changed:
120
154
 
@@ -124,7 +158,7 @@ to have changed:
124
158
  official, and no elevation or persistent host change is required.
125
159
  - Use the official API or SDK with a verified contract and credentials already authorized for
126
160
  the runtime, including through an exact Vault reference.
127
- - Use the Clawdi connector when no direct option can perform the operation.
161
+ - Use the Clawdi connector when no direct option is usable for the operation.
128
162
 
129
163
  Before a side effect, establish the exact service account and organization, Project, or tenant.
130
164
  Use connection details from Composio discovery, or explicitly list accounts with