ilse-design 0.3.0-beta.3 → 0.3.0-beta.6
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/agent/executor.d.ts +29 -0
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +365 -10
- package/dist/agent/executor.js.map +1 -1
- package/dist/bridge/augment.d.ts +6 -1
- package/dist/bridge/augment.d.ts.map +1 -1
- package/dist/bridge/augment.js +32 -0
- package/dist/bridge/augment.js.map +1 -1
- package/dist/bridge/store.d.ts +10 -1
- package/dist/bridge/store.d.ts.map +1 -1
- package/dist/bridge/store.js +35 -0
- package/dist/bridge/store.js.map +1 -1
- package/dist/bridge/ws-server.d.ts +2 -1
- package/dist/bridge/ws-server.d.ts.map +1 -1
- package/dist/bridge/ws-server.js +84 -23
- package/dist/bridge/ws-server.js.map +1 -1
- package/dist/cli/default.d.ts.map +1 -1
- package/dist/cli/default.js +157 -38
- package/dist/cli/default.js.map +1 -1
- package/dist/cli/index.js +2 -47
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/listen.d.ts.map +1 -1
- package/dist/cli/listen.js +12 -7
- package/dist/cli/listen.js.map +1 -1
- package/dist/config/user-config.d.ts +2 -0
- package/dist/config/user-config.d.ts.map +1 -1
- package/dist/config/user-config.js +5 -0
- package/dist/config/user-config.js.map +1 -1
- package/dist/mcp/server.js +3 -195
- package/dist/mcp/server.js.map +1 -1
- package/dist/react/annotator.d.ts +9 -0
- package/dist/react/annotator.d.ts.map +1 -1
- package/dist/react/annotator.js +36 -3
- package/dist/react/annotator.js.map +1 -1
- package/dist/react/freeze.d.ts +21 -0
- package/dist/react/freeze.d.ts.map +1 -1
- package/dist/react/freeze.js +84 -62
- package/dist/react/freeze.js.map +1 -1
- package/dist/react/tokens.d.ts +54 -0
- package/dist/react/tokens.d.ts.map +1 -0
- package/dist/react/tokens.js +62 -0
- package/dist/react/tokens.js.map +1 -0
- package/dist/react/toolbar.d.ts.map +1 -1
- package/dist/react/toolbar.js +1066 -152
- package/dist/react/toolbar.js.map +1 -1
- package/dist/react/ws-client.d.ts +8 -1
- package/dist/react/ws-client.d.ts.map +1 -1
- package/dist/react/ws-client.js +62 -14
- package/dist/react/ws-client.js.map +1 -1
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/dist/ai/provider.d.ts +0 -45
- package/dist/ai/provider.d.ts.map +0 -1
- package/dist/ai/provider.js +0 -374
- package/dist/ai/provider.js.map +0 -1
- package/dist/analysis/classify-element.d.ts +0 -23
- package/dist/analysis/classify-element.d.ts.map +0 -1
- package/dist/analysis/classify-element.js +0 -79
- package/dist/analysis/classify-element.js.map +0 -1
- package/dist/analysis/compare-family.d.ts +0 -22
- package/dist/analysis/compare-family.d.ts.map +0 -1
- package/dist/analysis/compare-family.js +0 -82
- package/dist/analysis/compare-family.js.map +0 -1
- package/dist/analysis/profile-component.d.ts +0 -32
- package/dist/analysis/profile-component.d.ts.map +0 -1
- package/dist/analysis/profile-component.js +0 -119
- package/dist/analysis/profile-component.js.map +0 -1
- package/dist/cli/check.d.ts +0 -8
- package/dist/cli/check.d.ts.map +0 -1
- package/dist/cli/check.js +0 -303
- package/dist/cli/check.js.map +0 -1
- package/dist/cli/extract.d.ts +0 -5
- package/dist/cli/extract.d.ts.map +0 -1
- package/dist/cli/extract.js +0 -62
- package/dist/cli/extract.js.map +0 -1
- package/dist/cli/init.d.ts +0 -5
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js +0 -190
- package/dist/cli/init.js.map +0 -1
- package/dist/cli/insight.d.ts +0 -5
- package/dist/cli/insight.d.ts.map +0 -1
- package/dist/cli/insight.js +0 -141
- package/dist/cli/insight.js.map +0 -1
- package/dist/config/limits.d.ts +0 -13
- package/dist/config/limits.d.ts.map +0 -1
- package/dist/config/limits.js +0 -26
- package/dist/config/limits.js.map +0 -1
- package/dist/config/preferences.d.ts +0 -22
- package/dist/config/preferences.d.ts.map +0 -1
- package/dist/config/preferences.js +0 -159
- package/dist/config/preferences.js.map +0 -1
- package/dist/constants.d.ts +0 -11
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -49
- package/dist/constants.js.map +0 -1
- package/dist/extraction/find-inconsistencies.d.ts +0 -17
- package/dist/extraction/find-inconsistencies.d.ts.map +0 -1
- package/dist/extraction/find-inconsistencies.js +0 -93
- package/dist/extraction/find-inconsistencies.js.map +0 -1
- package/dist/extraction/find-patterns.d.ts +0 -20
- package/dist/extraction/find-patterns.d.ts.map +0 -1
- package/dist/extraction/find-patterns.js +0 -179
- package/dist/extraction/find-patterns.js.map +0 -1
- package/dist/extraction/index-tokens.d.ts +0 -16
- package/dist/extraction/index-tokens.d.ts.map +0 -1
- package/dist/extraction/index-tokens.js +0 -103
- package/dist/extraction/index-tokens.js.map +0 -1
- package/dist/fixer/autofix.d.ts +0 -11
- package/dist/fixer/autofix.d.ts.map +0 -1
- package/dist/fixer/autofix.js +0 -202
- package/dist/fixer/autofix.js.map +0 -1
- package/dist/parsers/repo.d.ts +0 -22
- package/dist/parsers/repo.d.ts.map +0 -1
- package/dist/parsers/repo.js +0 -165
- package/dist/parsers/repo.js.map +0 -1
- package/dist/parsers/snapshot.d.ts +0 -15
- package/dist/parsers/snapshot.d.ts.map +0 -1
- package/dist/parsers/snapshot.js +0 -136
- package/dist/parsers/snapshot.js.map +0 -1
- package/dist/parsers/tokens.d.ts +0 -10
- package/dist/parsers/tokens.d.ts.map +0 -1
- package/dist/parsers/tokens.js +0 -119
- package/dist/parsers/tokens.js.map +0 -1
- package/dist/reporters/coverage.d.ts +0 -6
- package/dist/reporters/coverage.d.ts.map +0 -1
- package/dist/reporters/coverage.js +0 -74
- package/dist/reporters/coverage.js.map +0 -1
- package/dist/reporters/ds-report.d.ts +0 -8
- package/dist/reporters/ds-report.d.ts.map +0 -1
- package/dist/reporters/ds-report.js +0 -66
- package/dist/reporters/ds-report.js.map +0 -1
- package/dist/reporters/terminal.d.ts +0 -43
- package/dist/reporters/terminal.d.ts.map +0 -1
- package/dist/reporters/terminal.js +0 -361
- package/dist/reporters/terminal.js.map +0 -1
- package/dist/utils/ast.d.ts +0 -18
- package/dist/utils/ast.d.ts.map +0 -1
- package/dist/utils/ast.js +0 -57
- package/dist/utils/ast.js.map +0 -1
- package/dist/utils/files.d.ts +0 -6
- package/dist/utils/files.d.ts.map +0 -1
- package/dist/utils/files.js +0 -25
- package/dist/utils/files.js.map +0 -1
- package/dist/utils/suggest.d.ts +0 -37
- package/dist/utils/suggest.d.ts.map +0 -1
- package/dist/utils/suggest.js +0 -158
- package/dist/utils/suggest.js.map +0 -1
- package/dist/validators/coverage.d.ts +0 -24
- package/dist/validators/coverage.d.ts.map +0 -1
- package/dist/validators/coverage.js +0 -156
- package/dist/validators/coverage.js.map +0 -1
- package/dist/validators/static.d.ts +0 -14
- package/dist/validators/static.d.ts.map +0 -1
- package/dist/validators/static.js +0 -398
- package/dist/validators/static.js.map +0 -1
package/dist/agent/executor.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Annotation } from '../types.js';
|
|
2
|
+
export declare function killAllActiveProcesses(): void;
|
|
2
3
|
export type AgentKind = 'claude' | 'codex' | 'cursor-agent' | 'gemini' | 'none';
|
|
3
4
|
export interface AgentDetection {
|
|
4
5
|
kind: AgentKind;
|
|
@@ -6,6 +7,9 @@ export interface AgentDetection {
|
|
|
6
7
|
path?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare function detectAgent(): AgentDetection;
|
|
10
|
+
export declare function buildBatchPrompt(annotations: Annotation[], opts?: {
|
|
11
|
+
isResume?: boolean;
|
|
12
|
+
}): string;
|
|
9
13
|
export interface ExecutionResult {
|
|
10
14
|
ok: boolean;
|
|
11
15
|
summary: string;
|
|
@@ -17,4 +21,29 @@ export declare function executeAnnotation(annotation: Annotation, agent: AgentDe
|
|
|
17
21
|
cwd?: string;
|
|
18
22
|
timeoutMs?: number;
|
|
19
23
|
}): Promise<ExecutionResult>;
|
|
24
|
+
export interface BatchExecutionResult {
|
|
25
|
+
ok: boolean;
|
|
26
|
+
summaries: Map<string, string>;
|
|
27
|
+
rawOutput?: string;
|
|
28
|
+
error?: string;
|
|
29
|
+
durationMs: number;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Execute a batch of annotations with stream-json parsing.
|
|
34
|
+
*
|
|
35
|
+
* Uses Claude Code CLI stream-json output format to:
|
|
36
|
+
* 1. Detect tool_use events (Edit/Write/MultiEdit) in real-time
|
|
37
|
+
* 2. Call onProgress as each edit happens (enables per-item UI feedback)
|
|
38
|
+
* 3. Extract session_id for future `--resume` calls (persistent context)
|
|
39
|
+
*
|
|
40
|
+
* Only Claude supports stream-json. Other agents fall back to text mode.
|
|
41
|
+
*/
|
|
42
|
+
export declare function executeBatch(annotations: Annotation[], agent: AgentDetection, options?: {
|
|
43
|
+
cwd?: string;
|
|
44
|
+
timeoutMs?: number;
|
|
45
|
+
onProgress?: (id: string, summary: string) => void;
|
|
46
|
+
onThinking?: (text: string) => void;
|
|
47
|
+
sessionId?: string;
|
|
48
|
+
}): Promise<BatchExecutionResult>;
|
|
20
49
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqBD,wBAAgB,WAAW,IAAI,cAAc,CAM5C;AAkED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CA4DjG;AAID,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,eAAe,CAAC,CA8E1B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,UAAU,EAAE,EACzB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,oBAAoB,CAAC,CA2I/B"}
|
package/dist/agent/executor.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { augmentAnnotation } from '../bridge/augment.js';
|
|
4
|
+
// Track running agent processes so they can be killed on SIGINT
|
|
5
|
+
const activeProcesses = new Set();
|
|
6
|
+
export function killAllActiveProcesses() {
|
|
7
|
+
for (const proc of activeProcesses) {
|
|
8
|
+
try {
|
|
9
|
+
proc.kill('SIGTERM');
|
|
10
|
+
}
|
|
11
|
+
catch { /* ignore */ }
|
|
12
|
+
}
|
|
13
|
+
activeProcesses.clear();
|
|
14
|
+
}
|
|
4
15
|
// ── Agent detection ─────────────────────────────────────────────────────────
|
|
5
16
|
const AGENT_CANDIDATES = [
|
|
6
17
|
{ kind: 'claude', command: 'claude' },
|
|
@@ -30,6 +41,21 @@ export function detectAgent() {
|
|
|
30
41
|
// ── Prompt formatting ───────────────────────────────────────────────────────
|
|
31
42
|
function buildPrompt(annotation) {
|
|
32
43
|
const augmented = augmentAnnotation(annotation);
|
|
44
|
+
const isMove = annotation.intent === 'move' && annotation.rearrangeData;
|
|
45
|
+
const isCreate = annotation.intent === 'create';
|
|
46
|
+
const instructions = [];
|
|
47
|
+
if (isMove) {
|
|
48
|
+
const { originalRect: o, currentRect: c } = annotation.rearrangeData;
|
|
49
|
+
const dx = c.x - o.x;
|
|
50
|
+
const dy = c.y - o.y;
|
|
51
|
+
instructions.push('O designer ARRASTOU este elemento para uma nova posição. Você deve mover o elemento no código.', '', `Direção do movimento: ${dx > 0 ? 'para a direita' : dx < 0 ? 'para a esquerda' : 'sem deslocamento horizontal'} (${dx}px), ${dy > 0 ? 'para baixo' : dy < 0 ? 'para cima' : 'sem deslocamento vertical'} (${dy}px)`, '', 'COMO MOVER:', '1. Encontre o elemento no código usando o grep pattern ou selector', '2. Analise o layout atual (flex, grid, static, absolute)', '3. Aplique a mudança adequada ao contexto:', ' - Flexbox/Grid: mude a order, mova o elemento no JSX, ou ajuste align-self/justify-self', ' - Se precisa mudar a ORDEM entre irmãos: reordene os elementos no JSX/HTML', ' - Position absolute/fixed: ajuste top/left/right/bottom', ' - Static: use margin ou mude a posição no DOM', '4. NÃO adicione position:absolute só para mover — respeite o layout existente', '5. Se o delta é pequeno (< 20px), pode ser ajuste de margin/padding', '6. Se o delta é grande, pode significar reordenação de elementos');
|
|
52
|
+
}
|
|
53
|
+
else if (isCreate) {
|
|
54
|
+
instructions.push('O designer marcou uma ÁREA VAZIA onde quer que você CRIE conteúdo novo.', '', 'COMO CRIAR:', '1. Encontre o container mais próximo usando o selector ou parent', '2. Crie o elemento descrito na nota do designer', '3. Posicione dentro do container existente, no local mais lógico', '4. Siga o padrão visual e de código dos componentes vizinhos');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
instructions.push('1. Analise se o problema está na DEFINIÇÃO do componente ou na INSTÂNCIA específica', '2. Se é um problema de estilo padrão, corrija no componente base', '3. Se é específico dessa instância, corrija só no uso', '4. Se o mesmo problema pode existir em outras ocorrências, procure com o grep pattern e corrija todas', '5. Seja cirúrgico — edite apenas o necessário');
|
|
58
|
+
}
|
|
33
59
|
return [
|
|
34
60
|
'Você recebeu uma anotação visual do designer via Ilse (visual feedback tool).',
|
|
35
61
|
'',
|
|
@@ -37,16 +63,70 @@ function buildPrompt(annotation) {
|
|
|
37
63
|
augmented.context,
|
|
38
64
|
'',
|
|
39
65
|
'INSTRUÇÕES:',
|
|
40
|
-
|
|
41
|
-
'2. Se é um problema de estilo padrão, corrija no componente base',
|
|
42
|
-
'3. Se é específico dessa instância, corrija só no uso',
|
|
43
|
-
'4. Se o mesmo problema pode existir em outras ocorrências, procure com o grep pattern e corrija todas',
|
|
44
|
-
'5. Seja cirúrgico — edite apenas o necessário',
|
|
66
|
+
...instructions,
|
|
45
67
|
'',
|
|
46
68
|
'Após aplicar as mudanças, responda em UMA linha (máximo 15 palavras) o que você mudou.',
|
|
47
69
|
'Exemplo: "Ajustei align-items do Button em components/Button.tsx"',
|
|
48
70
|
].join('\n');
|
|
49
71
|
}
|
|
72
|
+
export function buildBatchPrompt(annotations, opts) {
|
|
73
|
+
const sections = annotations.map((ann, i) => {
|
|
74
|
+
const augmented = augmentAnnotation(ann);
|
|
75
|
+
return `### Anotação #${i + 1} (id: ${ann.id})\n${augmented.context}`;
|
|
76
|
+
});
|
|
77
|
+
// Resumed session: agent already has instructions, just send the new annotation(s)
|
|
78
|
+
if (opts?.isResume) {
|
|
79
|
+
const count = annotations.length;
|
|
80
|
+
return [
|
|
81
|
+
`Nova${count > 1 ? 's' : ''} ${count === 1 ? 'anotação' : `${count} anotações`} do designer. Mesmas regras de antes.`,
|
|
82
|
+
'',
|
|
83
|
+
...sections,
|
|
84
|
+
].join('\n');
|
|
85
|
+
}
|
|
86
|
+
// First invocation: full instructions
|
|
87
|
+
const hasMove = annotations.some(a => a.intent === 'move' && a.rearrangeData);
|
|
88
|
+
const hasCreate = annotations.some(a => a.intent === 'create');
|
|
89
|
+
const count = annotations.length;
|
|
90
|
+
return [
|
|
91
|
+
`Você recebeu ${count} ${count === 1 ? 'anotação visual' : 'anotações visuais'} do designer via Ilse (visual feedback tool).`,
|
|
92
|
+
...(count > 1 ? [
|
|
93
|
+
'Corrija TODAS em uma única passada. Analise o conjunto antes de agir:',
|
|
94
|
+
] : [
|
|
95
|
+
'Corrija esta anotação:',
|
|
96
|
+
]),
|
|
97
|
+
'- Se duas anotações são no mesmo elemento, consolide',
|
|
98
|
+
'- Se um mesmo padrão aparece em várias, corrija no componente base',
|
|
99
|
+
'- Se o mesmo problema pode existir em outras ocorrências fora das anotações, procure com grep e corrija',
|
|
100
|
+
'- Seja cirúrgico — edite apenas o necessário',
|
|
101
|
+
...(hasMove ? [
|
|
102
|
+
'',
|
|
103
|
+
'ANOTAÇÕES DE MOVER (intent: move):',
|
|
104
|
+
'- O designer ARRASTOU elementos para novas posições. O campo **Move** mostra o delta em pixels.',
|
|
105
|
+
'- Para mover: analise o layout (flex/grid/static) e aplique a mudança adequada:',
|
|
106
|
+
' flexbox/grid → mude order, reordene JSX, ou ajuste align-self',
|
|
107
|
+
' position absolute → ajuste top/left',
|
|
108
|
+
' static → ajuste margin ou reordene no DOM',
|
|
109
|
+
'- NÃO adicione position:absolute só para mover — respeite o layout existente',
|
|
110
|
+
'- Delta pequeno (< 20px) = ajuste de margin/padding. Delta grande = reordenação.',
|
|
111
|
+
] : []),
|
|
112
|
+
...(hasCreate ? [
|
|
113
|
+
'',
|
|
114
|
+
'ANOTAÇÕES DE CRIAR (intent: create):',
|
|
115
|
+
'- O designer marcou áreas vazias onde quer conteúdo novo.',
|
|
116
|
+
'- Crie o elemento descrito na nota, dentro do container mais próximo.',
|
|
117
|
+
'- Siga o padrão visual e de código dos componentes vizinhos.',
|
|
118
|
+
] : []),
|
|
119
|
+
'',
|
|
120
|
+
...sections,
|
|
121
|
+
'',
|
|
122
|
+
'COMPORTAMENTO DE OUTPUT:',
|
|
123
|
+
'- Antes de cada ação, fale brevemente (1 frase curta em pt-BR) o que você está fazendo.',
|
|
124
|
+
' Ex: "Vou ler o Header pra entender o layout", "Procurando o componente Button", "Ajustando o alinhamento".',
|
|
125
|
+
'- Após terminar CADA anotação individualmente (não no final), imprima IMEDIATAMENTE uma linha no formato:',
|
|
126
|
+
' #<id>: <o que fez em no máximo 15 palavras>',
|
|
127
|
+
'- Não acumule resumos pro final. Reporte um por um, em ordem, assim que terminar cada edição.',
|
|
128
|
+
].join('\n');
|
|
129
|
+
}
|
|
50
130
|
export async function executeAnnotation(annotation, agent, options = {}) {
|
|
51
131
|
if (agent.kind === 'none' || !agent.command) {
|
|
52
132
|
return { ok: false, summary: '', error: 'Nenhum agente CLI detectado', durationMs: 0 };
|
|
@@ -66,14 +146,24 @@ export async function executeAnnotation(annotation, agent, options = {}) {
|
|
|
66
146
|
env: process.env,
|
|
67
147
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
68
148
|
});
|
|
69
|
-
|
|
149
|
+
activeProcesses.add(proc);
|
|
150
|
+
// Activity-based timeout: reset on every stdout data.
|
|
151
|
+
let timer = setTimeout(() => {
|
|
70
152
|
timedOut = true;
|
|
71
153
|
proc.kill('SIGTERM');
|
|
72
154
|
}, timeout);
|
|
73
|
-
|
|
155
|
+
const resetTimer = () => {
|
|
156
|
+
clearTimeout(timer);
|
|
157
|
+
timer = setTimeout(() => {
|
|
158
|
+
timedOut = true;
|
|
159
|
+
proc.kill('SIGTERM');
|
|
160
|
+
}, timeout);
|
|
161
|
+
};
|
|
162
|
+
proc.stdout?.on('data', (chunk) => { resetTimer(); stdout += chunk.toString(); });
|
|
74
163
|
proc.stderr?.on('data', (chunk) => { stderr += chunk.toString(); });
|
|
75
164
|
proc.on('close', (code) => {
|
|
76
165
|
clearTimeout(timer);
|
|
166
|
+
activeProcesses.delete(proc);
|
|
77
167
|
const durationMs = Date.now() - start;
|
|
78
168
|
if (timedOut) {
|
|
79
169
|
resolve({ ok: false, summary: '', error: `Timeout (${timeout}ms)`, durationMs });
|
|
@@ -95,6 +185,7 @@ export async function executeAnnotation(annotation, agent, options = {}) {
|
|
|
95
185
|
});
|
|
96
186
|
proc.on('error', (err) => {
|
|
97
187
|
clearTimeout(timer);
|
|
188
|
+
activeProcesses.delete(proc);
|
|
98
189
|
resolve({
|
|
99
190
|
ok: false,
|
|
100
191
|
summary: '',
|
|
@@ -104,10 +195,274 @@ export async function executeAnnotation(annotation, agent, options = {}) {
|
|
|
104
195
|
});
|
|
105
196
|
});
|
|
106
197
|
}
|
|
107
|
-
|
|
198
|
+
/**
|
|
199
|
+
* Execute a batch of annotations with stream-json parsing.
|
|
200
|
+
*
|
|
201
|
+
* Uses Claude Code CLI stream-json output format to:
|
|
202
|
+
* 1. Detect tool_use events (Edit/Write/MultiEdit) in real-time
|
|
203
|
+
* 2. Call onProgress as each edit happens (enables per-item UI feedback)
|
|
204
|
+
* 3. Extract session_id for future `--resume` calls (persistent context)
|
|
205
|
+
*
|
|
206
|
+
* Only Claude supports stream-json. Other agents fall back to text mode.
|
|
207
|
+
*/
|
|
208
|
+
export async function executeBatch(annotations, agent, options = {}) {
|
|
209
|
+
if (agent.kind === 'none' || !agent.command) {
|
|
210
|
+
return { ok: false, summaries: new Map(), error: 'Nenhum agente CLI detectado', durationMs: 0 };
|
|
211
|
+
}
|
|
212
|
+
if (annotations.length === 0) {
|
|
213
|
+
return { ok: true, summaries: new Map(), durationMs: 0 };
|
|
214
|
+
}
|
|
215
|
+
const start = Date.now();
|
|
216
|
+
const prompt = buildBatchPrompt(annotations, { isResume: !!options.sessionId });
|
|
217
|
+
const cwd = options.cwd ?? process.cwd();
|
|
218
|
+
const timeout = options.timeoutMs ?? 300_000;
|
|
219
|
+
const useStreamJson = agent.kind === 'claude';
|
|
220
|
+
const args = buildArgs(agent.kind, prompt, { streamJson: useStreamJson, sessionId: options.sessionId });
|
|
221
|
+
return new Promise((resolve) => {
|
|
222
|
+
let stdout = '';
|
|
223
|
+
let stderr = '';
|
|
224
|
+
let buffer = '';
|
|
225
|
+
let timedOut = false;
|
|
226
|
+
let sessionId;
|
|
227
|
+
const summaries = new Map();
|
|
228
|
+
let resolvedIndex = 0; // next annotation to resolve via tool_use order
|
|
229
|
+
const proc = spawn(agent.command, args, {
|
|
230
|
+
cwd,
|
|
231
|
+
env: process.env,
|
|
232
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
233
|
+
});
|
|
234
|
+
activeProcesses.add(proc);
|
|
235
|
+
// Activity-based timeout: reset on every stdout data.
|
|
236
|
+
// Only kills after `timeout` ms of SILENCE, not total duration.
|
|
237
|
+
let timer = setTimeout(() => {
|
|
238
|
+
timedOut = true;
|
|
239
|
+
proc.kill('SIGTERM');
|
|
240
|
+
}, timeout);
|
|
241
|
+
const resetTimer = () => {
|
|
242
|
+
clearTimeout(timer);
|
|
243
|
+
timer = setTimeout(() => {
|
|
244
|
+
timedOut = true;
|
|
245
|
+
proc.kill('SIGTERM');
|
|
246
|
+
}, timeout);
|
|
247
|
+
};
|
|
248
|
+
proc.stdout?.on('data', (chunk) => {
|
|
249
|
+
resetTimer();
|
|
250
|
+
const text = chunk.toString();
|
|
251
|
+
stdout += text;
|
|
252
|
+
buffer += text;
|
|
253
|
+
const lines = buffer.split('\n');
|
|
254
|
+
buffer = lines.pop() ?? '';
|
|
255
|
+
for (const line of lines) {
|
|
256
|
+
const trimmed = line.trim();
|
|
257
|
+
if (!trimmed)
|
|
258
|
+
continue;
|
|
259
|
+
if (useStreamJson) {
|
|
260
|
+
// Parse stream-json events
|
|
261
|
+
try {
|
|
262
|
+
const event = JSON.parse(trimmed);
|
|
263
|
+
handleStreamEvent(event, annotations, summaries, () => {
|
|
264
|
+
if (resolvedIndex < annotations.length) {
|
|
265
|
+
const ann = annotations[resolvedIndex++];
|
|
266
|
+
const summary = `Editando ${ann.component ?? ann.element}`;
|
|
267
|
+
if (!summaries.has(ann.id)) {
|
|
268
|
+
summaries.set(ann.id, summary);
|
|
269
|
+
options.onProgress?.(ann.id, summary);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}, (id) => { sessionId = id; }, (thinking) => options.onThinking?.(thinking));
|
|
273
|
+
}
|
|
274
|
+
catch { /* ignore non-JSON lines */ }
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// Fallback: match "#<id>: summary" pattern
|
|
278
|
+
const match = trimmed.match(/^#([a-z0-9]+):\s*(.+)$/i);
|
|
279
|
+
if (match && !summaries.has(match[1])) {
|
|
280
|
+
summaries.set(match[1], match[2].trim());
|
|
281
|
+
options.onProgress?.(match[1], match[2].trim());
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
proc.stderr?.on('data', (chunk) => { stderr += chunk.toString(); });
|
|
287
|
+
proc.on('close', (code) => {
|
|
288
|
+
clearTimeout(timer);
|
|
289
|
+
activeProcesses.delete(proc);
|
|
290
|
+
const durationMs = Date.now() - start;
|
|
291
|
+
if (timedOut) {
|
|
292
|
+
resolve({ ok: false, summaries: new Map(), error: `Timeout (${timeout}ms)`, durationMs });
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
if (code !== 0) {
|
|
296
|
+
resolve({
|
|
297
|
+
ok: false,
|
|
298
|
+
summaries: new Map(),
|
|
299
|
+
error: stderr.trim() || `Exit code ${code}`,
|
|
300
|
+
rawOutput: stdout,
|
|
301
|
+
durationMs,
|
|
302
|
+
});
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
// Final pass: extract summaries from any final text output (both formats)
|
|
306
|
+
const finalSummaries = parseBatchSummaries(stdout, annotations);
|
|
307
|
+
for (const [id, summary] of finalSummaries) {
|
|
308
|
+
if (!summaries.has(id))
|
|
309
|
+
summaries.set(id, summary);
|
|
310
|
+
}
|
|
311
|
+
resolve({
|
|
312
|
+
ok: true,
|
|
313
|
+
summaries,
|
|
314
|
+
rawOutput: stdout,
|
|
315
|
+
durationMs,
|
|
316
|
+
sessionId,
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
proc.on('error', (err) => {
|
|
320
|
+
clearTimeout(timer);
|
|
321
|
+
activeProcesses.delete(proc);
|
|
322
|
+
resolve({
|
|
323
|
+
ok: false,
|
|
324
|
+
summaries: new Map(),
|
|
325
|
+
error: err.message,
|
|
326
|
+
durationMs: Date.now() - start,
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Process a single stream-json event from Claude Code CLI.
|
|
333
|
+
* Events shape: https://docs.claude.com/en/docs/claude-code/sdk#streaming-output-format
|
|
334
|
+
*/
|
|
335
|
+
function handleStreamEvent(event, annotations, summaries, onToolUse, onSessionId, onThinking) {
|
|
336
|
+
// Capture session ID from init event
|
|
337
|
+
if (event.type === 'system' && event.subtype === 'init' && typeof event.session_id === 'string') {
|
|
338
|
+
onSessionId(event.session_id);
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
// Assistant message may contain tool_use blocks and text (reasoning)
|
|
342
|
+
if (event.type === 'assistant') {
|
|
343
|
+
const message = event.message;
|
|
344
|
+
const content = message?.content;
|
|
345
|
+
if (!Array.isArray(content))
|
|
346
|
+
return;
|
|
347
|
+
for (const block of content) {
|
|
348
|
+
if (block.type === 'tool_use') {
|
|
349
|
+
const toolName = block.name;
|
|
350
|
+
const input = block.input;
|
|
351
|
+
// Emit a human-friendly "thinking" line per tool use
|
|
352
|
+
const thinking = describeToolUse(toolName, input);
|
|
353
|
+
if (thinking)
|
|
354
|
+
onThinking(thinking);
|
|
355
|
+
if (toolName && ['Edit', 'Write', 'MultiEdit', 'Update'].includes(toolName)) {
|
|
356
|
+
onToolUse();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
// Text blocks: emit as thinking (cleaned up), also parse "#<id>:" summary pattern
|
|
360
|
+
if (block.type === 'text' && typeof block.text === 'string') {
|
|
361
|
+
const text = block.text.trim();
|
|
362
|
+
// Extract summary lines first
|
|
363
|
+
const matches = text.matchAll(/^#([a-z0-9]+):\s*(.+)$/gim);
|
|
364
|
+
for (const match of matches) {
|
|
365
|
+
if (!summaries.has(match[1])) {
|
|
366
|
+
summaries.set(match[1], match[2].trim());
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// Emit non-summary text as thinking (first line only, trimmed)
|
|
370
|
+
const cleanText = text
|
|
371
|
+
.split('\n')
|
|
372
|
+
.filter(l => l.trim() && !/^#[a-z0-9]+:/i.test(l.trim()))
|
|
373
|
+
.join(' ')
|
|
374
|
+
.slice(0, 120);
|
|
375
|
+
if (cleanText)
|
|
376
|
+
onThinking(cleanText);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Turn a Claude tool_use event into a short, designer-friendly description.
|
|
383
|
+
* Examples:
|
|
384
|
+
* Read /foo/bar.tsx → "Lendo bar.tsx"
|
|
385
|
+
* Grep "useState" → "Procurando useState"
|
|
386
|
+
* Edit Button.tsx → "Editando Button.tsx"
|
|
387
|
+
*/
|
|
388
|
+
function describeToolUse(name, input) {
|
|
389
|
+
if (!name || !input)
|
|
390
|
+
return null;
|
|
391
|
+
const getBasename = (p) => {
|
|
392
|
+
if (typeof p !== 'string')
|
|
393
|
+
return '';
|
|
394
|
+
return p.split('/').pop() ?? p;
|
|
395
|
+
};
|
|
396
|
+
switch (name) {
|
|
397
|
+
case 'Read':
|
|
398
|
+
return `Lendo ${getBasename(input.file_path)}`;
|
|
399
|
+
case 'Glob':
|
|
400
|
+
return `Procurando arquivos ${input.pattern ?? ''}`.trim();
|
|
401
|
+
case 'Grep':
|
|
402
|
+
return `Procurando "${String(input.pattern ?? '').slice(0, 40)}"`;
|
|
403
|
+
case 'Edit':
|
|
404
|
+
case 'Update':
|
|
405
|
+
return `Editando ${getBasename(input.file_path)}`;
|
|
406
|
+
case 'MultiEdit':
|
|
407
|
+
return `Editando ${getBasename(input.file_path)} (múltiplas)`;
|
|
408
|
+
case 'Write':
|
|
409
|
+
return `Criando ${getBasename(input.file_path)}`;
|
|
410
|
+
case 'Bash':
|
|
411
|
+
return `Rodando comando`;
|
|
412
|
+
case 'TodoWrite':
|
|
413
|
+
return `Planejando próximos passos`;
|
|
414
|
+
case 'WebSearch':
|
|
415
|
+
return `Pesquisando: ${String(input.query ?? '').slice(0, 40)}`;
|
|
416
|
+
case 'WebFetch':
|
|
417
|
+
return `Lendo página`;
|
|
418
|
+
default:
|
|
419
|
+
return `Usando ${name}`;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
function parseBatchSummaries(stdout, annotations) {
|
|
423
|
+
const result = new Map();
|
|
424
|
+
const lines = stdout.trim().split('\n').filter(l => l.trim().length > 0);
|
|
425
|
+
// Parse lines in format "#<id>: <summary>"
|
|
426
|
+
for (const line of lines) {
|
|
427
|
+
const match = line.trim().match(/^#([a-z0-9]+):\s*(.+)$/i);
|
|
428
|
+
if (match) {
|
|
429
|
+
result.set(match[1], match[2].trim());
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
// Fill missing summaries with fallback
|
|
433
|
+
for (const ann of annotations) {
|
|
434
|
+
if (!result.has(ann.id)) {
|
|
435
|
+
result.set(ann.id, 'Corrigido');
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
return result;
|
|
439
|
+
}
|
|
440
|
+
function buildArgs(kind, prompt, opts = {}) {
|
|
108
441
|
switch (kind) {
|
|
109
|
-
case 'claude':
|
|
110
|
-
|
|
442
|
+
case 'claude': {
|
|
443
|
+
const args = [
|
|
444
|
+
'-p',
|
|
445
|
+
prompt,
|
|
446
|
+
'--dangerously-skip-permissions',
|
|
447
|
+
// Disable MCP servers for the spawned claude. Otherwise Claude
|
|
448
|
+
// sees `ilse_*` MCP tools registered globally and tries to fetch
|
|
449
|
+
// annotations from the MCP server's in-memory store — which is a
|
|
450
|
+
// SEPARATE process from the CLI that actually holds the annotation.
|
|
451
|
+
// Result: "annotation not found", no edits. With these flags Claude
|
|
452
|
+
// ignores all MCP configs and relies only on the prompt.
|
|
453
|
+
'--mcp-config',
|
|
454
|
+
'{"mcpServers":{}}',
|
|
455
|
+
'--strict-mcp-config',
|
|
456
|
+
];
|
|
457
|
+
if (opts.streamJson) {
|
|
458
|
+
// stream-json requires --verbose
|
|
459
|
+
args.push('--output-format', 'stream-json', '--verbose');
|
|
460
|
+
}
|
|
461
|
+
if (opts.sessionId) {
|
|
462
|
+
args.push('--resume', opts.sessionId);
|
|
463
|
+
}
|
|
464
|
+
return args;
|
|
465
|
+
}
|
|
111
466
|
case 'codex':
|
|
112
467
|
return ['exec', prompt];
|
|
113
468
|
case 'cursor-agent':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/agent/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/bridge/augment.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Annotation } from '../types.js';
|
|
1
|
+
import type { Annotation, AnnotationIntent } from '../types.js';
|
|
2
2
|
export interface AugmentedAnnotation {
|
|
3
3
|
note: string;
|
|
4
4
|
element: string;
|
|
@@ -12,6 +12,11 @@ export interface AugmentedAnnotation {
|
|
|
12
12
|
timestamp: string;
|
|
13
13
|
context: string;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Infers AnnotationIntent from note text and gesture context.
|
|
17
|
+
* ask / approve are intentionally excluded — they require Thread UI (roadmap Phase 2).
|
|
18
|
+
*/
|
|
19
|
+
export declare function inferAnnotationIntent(note: string, hasElement: boolean, isDragging: boolean): AnnotationIntent;
|
|
15
20
|
export declare function augmentAnnotation(annotation: Annotation): AugmentedAnnotation;
|
|
16
21
|
export declare function augmentBatch(annotations: Annotation[]): {
|
|
17
22
|
annotations: AugmentedAnnotation[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../src/bridge/augment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../src/bridge/augment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,GAClB,gBAAgB,CAQlB;AA2DD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,mBAAmB,CA8D7E;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG;IACvD,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB,CAmBA"}
|
package/dist/bridge/augment.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
// ── Annotation intent inference (what the designer wants the agent to do) ────
|
|
2
|
+
/**
|
|
3
|
+
* Infers AnnotationIntent from note text and gesture context.
|
|
4
|
+
* ask / approve are intentionally excluded — they require Thread UI (roadmap Phase 2).
|
|
5
|
+
*/
|
|
6
|
+
export function inferAnnotationIntent(note, hasElement, isDragging) {
|
|
7
|
+
if (isDragging)
|
|
8
|
+
return 'move';
|
|
9
|
+
const lower = note.toLowerCase();
|
|
10
|
+
const creationVerbs = /\b(cria|crie|adiciona|adicione|coloca|coloque|insert|add|create|new|novo|nova)\b/;
|
|
11
|
+
if (!hasElement && creationVerbs.test(lower))
|
|
12
|
+
return 'create';
|
|
13
|
+
const changeVerbs = /\b(e se|muda|troca|altera|tenta|experimenta|change|try|what if|talvez|seria|poderia)\b/;
|
|
14
|
+
if (changeVerbs.test(lower))
|
|
15
|
+
return 'change';
|
|
16
|
+
return 'fix';
|
|
17
|
+
}
|
|
1
18
|
const INTENT_KEYWORDS = {
|
|
2
19
|
layout: ['alinhar', 'alinhamento', 'linha', 'coluna', 'flex', 'grid', 'lado', 'posição', 'posicao', 'torto', 'desalinhado', 'centraliz', 'center', 'wrap', 'overflow', 'responsiv', 'direction', 'row', 'column', 'align', 'justify'],
|
|
3
20
|
color: ['cor', 'color', 'fundo', 'background', 'bg', 'escur', 'clar', 'contrast', 'branco', 'preto', 'laranja', 'azul', 'vermelho', 'verde', 'tema', 'theme', 'dark', 'light'],
|
|
@@ -52,6 +69,11 @@ export function augmentAnnotation(annotation) {
|
|
|
52
69
|
// Build Standard-format markdown context
|
|
53
70
|
const lines = [];
|
|
54
71
|
lines.push(`## Annotation: ${annotation.element}${annotation.component ? ` (${annotation.component})` : ''}`);
|
|
72
|
+
// Intent + severity first — agent should know these before reading details
|
|
73
|
+
if (annotation.intent)
|
|
74
|
+
lines.push(`**Intent:** ${annotation.intent}`);
|
|
75
|
+
if (annotation.severity)
|
|
76
|
+
lines.push(`**Severity:** ${annotation.severity}`);
|
|
55
77
|
if (annotation.grepPattern)
|
|
56
78
|
lines.push(`**Grep:** \`${annotation.grepPattern}\``);
|
|
57
79
|
if (annotation.componentStack?.length)
|
|
@@ -77,6 +99,16 @@ export function augmentAnnotation(annotation) {
|
|
|
77
99
|
}
|
|
78
100
|
if (annotation.imageRef)
|
|
79
101
|
lines.push(`**Image reference:** included`);
|
|
102
|
+
// Rearrange: show delta so agent knows exactly what to move and where
|
|
103
|
+
if (annotation.rearrangeData) {
|
|
104
|
+
const { selector, label, tagName, originalRect: o, currentRect: c } = annotation.rearrangeData;
|
|
105
|
+
lines.push(`**Move:** \`${selector}\` (${label}, <${tagName}>) from x:${o.x} y:${o.y} → x:${c.x} y:${c.y} (Δx:${c.x - o.x} Δy:${c.y - o.y})`);
|
|
106
|
+
}
|
|
107
|
+
// Placement: show target coordinates and nearest container
|
|
108
|
+
if (annotation.placementData) {
|
|
109
|
+
const { x, y, scrollY, nearestSelector } = annotation.placementData;
|
|
110
|
+
lines.push(`**Create at:** x:${x} y:${y + scrollY} (page-absolute)${nearestSelector ? ` · nearest container: \`${nearestSelector}\`` : ''}`);
|
|
111
|
+
}
|
|
80
112
|
return {
|
|
81
113
|
note: annotation.note,
|
|
82
114
|
element: annotation.element,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augment.js","sourceRoot":"","sources":["../../src/bridge/augment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"augment.js","sourceRoot":"","sources":["../../src/bridge/augment.ts"],"names":[],"mappings":"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"}
|