mesurer-solid 0.2.3-beta.9 → 0.2.3
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/AGENT_INTEGRATION.md +3 -3
- package/dist/context-plugin.d.ts +4 -1
- package/dist/context.d.ts +20 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10107 -8246
- package/dist/inject-script.js +179 -35
- package/dist/inject.js +10112 -8251
- package/dist/plugins.js +3787 -2961
- package/package.json +4 -1
package/AGENT_INTEGRATION.md
CHANGED
|
@@ -218,16 +218,16 @@ See [Direct text editing and Typography](../../docs/TEXT_EDITING.md).
|
|
|
218
218
|
|
|
219
219
|
## Annotation and context review
|
|
220
220
|
|
|
221
|
-
A saved annotation carries target-bound intent and an immutable baseline:
|
|
221
|
+
A saved annotation carries target-bound intent and an immutable baseline. Its original note remains unchanged as replies are added, edited, or deleted; resolution status is open by default and can be explicitly reopened:
|
|
222
222
|
|
|
223
223
|
```js
|
|
224
224
|
const context = await window.__MESURER__.context({ annotation: annotationId })
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
-
Saved annotation UI is source-linked presentation, not the durable state itself. Saved annotations survive a same-tab reload and conservatively rebind through their stored selector/fingerprint identity; ambiguous targets remain unresolved rather than attaching to a different element. Add Note, its composer, saved markers and panels, and the ownership edge move with their target through window and nested scrolling. A saved panel keeps its target-relative page point and may leave the viewport with its source. Several notes on one target keep separate nearby markers, and Add Note remains available while an existing note is open.
|
|
227
|
+
Saved annotation UI is source-linked presentation, not the durable state itself. Saved annotations and replies survive a same-tab reload and conservatively rebind through their stored selector/fingerprint identity; ambiguous targets remain unresolved rather than attaching to a different element. Read `annotations()` and annotation-scoped `context()` to consume the original note and all replies. Resolved notes remain readable and are excluded from bulk Codex delivery; explicitly requesting one note's Context still works. Add Note, its composer, saved markers and panels, and the ownership edge move with their target through window and nested scrolling. A saved panel keeps its target-relative page point and may leave the viewport with its source. Several notes on one target keep separate nearby markers, and Add Note remains available while an existing note is open.
|
|
228
228
|
The composer is a compact auto-growing text field with an in-field Send button. Enter sends, Shift+Enter inserts a newline, and Escape discards. The first outside click on a non-empty draft prompts rather than discarding it; a second outside click closes it.
|
|
229
229
|
|
|
230
|
-
Do not infer that an annotation disappeared because its card or marker is currently offscreen. Read `annotations()` and annotation-scoped `context()` instead. When a note is highlighted, the temporary ownership emphasis uses one exact target boundary rather than a second fill, glow, or rounded frame.
|
|
230
|
+
Do not infer that an annotation disappeared because its card or marker is currently offscreen. Read `annotations()` and annotation-scoped `context()` instead. These reads are non-destructive: they never open Responsive, reveal a saved target, scroll the page, or change the user's presentation. The human can explicitly use the Notes toolbar list to reveal a saved note. When a note is highlighted, the temporary ownership emphasis uses one exact target boundary rather than a second fill, glow, or rounded frame.
|
|
231
231
|
|
|
232
232
|
Context cards are Mesurer inspector UI. Live Select hover and selection evidence must paint underneath the composer and saved panels, including when the outer Mesurer host is in the browser top layer. Agents should treat the cards as interaction boundaries rather than attempting to select page content through them.
|
|
233
233
|
|
package/dist/context-plugin.d.ts
CHANGED
|
@@ -14,7 +14,10 @@ export type MesurerContextService = {
|
|
|
14
14
|
select(selectors: string | readonly string[]): Promise<MesurerContextV1>;
|
|
15
15
|
annotations(): Promise<MesurerAnnotation[]>;
|
|
16
16
|
/** Remove one saved annotation after a trusted workflow has completed it. */
|
|
17
|
-
removeAnnotation(annotationId: string
|
|
17
|
+
removeAnnotation(annotationId: string, expectedContent?: {
|
|
18
|
+
note: string;
|
|
19
|
+
replies: NonNullable<MesurerAnnotation["replies"]>;
|
|
20
|
+
}): Promise<void>;
|
|
18
21
|
review(annotationId?: string): Promise<MesurerReviewV1 | MesurerReviewV1[]>;
|
|
19
22
|
capturePlan(request?: MesurerContextRequest): Promise<MesurerCapturePlanV1>;
|
|
20
23
|
prepareCapture(): Promise<void>;
|
package/dist/context.d.ts
CHANGED
|
@@ -134,6 +134,12 @@ export type MesurerAnnotationBaseline = {
|
|
|
134
134
|
} | null;
|
|
135
135
|
}>;
|
|
136
136
|
};
|
|
137
|
+
export type MesurerAnnotationReply = {
|
|
138
|
+
id: string;
|
|
139
|
+
text: string;
|
|
140
|
+
createdAt: number;
|
|
141
|
+
};
|
|
142
|
+
export type MesurerAnnotationStatus = "open" | "resolved";
|
|
137
143
|
export type MesurerAnnotation = {
|
|
138
144
|
id: string;
|
|
139
145
|
note: string;
|
|
@@ -147,6 +153,13 @@ export type MesurerAnnotation = {
|
|
|
147
153
|
rect: MesurerContextRect;
|
|
148
154
|
};
|
|
149
155
|
baseline: MesurerAnnotationBaseline;
|
|
156
|
+
replies?: Array<{
|
|
157
|
+
id: string;
|
|
158
|
+
text: string;
|
|
159
|
+
createdAt: number;
|
|
160
|
+
}>;
|
|
161
|
+
status?: "open" | "resolved";
|
|
162
|
+
resolvedAt?: number;
|
|
150
163
|
};
|
|
151
164
|
export type MesurerContextTarget = {
|
|
152
165
|
ref: string;
|
|
@@ -210,6 +223,13 @@ export type MesurerContextV1 = {
|
|
|
210
223
|
kind: "annotation";
|
|
211
224
|
annotationId: string;
|
|
212
225
|
note: string;
|
|
226
|
+
replies?: Array<{
|
|
227
|
+
id: string;
|
|
228
|
+
text: string;
|
|
229
|
+
createdAt: number;
|
|
230
|
+
}>;
|
|
231
|
+
status?: "open" | "resolved";
|
|
232
|
+
resolvedAt?: number;
|
|
213
233
|
targetStatus: "connected" | "partial" | "stale";
|
|
214
234
|
};
|
|
215
235
|
page: {
|
package/dist/index.d.ts
CHANGED
|
@@ -254,7 +254,7 @@ export { MESURER_VERSION } from "./version";
|
|
|
254
254
|
export type { AgentDistance, AgentEdges, AgentElementInspection, AgentFeedbackSnapshot, AgentRect, AgentViewportSnapshot, CreateMesurerAgentHarnessOptions, MesurerAgentHarness, MesurerTextEditIntent, MesurerTextEditService, MesurerTextStyleChange, MesurerTextStyleProperty, } from "./agent";
|
|
255
255
|
export type { ArrangeCapturePlan, ArrangeIntent, ArrangeOffset, ArrangePresentation, ArrangeRect, ArrangeReview, ArrangeReviewTarget, ArrangeTarget, MesurerArrangeService, EditCapturePlan, EditIntent, EditOffset, EditPresentation, EditRect, EditReview, EditReviewTarget, EditTarget, MesurerEditService, } from "./arrange";
|
|
256
256
|
export { captureMesurerContext, copyTextToClipboard, createMesurerCapturePlan, formatMesurerContext, reviewMesurerAnnotation, } from "./context";
|
|
257
|
-
export type { MesurerAnnotation, MesurerAnnotationBaseline, MesurerAnnotationTarget, MesurerCapturePlanV1, MesurerContextDistance, MesurerContextEdges, MesurerContextGuide, MesurerContextLayoutGuide, MesurerContextMeasurement, MesurerContextRect, MesurerContextRequest, MesurerContextTarget, MesurerContextV1, MesurerElementFingerprint, MesurerElementInspection, MesurerReviewChange, MesurerReviewMetricChange, MesurerReviewPresenceChange, MesurerReviewV1, } from "./context";
|
|
257
|
+
export type { MesurerAnnotation, MesurerAnnotationBaseline, MesurerAnnotationReply, MesurerAnnotationStatus, MesurerAnnotationTarget, MesurerCapturePlanV1, MesurerContextDistance, MesurerContextEdges, MesurerContextGuide, MesurerContextLayoutGuide, MesurerContextMeasurement, MesurerContextRect, MesurerContextRequest, MesurerContextTarget, MesurerContextV1, MesurerElementFingerprint, MesurerElementInspection, MesurerReviewChange, MesurerReviewMetricChange, MesurerReviewPresenceChange, MesurerReviewV1, } from "./context";
|
|
258
258
|
export { createMesurerPluginHost, createMesurerRuntime, defineMesurerPlugin } from "./core";
|
|
259
259
|
export type { CommandHandler as MesurerCommandHandler, MesurerPlugin, MesurerPluginContext, MesurerPluginDescription, MesurerPluginHost, OverlayContribution, Registration as MesurerRegistration, SettingsContribution, StateSliceDefinition, ToolContribution, ToolbarMode, } from "./core";
|
|
260
260
|
export type { MesurerHostLayerMode } from "./host-layer";
|