@motebit/protocol 1.2.0 → 2.0.0
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/README.md +4 -2
- package/dist/artifact-type.d.ts +144 -0
- package/dist/artifact-type.d.ts.map +1 -0
- package/dist/artifact-type.js +107 -0
- package/dist/artifact-type.js.map +1 -0
- package/dist/audience.d.ts +108 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/audience.js +104 -0
- package/dist/audience.js.map +1 -0
- package/dist/co-browse.d.ts +369 -0
- package/dist/co-browse.d.ts.map +1 -0
- package/dist/co-browse.js +64 -0
- package/dist/co-browse.js.map +1 -0
- package/dist/computer-use.d.ts +463 -3
- package/dist/computer-use.d.ts.map +1 -1
- package/dist/computer-use.js +40 -0
- package/dist/computer-use.js.map +1 -1
- package/dist/event-type.d.ts +62 -0
- package/dist/event-type.d.ts.map +1 -0
- package/dist/event-type.js +123 -0
- package/dist/event-type.js.map +1 -0
- package/dist/index.d.ts +257 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -1
- package/dist/index.js.map +1 -1
- package/dist/memory-events.d.ts +13 -0
- package/dist/memory-events.d.ts.map +1 -1
- package/dist/money.d.ts +33 -0
- package/dist/money.d.ts.map +1 -0
- package/dist/money.js +41 -0
- package/dist/money.js.map +1 -0
- package/dist/perception.d.ts +347 -0
- package/dist/perception.d.ts.map +1 -0
- package/dist/perception.js +9 -0
- package/dist/perception.js.map +1 -0
- package/dist/retention-policy.d.ts +8 -1
- package/dist/retention-policy.d.ts.map +1 -1
- package/dist/retention-policy.js +18 -0
- package/dist/retention-policy.js.map +1 -1
- package/dist/routing.d.ts +266 -0
- package/dist/routing.d.ts.map +1 -0
- package/dist/routing.js +88 -0
- package/dist/routing.js.map +1 -0
- package/dist/sensitivity.d.ts +123 -0
- package/dist/sensitivity.d.ts.map +1 -0
- package/dist/sensitivity.js +154 -0
- package/dist/sensitivity.js.map +1 -0
- package/dist/settlement-asset.d.ts +92 -0
- package/dist/settlement-asset.d.ts.map +1 -0
- package/dist/settlement-asset.js +82 -0
- package/dist/settlement-asset.js.map +1 -0
- package/dist/settlement-mode.d.ts +144 -13
- package/dist/settlement-mode.d.ts.map +1 -1
- package/dist/settlement-mode.js +45 -1
- package/dist/settlement-mode.js.map +1 -1
- package/dist/transparency.d.ts +116 -0
- package/dist/transparency.d.ts.map +1 -0
- package/dist/transparency.js +67 -0
- package/dist/transparency.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import type { SensitivityLevel } from "./index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Perception input — the typed surface for content the user delivers
|
|
4
|
+
* to a motebit by direct gesture (drag-drop on web/desktop, pinch-throw
|
|
5
|
+
* on spatial, share-sheet on mobile). Same shape the doctrine
|
|
6
|
+
* `motebit-computer.md` §"Supervised agency / minimum gesture set"
|
|
7
|
+
* names ("Drag a file / URL / snippet onto the slab → feed perception")
|
|
8
|
+
* but typed at the protocol layer so every surface produces and the
|
|
9
|
+
* runtime consumes a single shape.
|
|
10
|
+
*
|
|
11
|
+
* Two-level pattern. Categorical kinds are closed (the protocol-layer
|
|
12
|
+
* commitment); within-kind handlers are open (registered in-runtime
|
|
13
|
+
* per surface). Closure here makes the role bounded — adding a new
|
|
14
|
+
* categorical drop kind is a protocol bump (additive, registry append),
|
|
15
|
+
* not an open-ended free-for-all. Same shape as `SuiteId` /
|
|
16
|
+
* `GuestRail` / `ToolMode` (the agility-as-role pattern in
|
|
17
|
+
* `docs/doctrine/agility-as-role.md`).
|
|
18
|
+
*
|
|
19
|
+
* Drop-out provenance — when a motebit-produced artifact leaves the
|
|
20
|
+
* slab toward another destination — uses `ExecutionReceipt` (already
|
|
21
|
+
* in the protocol). This file covers only the in-direction substrate.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Categorical drop kinds the protocol commits to. Closed string-literal
|
|
25
|
+
* union; adding a new kind is a protocol-version bump.
|
|
26
|
+
*
|
|
27
|
+
* - `url` — a hyperlink, route resolves through the runtime's
|
|
28
|
+
* fetch-shaped tool path. Highest-frequency desktop/web intent
|
|
29
|
+
* ("show motebit this page"). Source frame optional.
|
|
30
|
+
* - `text` — a snippet of text, MIME-tagged when known
|
|
31
|
+
* (`text/plain`, `text/markdown`). Drag-from-selection, paste-as-
|
|
32
|
+
* drop, or programmatic "here's context."
|
|
33
|
+
* - `image` — raster bytes with a known MIME (`image/png`,
|
|
34
|
+
* `image/jpeg`, `image/webp`). The multimodal moment — "what is
|
|
35
|
+
* this?" Routes through whatever vision-capable provider is
|
|
36
|
+
* configured.
|
|
37
|
+
* - `file` — opaque bytes with filename + MIME. Deferred for v1.1
|
|
38
|
+
* because file-format proliferation is unbounded; ships when a
|
|
39
|
+
* concrete handler-extension consumer drives the registry shape.
|
|
40
|
+
* - `artifact` — a motebit-produced signed artifact (the bytes plus
|
|
41
|
+
* its `ExecutionReceipt`). Drag motebit-to-motebit. Deferred for
|
|
42
|
+
* v1.1 because multi-motebit UX isn't shipped.
|
|
43
|
+
*
|
|
44
|
+
* Future kind worth naming for review-time consideration but NOT in
|
|
45
|
+
* the v1 union (waits on `EmbodimentMode` protocol promotion):
|
|
46
|
+
*
|
|
47
|
+
* - `mode-grant` — drag a permission token onto the slab. e.g.
|
|
48
|
+
* "you may drive my desktop for this session." Add when
|
|
49
|
+
* `EmbodimentMode` lifts from `@motebit/render-engine` to
|
|
50
|
+
* `@motebit/protocol`.
|
|
51
|
+
*/
|
|
52
|
+
export type DropPayloadKind = "url" | "text" | "image" | "file" | "artifact";
|
|
53
|
+
/**
|
|
54
|
+
* Where in the scene the drop is intended to land. Three physically-
|
|
55
|
+
* distinct targets in spatial; on 2D surfaces they collapse to "slab"
|
|
56
|
+
* by default since the user can't aim at a non-slab target without
|
|
57
|
+
* spatial separation.
|
|
58
|
+
*
|
|
59
|
+
* **The targets are NOT equivalent drop zones with different visual
|
|
60
|
+
* effects.** Each has meaningfully different persistence and
|
|
61
|
+
* governance scopes — implementing them with a uniform governance
|
|
62
|
+
* posture is the silent-persistent-mutation failure mode this
|
|
63
|
+
* doctrine exists to prevent.
|
|
64
|
+
*
|
|
65
|
+
* - `slab` — perception input ("the motebit sees this for this
|
|
66
|
+
* turn"). Turn/session-scoped persistence; the sensitivity
|
|
67
|
+
* classifier inspects the payload at the next AI call;
|
|
68
|
+
* `tier-bounded-by-source` per the `EmbodimentSensitivityRouting`
|
|
69
|
+
* of `shared_gaze` mode. v1 default for every surface that
|
|
70
|
+
* doesn't yet distinguish targets.
|
|
71
|
+
*
|
|
72
|
+
* - `creature` — body-bound carry ("this travels with the motebit
|
|
73
|
+
* across sessions"). Identity-adjacent state mutation: the
|
|
74
|
+
* payload is destined for the motebit's interior (memory graph,
|
|
75
|
+
* trust graph, capability bindings, persona preferences) rather
|
|
76
|
+
* than the workstation's turn context. **Stronger governance
|
|
77
|
+
* than slab is required:** explicit confirmation / signed user
|
|
78
|
+
* intent before any persistent state mutation. Closer to
|
|
79
|
+
* changing the agent's body than feeding task context.
|
|
80
|
+
* Spatial-first; deferred until the gesture surface (drag toward
|
|
81
|
+
* floating creature droplet) lands AND the per-target governance
|
|
82
|
+
* UX ships. Do NOT implement creature-drop with slab-drop's
|
|
83
|
+
* governance posture.
|
|
84
|
+
*
|
|
85
|
+
* - `ambient` — environmental context ("background reference for
|
|
86
|
+
* this session, not turn-perception"). Workspace-scoped
|
|
87
|
+
* persistence with source-consent + expiration. **Invariant:
|
|
88
|
+
* ambient references are consultable context, not automatic
|
|
89
|
+
* prompt context.** The motebit can reach for them when a turn
|
|
90
|
+
* calls for it, but ambient drops never auto-fill the prompt.
|
|
91
|
+
* Future implementations will be tempted to dump ambient bytes
|
|
92
|
+
* into every turn's context pack; that's the failure mode this
|
|
93
|
+
* invariant exists to prevent. Spatial-first; in glasses,
|
|
94
|
+
* dropping a reference into the user's physical workspace is the
|
|
95
|
+
* natural gesture.
|
|
96
|
+
*
|
|
97
|
+
* Field is optional; absent ≡ `slab`. Surfaces may set non-default
|
|
98
|
+
* targets once they implement BOTH the gesture detection (e.g.,
|
|
99
|
+
* Three.js raycast pick on 2D web; 3D hand-path pick on spatial)
|
|
100
|
+
* AND the per-target governance UX that makes elevation safe.
|
|
101
|
+
*
|
|
102
|
+
* **Dimensionality is not the gate; governance is.** A 2D web surface
|
|
103
|
+
* CAN distinguish the three targets via raycast at drop time
|
|
104
|
+
* (creature mesh hit / slab plane hit / no hit ≡ ambient). What
|
|
105
|
+
* actually defers `creature` and `ambient` is the per-target
|
|
106
|
+
* governance UX (creature: confirmation modal + chosen mutation
|
|
107
|
+
* semantic; ambient: workspace-scoped consultable store +
|
|
108
|
+
* retrieval-shaped API). Until those exist, `MotebitRuntime.feedPerception`
|
|
109
|
+
* fails closed on non-slab targets — surfaces that send `creature` or
|
|
110
|
+
* `ambient` payloads receive a clear error naming the missing
|
|
111
|
+
* consumer.
|
|
112
|
+
*/
|
|
113
|
+
export type DropTarget = "slab" | "creature" | "ambient";
|
|
114
|
+
/**
|
|
115
|
+
* Attestation of **intentional delivery** — not content authenticity.
|
|
116
|
+
*
|
|
117
|
+
* The user's gesture proves they meant to deliver the payload to the
|
|
118
|
+
* motebit. It does NOT prove the payload is authentic, unforged, or
|
|
119
|
+
* what it claims to be: a user can drag a forged PDF, a misleading
|
|
120
|
+
* URL, or a tampered file, and the gesture still attests only that
|
|
121
|
+
* delivery was intentional. Authenticity of the content itself
|
|
122
|
+
* requires separate provenance — a source URL the runtime fetched,
|
|
123
|
+
* a cryptographic signature on the bytes, an `ExecutionReceipt`
|
|
124
|
+
* carried with the artifact, or a content hash the user-trusted
|
|
125
|
+
* source previously published. Keep the two distinct in audit logs
|
|
126
|
+
* and any prose-level claim about what a drop "vouches for."
|
|
127
|
+
*
|
|
128
|
+
* `surface` names which motebit surface produced the event so audit
|
|
129
|
+
* logs can reconstruct the gesture's physical context (DOM drop,
|
|
130
|
+
* WebXR pinch-release, share-sheet receive). For high-sensitivity
|
|
131
|
+
* tiers the runtime may cosign the attestation with the user's
|
|
132
|
+
* identity key; that path is deferred until per-tier signing UX
|
|
133
|
+
* lands.
|
|
134
|
+
*
|
|
135
|
+
* Discriminated union of attestation kinds:
|
|
136
|
+
*
|
|
137
|
+
* - `user-drag` — physical drag gesture delivered a payload to the
|
|
138
|
+
* surface. Carries optional `contentHashSha256` for binary kinds
|
|
139
|
+
* (`image`, `file`, `artifact`) where a hash gives the audit
|
|
140
|
+
* trail something to bind against.
|
|
141
|
+
*
|
|
142
|
+
* - `user-typed-intent` — user submitted a chat message. The
|
|
143
|
+
* gesture is the typing-and-send itself; consent flows through
|
|
144
|
+
* the same channel as the request. Used by the runtime to
|
|
145
|
+
* auto-grant control handoffs that originate inside the same
|
|
146
|
+
* turn as the typed message — re-confirming a typed instruction
|
|
147
|
+
* would violate the doctrine "do not confirm what the user can
|
|
148
|
+
* already see." Proactive idle work has no typed-intent
|
|
149
|
+
* attestation, so it always falls back to the explicit prompt
|
|
150
|
+
* band — fail-closed by default.
|
|
151
|
+
*
|
|
152
|
+
* `contentHashSha256` is optional and only meaningful on `user-drag`
|
|
153
|
+
* (typed text isn't byte-bound). The hash binds delivery to a
|
|
154
|
+
* specific byte sequence; it does not, on its own, attest to content
|
|
155
|
+
* authenticity.
|
|
156
|
+
*/
|
|
157
|
+
export type UserActionAttestation = {
|
|
158
|
+
readonly kind: "user-drag";
|
|
159
|
+
readonly timestamp: number;
|
|
160
|
+
readonly surface: "web" | "desktop" | "mobile" | "spatial" | "cli";
|
|
161
|
+
readonly contentHashSha256?: string;
|
|
162
|
+
} | {
|
|
163
|
+
readonly kind: "user-typed-intent";
|
|
164
|
+
readonly timestamp: number;
|
|
165
|
+
readonly surface: "web" | "desktop" | "mobile" | "spatial" | "cli";
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Discriminated union over the categorical kinds. Every surface produces
|
|
169
|
+
* one of these; the runtime's `feedPerception` consumes one of these.
|
|
170
|
+
* The `target` field is the spatial endpoint hint (defaults to `slab`).
|
|
171
|
+
*
|
|
172
|
+
* Bytes are carried inline as `Uint8Array` for `image` (and future
|
|
173
|
+
* `file`). On surfaces where the source content is referenced rather
|
|
174
|
+
* than embedded (e.g. a URL pointing at a remote image), the producing
|
|
175
|
+
* surface MAY pass the reference instead and let the runtime fetch
|
|
176
|
+
* with provider context — but the typed payload always names the kind
|
|
177
|
+
* so the runtime can branch.
|
|
178
|
+
*/
|
|
179
|
+
export type DropPayload = {
|
|
180
|
+
kind: "url";
|
|
181
|
+
url: string;
|
|
182
|
+
sourceFrame?: string;
|
|
183
|
+
target?: DropTarget;
|
|
184
|
+
attestation: UserActionAttestation;
|
|
185
|
+
} | {
|
|
186
|
+
kind: "text";
|
|
187
|
+
text: string;
|
|
188
|
+
mimeType?: string;
|
|
189
|
+
target?: DropTarget;
|
|
190
|
+
attestation: UserActionAttestation;
|
|
191
|
+
} | {
|
|
192
|
+
kind: "image";
|
|
193
|
+
bytes: Uint8Array;
|
|
194
|
+
mimeType: string;
|
|
195
|
+
target?: DropTarget;
|
|
196
|
+
attestation: UserActionAttestation;
|
|
197
|
+
} | {
|
|
198
|
+
kind: "file";
|
|
199
|
+
bytes: Uint8Array;
|
|
200
|
+
filename: string;
|
|
201
|
+
mimeType: string;
|
|
202
|
+
target?: DropTarget;
|
|
203
|
+
attestation: UserActionAttestation;
|
|
204
|
+
} | {
|
|
205
|
+
kind: "artifact";
|
|
206
|
+
receiptHash: string;
|
|
207
|
+
payloadJson: string;
|
|
208
|
+
target?: DropTarget;
|
|
209
|
+
attestation: UserActionAttestation;
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Resolve a `DropPayload`'s effective target with the v1 default
|
|
213
|
+
* applied. Surfaces that don't yet distinguish creature / ambient
|
|
214
|
+
* (everything pre-spatial-Phase-1B) land at `slab`.
|
|
215
|
+
*/
|
|
216
|
+
export declare function resolveDropTarget(payload: DropPayload): DropTarget;
|
|
217
|
+
/**
|
|
218
|
+
* Which AI-call entry the runtime blocked. The runtime gates fire at
|
|
219
|
+
* nine distinct sites today; the audit event names the site so log
|
|
220
|
+
* consumers can group / branch by entry without parsing free text.
|
|
221
|
+
*
|
|
222
|
+
* Sub-axis refinement (not a registered registry — per `registry-
|
|
223
|
+
* pattern-canonical.md` this is a closed union of indirect-entry-
|
|
224
|
+
* point identifiers, not an interop-law typed vocabulary with
|
|
225
|
+
* multi-consumer wire-format presence). The doctrine for the
|
|
226
|
+
* structural-lock pattern with bespoke coverage applies: adding an
|
|
227
|
+
* entry is intentional protocol-level work + test additions, but
|
|
228
|
+
* carries no eight-artifact obligation.
|
|
229
|
+
*
|
|
230
|
+
* Entries split into three categories:
|
|
231
|
+
*
|
|
232
|
+
* 1. **Direct AI-call entries** — the surface-facing method the user
|
|
233
|
+
* (or surface) invoked: `sendMessage`, `sendMessageStreaming`,
|
|
234
|
+
* `generateActivation`, `generateCompletion`, `outbound_tool`.
|
|
235
|
+
*
|
|
236
|
+
* 2. **Indirect AI-call entries (continuation sites)** — the runtime
|
|
237
|
+
* fires the gate again where bytes leave on resume:
|
|
238
|
+
* `resumeAfterToolApproval` (StreamingManager continues a paused
|
|
239
|
+
* turn after the user approves a tool call); `executePlanStep`
|
|
240
|
+
* (PlanExecutionManager fires the gate per-step on initial
|
|
241
|
+
* execution and on plan resume — sensitivity may have changed
|
|
242
|
+
* during the pause). Pre-2026-05-16 these reused
|
|
243
|
+
* `sendMessageStreaming` as the audit label; the doctrinally
|
|
244
|
+
* accurate split names the actual entry so audit consumers can
|
|
245
|
+
* attribute blocked egress to the right site without guessing.
|
|
246
|
+
*
|
|
247
|
+
* 3. **Indirect AI-call entries (housekeeping sites)** — the runtime
|
|
248
|
+
* fires the gate on background AI work that doesn't go through
|
|
249
|
+
* `runtime.generateCompletion`'s surface-facing path:
|
|
250
|
+
* `summarizeConversation` (ConversationManager calls
|
|
251
|
+
* `summarizeConversation` from `@motebit/ai-core` directly,
|
|
252
|
+
* reading full conversation history); `runReflection`
|
|
253
|
+
* (runtime.reflect / reflectAndStore call `performReflection` in
|
|
254
|
+
* `@motebit/reflection`, which composes history + memories +
|
|
255
|
+
* past reflections + audit summary before calling
|
|
256
|
+
* `reflect` in `@motebit/ai-core`). Both are bytes-leave moments
|
|
257
|
+
* with payload shapes distinct enough from `generateCompletion`
|
|
258
|
+
* that conflating their audit entry hides the actual blocked
|
|
259
|
+
* site from a forensic consumer.
|
|
260
|
+
*/
|
|
261
|
+
export type SensitivityGateEntry = "sendMessage" | "sendMessageStreaming" | "generateActivation" | "generateCompletion" | "outbound_tool" | "resumeAfterToolApproval" | "executePlanStep" | "summarizeConversation" | "runReflection";
|
|
262
|
+
/**
|
|
263
|
+
* What elevated effective sensitivity above the explicit session
|
|
264
|
+
* tier. `session` means the user explicitly elevated via
|
|
265
|
+
* `setSessionSensitivity`; `slab_item` means a `tier-bounded-by-source`
|
|
266
|
+
* or `tier-bounded-by-tool` slab item contributed the higher tier
|
|
267
|
+
* (drops, classified tool outputs). Exhaustive: future elevation
|
|
268
|
+
* sources extend this union.
|
|
269
|
+
*/
|
|
270
|
+
export type SensitivityElevationSource = "session" | "slab_item";
|
|
271
|
+
/**
|
|
272
|
+
* Payload for `EventType.SensitivityGateFired`. Emitted by the
|
|
273
|
+
* runtime's `assertSensitivityPermitsAiCall` BEFORE throwing
|
|
274
|
+
* `SovereignTierRequiredError`, so every blocked egress crossing
|
|
275
|
+
* leaves an inspectable trail.
|
|
276
|
+
*
|
|
277
|
+
* **Strictly metadata.** No raw drop content, no tool result bytes,
|
|
278
|
+
* no slab item payloads, no prompt strings. The audit trail names
|
|
279
|
+
* the decision (which gate / which tier / which provider) without
|
|
280
|
+
* carrying the sensitive data that triggered the gate. Logging the
|
|
281
|
+
* payload that caused the block would itself be a leak surface —
|
|
282
|
+
* the same kind of leak the gate exists to prevent.
|
|
283
|
+
*
|
|
284
|
+
* `slab_item_id` is optional and carries the slab item's ID when
|
|
285
|
+
* elevation came from a slab item; the ID is a content-free
|
|
286
|
+
* identifier (UUID-shape) that lets a forensic consumer correlate
|
|
287
|
+
* the audit event against the slab state at fire time without
|
|
288
|
+
* including the item's content.
|
|
289
|
+
*
|
|
290
|
+
* Doctrine: `motebit-computer.md` §"Mode contract — six declarations
|
|
291
|
+
* per mode." The audit-trail pivot converts the shipped fail-closed
|
|
292
|
+
* gate from invisible-but-correct into observable-and-provable.
|
|
293
|
+
*/
|
|
294
|
+
export interface SensitivityGateFiredPayload {
|
|
295
|
+
/** Which AI-call entry was blocked. */
|
|
296
|
+
readonly entry: SensitivityGateEntry;
|
|
297
|
+
/** Explicit session tier at fire time (set via `setSessionSensitivity`). */
|
|
298
|
+
readonly session_sensitivity: SensitivityLevel;
|
|
299
|
+
/**
|
|
300
|
+
* Effective tier the gate decided on — `max(session,
|
|
301
|
+
* tier-bounded-slab-items)`. Equals `session_sensitivity` when no
|
|
302
|
+
* slab item elevated.
|
|
303
|
+
*/
|
|
304
|
+
readonly effective_sensitivity: SensitivityLevel;
|
|
305
|
+
/** Provider mode at fire time. `unset` when surface didn't declare. */
|
|
306
|
+
/**
|
|
307
|
+
* Inline string-literal union of `ProviderMode` (declared in
|
|
308
|
+
* `@motebit/sdk::provider-mode.ts`) plus the `unset` sentinel.
|
|
309
|
+
* Inlined here rather than imported because @motebit/protocol sits
|
|
310
|
+
* below @motebit/sdk in the layer graph; if ProviderMode promotes
|
|
311
|
+
* to protocol later, this union narrows to `ProviderMode | "unset"`.
|
|
312
|
+
*/
|
|
313
|
+
readonly provider_mode: "on-device" | "motebit-cloud" | "byok" | "unset";
|
|
314
|
+
/**
|
|
315
|
+
* What contributed the effective tier when it exceeds the explicit
|
|
316
|
+
* session tier. Absent when `effective_sensitivity ===
|
|
317
|
+
* session_sensitivity` (session itself was the source — no
|
|
318
|
+
* elevation beyond the explicit setter to attribute).
|
|
319
|
+
*
|
|
320
|
+
* Field-name choice: `via` not `source`. The closed
|
|
321
|
+
* `EmbodimentSourceCategory` union (`interior`, `sandboxed-tool`,
|
|
322
|
+
* `user-source`, etc.) lives on the mode contract and is matched by
|
|
323
|
+
* `check-mode-contract-readers` via `.source` / `{ source }` regex.
|
|
324
|
+
* Naming the audit field `source` would false-positive that gate
|
|
325
|
+
* (the gate's destructure detection can't distinguish object-literal
|
|
326
|
+
* write from destructure read), staling its `source` ALLOWLIST entry
|
|
327
|
+
* without an actual consumer. `via` reads naturally
|
|
328
|
+
* ("elevated via session" / "elevated via slab_item") and avoids
|
|
329
|
+
* the collision.
|
|
330
|
+
*/
|
|
331
|
+
readonly elevated_by?: {
|
|
332
|
+
readonly via: SensitivityElevationSource;
|
|
333
|
+
/**
|
|
334
|
+
* Slab item ID that contributed the elevated tier — present when
|
|
335
|
+
* `via === "slab_item"`. Content-free identifier; useful for
|
|
336
|
+
* forensic correlation with slab state at fire time.
|
|
337
|
+
*/
|
|
338
|
+
readonly slab_item_id?: string;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Tool name when `entry === "outbound_tool"`. Names the tool whose
|
|
342
|
+
* outbound dispatch was blocked. Tool-name strings are NOT
|
|
343
|
+
* sensitive (they're public capability names, not user content).
|
|
344
|
+
*/
|
|
345
|
+
readonly tool_name?: string;
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=perception.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perception.d.ts","sourceRoot":"","sources":["../src/perception.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a `DropPayload`'s effective target with the v1 default
|
|
3
|
+
* applied. Surfaces that don't yet distinguish creature / ambient
|
|
4
|
+
* (everything pre-spatial-Phase-1B) land at `slab`.
|
|
5
|
+
*/
|
|
6
|
+
export function resolveDropTarget(payload) {
|
|
7
|
+
return payload.target ?? "slab";
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=perception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perception.js","sourceRoot":"","sources":["../src/perception.ts"],"names":[],"mappings":"AA+NA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;AAClC,CAAC"}
|
|
@@ -24,6 +24,13 @@ export type RetentionCeilingDays = number;
|
|
|
24
24
|
*
|
|
25
25
|
* Federation peers compare retention claims against these values. An
|
|
26
26
|
* operator manifest declaring retention beyond a ceiling is non-conforming.
|
|
27
|
+
*
|
|
28
|
+
* Retention dissolution axis of Liquescentia's persistence property —
|
|
29
|
+
* see `docs/doctrine/dissolution-spectrum.md` §4. Form: hard cliff per
|
|
30
|
+
* sensitivity tier; sensitivity acts as the permeability gradient (higher
|
|
31
|
+
* sensitivity → higher dissolution pressure → shorter persistence). This
|
|
32
|
+
* is the only dissolution axis that interop law constrains across
|
|
33
|
+
* implementations.
|
|
27
34
|
*/
|
|
28
35
|
export declare const MAX_RETENTION_DAYS_BY_SENSITIVITY: Readonly<{
|
|
29
36
|
none: RetentionCeilingDays;
|
|
@@ -399,7 +406,7 @@ export type RetentionShapeDeclaration = {
|
|
|
399
406
|
* discriminator is interop law — verifiers and tooling cross-reference
|
|
400
407
|
* these exact strings with the manifest's `RetentionStoreDeclaration.store_id`.
|
|
401
408
|
*/
|
|
402
|
-
export type RuntimeStoreId = "memory" | "event_log" | "conversation_messages" | "tool_audit";
|
|
409
|
+
export type RuntimeStoreId = "memory" | "event_log" | "conversation_messages" | "tool_audit" | "skill_audit";
|
|
403
410
|
/**
|
|
404
411
|
* Canonical registry: `RuntimeStoreId` → declared `RetentionShape`.
|
|
405
412
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-policy.d.ts","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAajD,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"retention-policy.d.ts","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/retention-policy.js
CHANGED
|
@@ -20,6 +20,13 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Federation peers compare retention claims against these values. An
|
|
22
22
|
* operator manifest declaring retention beyond a ceiling is non-conforming.
|
|
23
|
+
*
|
|
24
|
+
* Retention dissolution axis of Liquescentia's persistence property —
|
|
25
|
+
* see `docs/doctrine/dissolution-spectrum.md` §4. Form: hard cliff per
|
|
26
|
+
* sensitivity tier; sensitivity acts as the permeability gradient (higher
|
|
27
|
+
* sensitivity → higher dissolution pressure → shorter persistence). This
|
|
28
|
+
* is the only dissolution axis that interop law constrains across
|
|
29
|
+
* implementations.
|
|
23
30
|
*/
|
|
24
31
|
export const MAX_RETENTION_DAYS_BY_SENSITIVITY = Object.freeze({
|
|
25
32
|
none: Infinity,
|
|
@@ -106,5 +113,16 @@ export const RUNTIME_RETENTION_REGISTRY = Object.freeze({
|
|
|
106
113
|
flush_to: "expire",
|
|
107
114
|
has_min_floor_resolver: true,
|
|
108
115
|
},
|
|
116
|
+
// `skill_audit` carries the same shape as `tool_audit` — append-only
|
|
117
|
+
// operator-act ledger with a `sensitivity` column on the
|
|
118
|
+
// `skill_consent_granted` variant. Registers under `consolidation_flush`
|
|
119
|
+
// so the consolidation cycle's flush phase respects sensitivity-tier
|
|
120
|
+
// retention ceilings. No min-floor resolver: skill audit doesn't
|
|
121
|
+
// gate settlement, so the per-tier horizon is the only ceiling.
|
|
122
|
+
skill_audit: {
|
|
123
|
+
kind: "consolidation_flush",
|
|
124
|
+
flush_to: "expire",
|
|
125
|
+
has_min_floor_resolver: false,
|
|
126
|
+
},
|
|
109
127
|
});
|
|
110
128
|
//# sourceMappingURL=retention-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-policy.js","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH
|
|
1
|
+
{"version":3,"file":"retention-policy.js","sourceRoot":"","sources":["../src/retention-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAMzC,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAM/C,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AA8FH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA0B,MAAM,CAAC,MAAM,CAAC;IAChF,IAAI,EAAE,kBAAkB;IACxB,+CAA+C;IAC/C,WAAW,EAAE,kEAAkE;IAC/E,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AAqWH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAEnC,MAAM,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,IAAI,EAAE,iBAAiB;QACvB,iCAAiC,EAAE,uCAAuC;KAC3E;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAqB;QAC3B,2BAA2B,EAAE,GAAG;QAChC,gBAAgB,EAAE,KAAK;KACxB;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,KAAK;KAC9B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,IAAI;KAC7B;IACD,qEAAqE;IACrE,yDAAyD;IACzD,yEAAyE;IACzE,qEAAqE;IACrE,iEAAiE;IACjE,gEAAgE;IAChE,WAAW,EAAE;QACX,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,KAAK;KAC9B;CACF,CAAC,CAAC"}
|