clawdi 0.14.75 → 0.14.77

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.75",
3
+ "version": "0.14.77",
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",
@@ -128,18 +128,22 @@ their bound Project, and field deletion is rejected when a Vault is attached to
128
128
  Projects. Whole-Vault deletion, attach/detach, and credential profiles remain
129
129
  foreground operator workflows; never bypass that boundary through raw HTTP or daemon RPC.
130
130
 
131
- ### Request missing credentials
131
+ ### Request new or updated credentials
132
132
 
133
133
  Use `vault_request_create` with exact `project_id`, `vault_id`, canonical `slug`, optional
134
- `section`, and a batch of environment field names in `fields`. A Vault is a key bundle:
135
- request related keys together under one link. Supplied or already-pending fields are rejected.
134
+ `section`, and a batch of Vault field names in `fields`. A Vault is a key bundle:
135
+ request related new and existing keys together under one link. Include existing keys only
136
+ when the user authorized updating them; do not delete them first. Existing Vault values
137
+ remain unchanged until successful submission and are never shown or prefilled. Overlapping pending requests
138
+ are rejected; a change to any requested field conflicts with the entire batch.
136
139
  Show the returned `url` unchanged to the user; do not ask them to paste secrets into chat.
137
140
  Opening the link does not consume it. Saving all requested fields consumes it once.
138
141
 
139
142
  Check `vault_request_status` with its `request_id` after the user finishes. `pending` is not
140
143
  a secret value; `supplied` means the exact references are ready. On `expired` or `conflict`,
141
- inspect the Vault and request only still-missing fields; never replace an existing value to
142
- retry. If creation times out, use `vault_get` to find recent request IDs before retrying.
144
+ inspect current Vault metadata and reassess the authorized fields before creating a fresh
145
+ request; do not blindly retry an overwrite. If creation times out, use `vault_get` to find
146
+ recent request IDs before retrying.
143
147
  If submission times out, inspect status before repeating a mutation.
144
148
 
145
149
  ### Save and refresh credentials locally
@@ -157,9 +161,12 @@ edit, move or commit them. Hosted agents must not invoke/install the tenant Claw
157
161
  Connected operators configure delivery with `clawdi setup --agent <type> --vault-workspace <path>`;
158
162
  that changes only the Vault destination, never every repository scanned by the daemon.
159
163
 
160
- After a credential request is supplied, wait for the expected fields in index metadata before
161
- claiming delivery. If delivery is unavailable, report that state and any missing workspace
162
- binding instead of inventing a destination. Preserve unrelated local configuration.
164
+ After `vault_request_status` reports `supplied`, match its Vault ID, section and field names
165
+ in the index and require the local Vault `content_version` to be at least the status
166
+ `content_version`. The API requires this counter; existing names alone do not prove delivery.
167
+ If the owned index is incomplete or behind, wait for runtime reconciliation and report
168
+ unverified delivery. Do not read secret values to check freshness. Report missing workspace bindings instead of inventing a
169
+ destination. Preserve unrelated local configuration.
163
170
 
164
171
  ### Optional CLI environment files
165
172
 
@@ -113,18 +113,22 @@ own Workspace (the runtime-bound Project). Field deletion is rejected when a Vau
113
113
  attached to multiple Projects. Whole-Vault deletion, attach/detach, and credential profiles remain
114
114
  unavailable through Agent MCP; do not bypass that boundary through raw HTTP.
115
115
 
116
- ### Request missing credentials
116
+ ### Request new or updated credentials
117
117
 
118
118
  Use `vault_request_create` with exact `project_id`, `vault_id`, canonical `slug`, optional
119
- `section`, and a batch of environment field names in `fields`. A Vault is a key bundle:
120
- request related keys together under one link. Supplied or already-pending fields are rejected.
119
+ `section`, and a batch of Vault field names in `fields`. A Vault is a key bundle:
120
+ request related new and existing keys together under one link. Include existing keys only
121
+ when the user authorized updating them; do not delete them first. Existing Vault values
122
+ remain unchanged until successful submission and are never shown or prefilled. Overlapping pending requests
123
+ are rejected; a change to any requested field conflicts with the entire batch.
121
124
  Show the returned `url` unchanged to the user; do not ask them to paste secrets into chat.
122
125
  Opening the link does not consume it. Saving all requested fields consumes it once.
123
126
 
124
127
  Check `vault_request_status` with its `request_id` after the user finishes. `pending` is not
125
128
  a secret value; `supplied` means the exact references are ready. On `expired` or `conflict`,
126
- inspect the Vault and request only still-missing fields; never replace an existing value to
127
- retry. If creation times out, use `vault_get` to find recent request IDs before retrying.
129
+ inspect current Vault metadata and reassess the authorized fields before creating a fresh
130
+ request; do not blindly retry an overwrite. If creation times out, use `vault_get` to find
131
+ recent request IDs before retrying.
128
132
  If submission times out, inspect status before repeating a mutation.
129
133
 
130
134
  ### Use runtime-supplied credentials
@@ -144,10 +148,12 @@ unrelated configuration in its `.clawdi` parent. Connected installations use thi
144
148
  layout on macOS/Linux only after an explicit workspace binding; do not assume an arbitrary
145
149
  repo is bound. Files remain readable by authorized programs running as the same user.
146
150
 
147
- After a credential request is supplied, inspect index metadata for the requested fields.
148
- Pending requests are metadata only, never empty pseudo-secrets. If delivery is delayed,
149
- report that state without claiming the credentials are saved. Runtime refreshes files;
150
- already-running processes must explicitly reload them. Offline delivery retains last good
151
+ After `vault_request_status` reports `supplied`, match its Vault ID, section and field names
152
+ in the index and require the local Vault `content_version` to be at least the status
153
+ `content_version`. The API requires this counter; existing names alone do not prove delivery.
154
+ If the owned index is incomplete or behind, wait for runtime reconciliation and report
155
+ unverified delivery. Do not read secret values to check freshness. Pending requests are metadata only, never empty pseudo-secrets.
156
+ Runtime refreshes files; already-running processes must explicitly reload them. Offline delivery retains last good
151
157
  files; confirmed access removal removes generated files. Authorized code can read these
152
158
  files, so do not claim that subsequent plaintext exposure is impossible.
153
159