clawdi 0.14.70 → 0.14.73
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/index.js +433 -419
- package/package.json +1 -1
- package/skills/clawdi/SKILL.md +66 -12
- package/skills/hosted-versions/1/clawdi/SKILL.md +54 -9
package/package.json
CHANGED
package/skills/clawdi/SKILL.md
CHANGED
|
@@ -72,9 +72,11 @@ Three read-only tools expose the caller's visible Project context:
|
|
|
72
72
|
- `project_list` — List visible Projects.
|
|
73
73
|
- `project_get` — Read one visible Project by UUID.
|
|
74
74
|
|
|
75
|
-
Hosted runtimes
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
Strict-v2 Hosted runtimes can read their own Workspace and explicitly linked Projects
|
|
76
|
+
that remain readable by the owner. `project_current_get` returns that Workspace;
|
|
77
|
+
writes, new Vaults, and credential requests are limited to that Workspace. Legacy
|
|
78
|
+
Agent-bound keys retain their narrower bound-Project read scope. Treat not-found as
|
|
79
|
+
an access boundary as well as a possible unknown UUID; never bypass it with another tool.
|
|
78
80
|
|
|
79
81
|
## Vault
|
|
80
82
|
|
|
@@ -83,19 +85,19 @@ Vault read tools expose metadata and exact references:
|
|
|
83
85
|
- `vault_list` — List Vault attachments and key counts for visible Projects.
|
|
84
86
|
- `vault_get` — List key names, provenance, and exact `clawdi://` references for one attached Vault.
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
Honor an explicit Vault/source or known local mapping first. Otherwise use `vault_list` /
|
|
89
|
+
`vault_get` metadata to reuse a Vault suited to the task's purpose and access. Create in
|
|
90
|
+
your own Workspace only when none is appropriate and the task authorizes creation.
|
|
91
|
+
Clarify ambiguous sources; never create duplicates or write to linked Projects to bypass access.
|
|
89
92
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
to an authorized runtime:
|
|
93
|
+
Use `vault_resolve` only when the authorized task requires plaintext. The metadata tools return
|
|
94
|
+
key names and exact references, never secret values. Preserve those references when
|
|
95
|
+
passing them to an authorized runtime:
|
|
93
96
|
|
|
94
97
|
- `clawdi://project/<project-id>/vault/<vault>/field/<field>`
|
|
95
98
|
- `clawdi://project/<project-id>/vault/<vault>/section/<section>/field/<field>`
|
|
96
99
|
|
|
97
|
-
Use the live schemas from the `clawdi` MCP server as authoritative
|
|
98
|
-
stdio command only transports the protocol.
|
|
100
|
+
Use the live schemas from the `clawdi` MCP server as authoritative.
|
|
99
101
|
|
|
100
102
|
Vault write tools are available for explicit user requests:
|
|
101
103
|
|
|
@@ -107,9 +109,61 @@ Follow the live schema and supply every required Project, Vault, section, and fi
|
|
|
107
109
|
never infer an overwrite or deletion. Treat field values as sensitive inputs and never echo
|
|
108
110
|
them, save them to Memory, or include them in logs. Environment-bound callers may write only
|
|
109
111
|
their bound Project, and field deletion is rejected when a Vault is attached to multiple
|
|
110
|
-
Projects. Whole-Vault deletion, attach/detach,
|
|
112
|
+
Projects. Whole-Vault deletion, attach/detach, and credential profiles remain
|
|
111
113
|
foreground operator workflows; never bypass that boundary through raw HTTP or daemon RPC.
|
|
112
114
|
|
|
115
|
+
### Request missing credentials
|
|
116
|
+
|
|
117
|
+
Use `vault_request_create` with exact `project_id`, `vault_id`, canonical `slug`, optional
|
|
118
|
+
`section`, and a batch of environment field names in `fields`. A Vault is a key bundle:
|
|
119
|
+
request related keys together under one link. Supplied or already-pending fields are rejected.
|
|
120
|
+
Show the returned `url` unchanged to the user; do not ask them to paste secrets into chat.
|
|
121
|
+
Opening the link does not consume it. Saving all requested fields consumes it once.
|
|
122
|
+
|
|
123
|
+
Check `vault_request_status` with its `request_id` after the user finishes. `pending` is not
|
|
124
|
+
a secret value; `supplied` means the exact references are ready. On `expired` or `conflict`,
|
|
125
|
+
inspect the Vault and request only still-missing fields; never replace an existing value to
|
|
126
|
+
retry. If creation times out, use `vault_get` to find recent request IDs before retrying.
|
|
127
|
+
If submission times out, inspect status before repeating a mutation.
|
|
128
|
+
|
|
129
|
+
### Save and refresh credentials locally
|
|
130
|
+
|
|
131
|
+
Hosted runtime supplies `.clawdi/vaults/` under the native workspace automatically.
|
|
132
|
+
Connected macOS/Linux/WSL Agents receive the same layout only in the workspace explicitly
|
|
133
|
+
confirmed by setup. Use that configured path, which may differ from the current repository;
|
|
134
|
+
do not guess from HOME, daemon CWD, or scanned sessions. Existing registrations without a
|
|
135
|
+
Vault workspace do not download values. Native Windows daemon/file delivery is unsupported.
|
|
136
|
+
|
|
137
|
+
Inspect only the configured `.clawdi/vaults/index.json` to select the intended Vault/section.
|
|
138
|
+
Load its JSON file inside the authorized process or SDK without printing values or returning
|
|
139
|
+
them to model/tool-result context merely to save them. These are generated files: do not
|
|
140
|
+
edit, move or commit them. Hosted agents must not invoke/install the tenant Clawdi CLI.
|
|
141
|
+
Connected operators configure delivery with `clawdi setup --agent <type> --vault-workspace <path>`;
|
|
142
|
+
that changes only the Vault destination, never every repository scanned by the daemon.
|
|
143
|
+
|
|
144
|
+
After a credential request is supplied, wait for the expected fields in index metadata before
|
|
145
|
+
claiming delivery. If delivery is unavailable, report that state and any missing workspace
|
|
146
|
+
binding instead of inventing a destination. Preserve unrelated local configuration.
|
|
147
|
+
|
|
148
|
+
### Optional CLI environment files
|
|
149
|
+
|
|
150
|
+
For an explicit operator-run compatibility workflow outside Hosted, use the available CLI.
|
|
151
|
+
Choose a target outside the generated `.clawdi/vaults` directory:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
clawdi vault materialize --vault <vault-uuid> --project <project-uuid> --out /absolute/project/.env
|
|
155
|
+
clawdi vault pull --out /absolute/project/.env
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The first command binds the exact source; later pulls reuse it and preserve unrelated
|
|
159
|
+
assignments. Optional `--section <name>` selects one section. Files must be untracked,
|
|
160
|
+
Git-ignored, and not symlinks. Source changes and local edits fail without overwriting.
|
|
161
|
+
Report only the path, status, and counts. This does not upload local edits, run in the
|
|
162
|
+
background, or reload a running process's environment.
|
|
163
|
+
|
|
164
|
+
For explicit import/write, pass fields to `vault_item_upsert`; use
|
|
165
|
+
`vault_item_delete` for exact batch deletions. Never upload local edits automatically.
|
|
166
|
+
|
|
113
167
|
## Wallet Funding
|
|
114
168
|
|
|
115
169
|
Use `clawdi wallet status --json` to inspect the authenticated Wallet balance, verified
|
|
@@ -57,17 +57,24 @@ 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
|
-
|
|
61
|
-
|
|
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
|
|
|
65
68
|
- `vault_list` — List attached Vaults and key counts for visible Projects.
|
|
66
69
|
- `vault_get` — List key names, provenance, and exact references for an attached Vault.
|
|
67
70
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
Honor an explicit Vault/source or known local mapping first. Otherwise use `vault_list` /
|
|
72
|
+
`vault_get` metadata to reuse a Vault suited to the task's purpose and access. Create in
|
|
73
|
+
your own Workspace only when none is appropriate and the task authorizes creation.
|
|
74
|
+
Clarify ambiguous sources; never create duplicates or write to linked Projects to bypass access.
|
|
75
|
+
|
|
76
|
+
Use `vault_resolve` only for authorized credential use, with exact Project-scoped
|
|
77
|
+
reference(s) following its live schema. Never echo values, save them to Memory, or log them.
|
|
71
78
|
|
|
72
79
|
The metadata tools never return plaintext secret values. Preserve exact references for
|
|
73
80
|
`vault_resolve` or when passing them to an authorized runtime:
|
|
@@ -77,17 +84,55 @@ The metadata tools never return plaintext secret values. Preserve exact referenc
|
|
|
77
84
|
|
|
78
85
|
Vault write tools are available for explicit user requests:
|
|
79
86
|
|
|
80
|
-
- `vault_create` — Create a Vault attached to
|
|
87
|
+
- `vault_create` — Create a Vault attached to your own Workspace.
|
|
81
88
|
- `vault_item_upsert` — Create or replace exact fields in an attached Vault.
|
|
82
89
|
- `vault_item_delete` — Delete exact fields from a single-Project Vault.
|
|
83
90
|
|
|
84
91
|
Follow the live schema and supply every required Project, Vault, section, and field identity;
|
|
85
92
|
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
|
|
87
|
-
runtime-bound Project
|
|
88
|
-
Projects. Whole-Vault deletion, attach/detach,
|
|
93
|
+
them, save them to Memory, or include them in logs. Hosted writes are restricted to their
|
|
94
|
+
own Workspace (the runtime-bound Project). Field deletion is rejected when a Vault is
|
|
95
|
+
attached to multiple Projects. Whole-Vault deletion, attach/detach, and credential profiles remain
|
|
89
96
|
unavailable through Agent MCP; do not bypass that boundary through raw HTTP.
|
|
90
97
|
|
|
98
|
+
### Request missing credentials
|
|
99
|
+
|
|
100
|
+
Use `vault_request_create` with exact `project_id`, `vault_id`, canonical `slug`, optional
|
|
101
|
+
`section`, and a batch of environment field names in `fields`. A Vault is a key bundle:
|
|
102
|
+
request related keys together under one link. Supplied or already-pending fields are rejected.
|
|
103
|
+
Show the returned `url` unchanged to the user; do not ask them to paste secrets into chat.
|
|
104
|
+
Opening the link does not consume it. Saving all requested fields consumes it once.
|
|
105
|
+
|
|
106
|
+
Check `vault_request_status` with its `request_id` after the user finishes. `pending` is not
|
|
107
|
+
a secret value; `supplied` means the exact references are ready. On `expired` or `conflict`,
|
|
108
|
+
inspect the Vault and request only still-missing fields; never replace an existing value to
|
|
109
|
+
retry. If creation times out, use `vault_get` to find recent request IDs before retrying.
|
|
110
|
+
If submission times out, inspect status before repeating a mutation.
|
|
111
|
+
|
|
112
|
+
### Use runtime-supplied credentials
|
|
113
|
+
|
|
114
|
+
Clawdi runtime synchronizes readable Vaults from your own Workspace and explicitly linked,
|
|
115
|
+
still-readable Projects into `.clawdi/vaults/` beneath your native workspace. Inspect only
|
|
116
|
+
`.clawdi/vaults/index.json` for Vault IDs, section names, exact references, field names and files.
|
|
117
|
+
Each section has a separate JSON file; equal field names in different sections stay separate.
|
|
118
|
+
Select by the user's intended Vault and section, never by an ambiguous field name alone.
|
|
119
|
+
|
|
120
|
+
Load the selected JSON file inside the authorized process or SDK without printing values.
|
|
121
|
+
For example, Python can use `json.load(open(path))` and pass the selected key directly to
|
|
122
|
+
its SDK. Do not read plaintext into model/tool-result context merely to save or copy it.
|
|
123
|
+
Do not invoke or install the Clawdi CLI from the tenant. Runtime owns these generated files:
|
|
124
|
+
do not edit, chmod, move, commit, or create your own files in `.clawdi/vaults/`. Preserve
|
|
125
|
+
unrelated configuration in its `.clawdi` parent. Connected installations use this same
|
|
126
|
+
layout on macOS/Linux only after an explicit workspace binding; do not assume an arbitrary
|
|
127
|
+
repo is bound. Files remain readable by authorized programs running as the same user.
|
|
128
|
+
|
|
129
|
+
After a credential request is supplied, inspect index metadata for the requested fields.
|
|
130
|
+
Pending requests are metadata only, never empty pseudo-secrets. If delivery is delayed,
|
|
131
|
+
report that state without claiming the credentials are saved. Runtime refreshes files;
|
|
132
|
+
already-running processes must explicitly reload them. Offline delivery retains last good
|
|
133
|
+
files; confirmed access removal removes generated files. Authorized code can read these
|
|
134
|
+
files, so do not claim that subsequent plaintext exposure is impossible.
|
|
135
|
+
|
|
91
136
|
## Connector Routing
|
|
92
137
|
|
|
93
138
|
Respect an explicit user choice. Otherwise inspect installed service CLIs, direct MCP tools
|