ilse-design 0.3.0-beta.4 → 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.
Files changed (156) hide show
  1. package/dist/agent/executor.d.ts +17 -0
  2. package/dist/agent/executor.d.ts.map +1 -1
  3. package/dist/agent/executor.js +260 -25
  4. package/dist/agent/executor.js.map +1 -1
  5. package/dist/bridge/augment.d.ts +6 -1
  6. package/dist/bridge/augment.d.ts.map +1 -1
  7. package/dist/bridge/augment.js +32 -0
  8. package/dist/bridge/augment.js.map +1 -1
  9. package/dist/bridge/store.d.ts +10 -1
  10. package/dist/bridge/store.d.ts.map +1 -1
  11. package/dist/bridge/store.js +35 -0
  12. package/dist/bridge/store.js.map +1 -1
  13. package/dist/bridge/ws-server.d.ts +2 -1
  14. package/dist/bridge/ws-server.d.ts.map +1 -1
  15. package/dist/bridge/ws-server.js +84 -23
  16. package/dist/bridge/ws-server.js.map +1 -1
  17. package/dist/cli/default.d.ts.map +1 -1
  18. package/dist/cli/default.js +130 -52
  19. package/dist/cli/default.js.map +1 -1
  20. package/dist/cli/index.js +2 -47
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/listen.d.ts.map +1 -1
  23. package/dist/cli/listen.js +12 -7
  24. package/dist/cli/listen.js.map +1 -1
  25. package/dist/config/user-config.d.ts +2 -0
  26. package/dist/config/user-config.d.ts.map +1 -1
  27. package/dist/config/user-config.js +5 -0
  28. package/dist/config/user-config.js.map +1 -1
  29. package/dist/mcp/server.js +3 -195
  30. package/dist/mcp/server.js.map +1 -1
  31. package/dist/react/annotator.d.ts +9 -0
  32. package/dist/react/annotator.d.ts.map +1 -1
  33. package/dist/react/annotator.js +36 -3
  34. package/dist/react/annotator.js.map +1 -1
  35. package/dist/react/freeze.d.ts +21 -0
  36. package/dist/react/freeze.d.ts.map +1 -1
  37. package/dist/react/freeze.js +84 -62
  38. package/dist/react/freeze.js.map +1 -1
  39. package/dist/react/tokens.d.ts +54 -0
  40. package/dist/react/tokens.d.ts.map +1 -0
  41. package/dist/react/tokens.js +62 -0
  42. package/dist/react/tokens.js.map +1 -0
  43. package/dist/react/toolbar.d.ts.map +1 -1
  44. package/dist/react/toolbar.js +1066 -152
  45. package/dist/react/toolbar.js.map +1 -1
  46. package/dist/react/ws-client.d.ts +8 -1
  47. package/dist/react/ws-client.d.ts.map +1 -1
  48. package/dist/react/ws-client.js +62 -14
  49. package/dist/react/ws-client.js.map +1 -1
  50. package/dist/types.d.ts +38 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +5 -1
  53. package/dist/ai/provider.d.ts +0 -45
  54. package/dist/ai/provider.d.ts.map +0 -1
  55. package/dist/ai/provider.js +0 -374
  56. package/dist/ai/provider.js.map +0 -1
  57. package/dist/analysis/classify-element.d.ts +0 -23
  58. package/dist/analysis/classify-element.d.ts.map +0 -1
  59. package/dist/analysis/classify-element.js +0 -79
  60. package/dist/analysis/classify-element.js.map +0 -1
  61. package/dist/analysis/compare-family.d.ts +0 -22
  62. package/dist/analysis/compare-family.d.ts.map +0 -1
  63. package/dist/analysis/compare-family.js +0 -82
  64. package/dist/analysis/compare-family.js.map +0 -1
  65. package/dist/analysis/profile-component.d.ts +0 -32
  66. package/dist/analysis/profile-component.d.ts.map +0 -1
  67. package/dist/analysis/profile-component.js +0 -119
  68. package/dist/analysis/profile-component.js.map +0 -1
  69. package/dist/cli/check.d.ts +0 -8
  70. package/dist/cli/check.d.ts.map +0 -1
  71. package/dist/cli/check.js +0 -303
  72. package/dist/cli/check.js.map +0 -1
  73. package/dist/cli/extract.d.ts +0 -5
  74. package/dist/cli/extract.d.ts.map +0 -1
  75. package/dist/cli/extract.js +0 -62
  76. package/dist/cli/extract.js.map +0 -1
  77. package/dist/cli/init.d.ts +0 -5
  78. package/dist/cli/init.d.ts.map +0 -1
  79. package/dist/cli/init.js +0 -190
  80. package/dist/cli/init.js.map +0 -1
  81. package/dist/cli/insight.d.ts +0 -5
  82. package/dist/cli/insight.d.ts.map +0 -1
  83. package/dist/cli/insight.js +0 -141
  84. package/dist/cli/insight.js.map +0 -1
  85. package/dist/config/limits.d.ts +0 -13
  86. package/dist/config/limits.d.ts.map +0 -1
  87. package/dist/config/limits.js +0 -26
  88. package/dist/config/limits.js.map +0 -1
  89. package/dist/config/preferences.d.ts +0 -22
  90. package/dist/config/preferences.d.ts.map +0 -1
  91. package/dist/config/preferences.js +0 -159
  92. package/dist/config/preferences.js.map +0 -1
  93. package/dist/constants.d.ts +0 -11
  94. package/dist/constants.d.ts.map +0 -1
  95. package/dist/constants.js +0 -49
  96. package/dist/constants.js.map +0 -1
  97. package/dist/extraction/find-inconsistencies.d.ts +0 -17
  98. package/dist/extraction/find-inconsistencies.d.ts.map +0 -1
  99. package/dist/extraction/find-inconsistencies.js +0 -93
  100. package/dist/extraction/find-inconsistencies.js.map +0 -1
  101. package/dist/extraction/find-patterns.d.ts +0 -20
  102. package/dist/extraction/find-patterns.d.ts.map +0 -1
  103. package/dist/extraction/find-patterns.js +0 -179
  104. package/dist/extraction/find-patterns.js.map +0 -1
  105. package/dist/extraction/index-tokens.d.ts +0 -16
  106. package/dist/extraction/index-tokens.d.ts.map +0 -1
  107. package/dist/extraction/index-tokens.js +0 -103
  108. package/dist/extraction/index-tokens.js.map +0 -1
  109. package/dist/fixer/autofix.d.ts +0 -11
  110. package/dist/fixer/autofix.d.ts.map +0 -1
  111. package/dist/fixer/autofix.js +0 -202
  112. package/dist/fixer/autofix.js.map +0 -1
  113. package/dist/parsers/repo.d.ts +0 -22
  114. package/dist/parsers/repo.d.ts.map +0 -1
  115. package/dist/parsers/repo.js +0 -165
  116. package/dist/parsers/repo.js.map +0 -1
  117. package/dist/parsers/snapshot.d.ts +0 -15
  118. package/dist/parsers/snapshot.d.ts.map +0 -1
  119. package/dist/parsers/snapshot.js +0 -136
  120. package/dist/parsers/snapshot.js.map +0 -1
  121. package/dist/parsers/tokens.d.ts +0 -10
  122. package/dist/parsers/tokens.d.ts.map +0 -1
  123. package/dist/parsers/tokens.js +0 -119
  124. package/dist/parsers/tokens.js.map +0 -1
  125. package/dist/reporters/coverage.d.ts +0 -6
  126. package/dist/reporters/coverage.d.ts.map +0 -1
  127. package/dist/reporters/coverage.js +0 -74
  128. package/dist/reporters/coverage.js.map +0 -1
  129. package/dist/reporters/ds-report.d.ts +0 -8
  130. package/dist/reporters/ds-report.d.ts.map +0 -1
  131. package/dist/reporters/ds-report.js +0 -66
  132. package/dist/reporters/ds-report.js.map +0 -1
  133. package/dist/reporters/terminal.d.ts +0 -43
  134. package/dist/reporters/terminal.d.ts.map +0 -1
  135. package/dist/reporters/terminal.js +0 -361
  136. package/dist/reporters/terminal.js.map +0 -1
  137. package/dist/utils/ast.d.ts +0 -18
  138. package/dist/utils/ast.d.ts.map +0 -1
  139. package/dist/utils/ast.js +0 -57
  140. package/dist/utils/ast.js.map +0 -1
  141. package/dist/utils/files.d.ts +0 -6
  142. package/dist/utils/files.d.ts.map +0 -1
  143. package/dist/utils/files.js +0 -25
  144. package/dist/utils/files.js.map +0 -1
  145. package/dist/utils/suggest.d.ts +0 -37
  146. package/dist/utils/suggest.d.ts.map +0 -1
  147. package/dist/utils/suggest.js +0 -158
  148. package/dist/utils/suggest.js.map +0 -1
  149. package/dist/validators/coverage.d.ts +0 -24
  150. package/dist/validators/coverage.d.ts.map +0 -1
  151. package/dist/validators/coverage.js +0 -156
  152. package/dist/validators/coverage.js.map +0 -1
  153. package/dist/validators/static.d.ts +0 -14
  154. package/dist/validators/static.d.ts.map +0 -1
  155. package/dist/validators/static.js +0 -398
  156. package/dist/validators/static.js.map +0 -1
@@ -7,6 +7,9 @@ export interface AgentDetection {
7
7
  path?: string;
8
8
  }
9
9
  export declare function detectAgent(): AgentDetection;
10
+ export declare function buildBatchPrompt(annotations: Annotation[], opts?: {
11
+ isResume?: boolean;
12
+ }): string;
10
13
  export interface ExecutionResult {
11
14
  ok: boolean;
12
15
  summary: string;
@@ -24,9 +27,23 @@ export interface BatchExecutionResult {
24
27
  rawOutput?: string;
25
28
  error?: string;
26
29
  durationMs: number;
30
+ sessionId?: string;
27
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
+ */
28
42
  export declare function executeBatch(annotations: Annotation[], agent: AgentDetection, options?: {
29
43
  cwd?: string;
30
44
  timeoutMs?: number;
45
+ onProgress?: (id: string, summary: string) => void;
46
+ onThinking?: (text: string) => void;
47
+ sessionId?: string;
31
48
  }): Promise<BatchExecutionResult>;
32
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;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;AAmDD,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,CAsE1B;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;CACpB;AAED,wBAAsB,YAAY,CAChC,WAAW,EAAE,UAAU,EAAE,EACzB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,oBAAoB,CAAC,CA0E/B"}
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"}
@@ -41,6 +41,21 @@ export function detectAgent() {
41
41
  // ── Prompt formatting ───────────────────────────────────────────────────────
42
42
  function buildPrompt(annotation) {
43
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
+ }
44
59
  return [
45
60
  'Você recebeu uma anotação visual do designer via Ilse (visual feedback tool).',
46
61
  '',
@@ -48,37 +63,68 @@ function buildPrompt(annotation) {
48
63
  augmented.context,
49
64
  '',
50
65
  'INSTRUÇÕES:',
51
- '1. Analise se o problema está na DEFINIÇÃO do componente ou na INSTÂNCIA específica',
52
- '2. Se é um problema de estilo padrão, corrija no componente base',
53
- '3. Se é específico dessa instância, corrija só no uso',
54
- '4. Se o mesmo problema pode existir em outras ocorrências, procure com o grep pattern e corrija todas',
55
- '5. Seja cirúrgico — edite apenas o necessário',
66
+ ...instructions,
56
67
  '',
57
68
  'Após aplicar as mudanças, responda em UMA linha (máximo 15 palavras) o que você mudou.',
58
69
  'Exemplo: "Ajustei align-items do Button em components/Button.tsx"',
59
70
  ].join('\n');
60
71
  }
61
- function buildBatchPrompt(annotations) {
72
+ export function buildBatchPrompt(annotations, opts) {
62
73
  const sections = annotations.map((ann, i) => {
63
74
  const augmented = augmentAnnotation(ann);
64
75
  return `### Anotação #${i + 1} (id: ${ann.id})\n${augmented.context}`;
65
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;
66
90
  return [
67
- `Você recebeu ${annotations.length} anotações visuais do designer via Ilse (visual feedback tool).`,
68
- 'Corrija TODAS em uma única passada. Analise o conjunto antes de agir:',
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
+ ]),
69
97
  '- Se duas anotações são no mesmo elemento, consolide',
70
98
  '- Se um mesmo padrão aparece em várias, corrija no componente base',
71
99
  '- Se o mesmo problema pode existir em outras ocorrências fora das anotações, procure com grep e corrija',
72
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
+ ] : []),
73
119
  '',
74
120
  ...sections,
75
121
  '',
76
- 'APÓS APLICAR TODAS AS MUDANÇAS, responda em uma linha POR anotação, no formato:',
77
- '#<id>: <o que fez em no máximo 15 palavras>',
78
- '',
79
- 'Exemplo:',
80
- '#abc123: Ajustei align-items do Button em components/Button.tsx',
81
- '#def456: Removi padding extra do Card',
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.',
82
128
  ].join('\n');
83
129
  }
84
130
  export async function executeAnnotation(annotation, agent, options = {}) {
@@ -101,11 +147,19 @@ export async function executeAnnotation(annotation, agent, options = {}) {
101
147
  stdio: ['ignore', 'pipe', 'pipe'],
102
148
  });
103
149
  activeProcesses.add(proc);
104
- const timer = setTimeout(() => {
150
+ // Activity-based timeout: reset on every stdout data.
151
+ let timer = setTimeout(() => {
105
152
  timedOut = true;
106
153
  proc.kill('SIGTERM');
107
154
  }, timeout);
108
- proc.stdout?.on('data', (chunk) => { stdout += chunk.toString(); });
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(); });
109
163
  proc.stderr?.on('data', (chunk) => { stderr += chunk.toString(); });
110
164
  proc.on('close', (code) => {
111
165
  clearTimeout(timer);
@@ -141,6 +195,16 @@ export async function executeAnnotation(annotation, agent, options = {}) {
141
195
  });
142
196
  });
143
197
  }
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
+ */
144
208
  export async function executeBatch(annotations, agent, options = {}) {
145
209
  if (agent.kind === 'none' || !agent.command) {
146
210
  return { ok: false, summaries: new Map(), error: 'Nenhum agente CLI detectado', durationMs: 0 };
@@ -149,25 +213,76 @@ export async function executeBatch(annotations, agent, options = {}) {
149
213
  return { ok: true, summaries: new Map(), durationMs: 0 };
150
214
  }
151
215
  const start = Date.now();
152
- const prompt = buildBatchPrompt(annotations);
216
+ const prompt = buildBatchPrompt(annotations, { isResume: !!options.sessionId });
153
217
  const cwd = options.cwd ?? process.cwd();
154
- const timeout = options.timeoutMs ?? 300_000; // 5min for batch
155
- const args = buildArgs(agent.kind, prompt);
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 });
156
221
  return new Promise((resolve) => {
157
222
  let stdout = '';
158
223
  let stderr = '';
224
+ let buffer = '';
159
225
  let timedOut = false;
226
+ let sessionId;
227
+ const summaries = new Map();
228
+ let resolvedIndex = 0; // next annotation to resolve via tool_use order
160
229
  const proc = spawn(agent.command, args, {
161
230
  cwd,
162
231
  env: process.env,
163
232
  stdio: ['ignore', 'pipe', 'pipe'],
164
233
  });
165
234
  activeProcesses.add(proc);
166
- const timer = setTimeout(() => {
235
+ // Activity-based timeout: reset on every stdout data.
236
+ // Only kills after `timeout` ms of SILENCE, not total duration.
237
+ let timer = setTimeout(() => {
167
238
  timedOut = true;
168
239
  proc.kill('SIGTERM');
169
240
  }, timeout);
170
- proc.stdout?.on('data', (chunk) => { stdout += chunk.toString(); });
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
+ });
171
286
  proc.stderr?.on('data', (chunk) => { stderr += chunk.toString(); });
172
287
  proc.on('close', (code) => {
173
288
  clearTimeout(timer);
@@ -187,11 +302,18 @@ export async function executeBatch(annotations, agent, options = {}) {
187
302
  });
188
303
  return;
189
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
+ }
190
311
  resolve({
191
312
  ok: true,
192
- summaries: parseBatchSummaries(stdout, annotations),
313
+ summaries,
193
314
  rawOutput: stdout,
194
315
  durationMs,
316
+ sessionId,
195
317
  });
196
318
  });
197
319
  proc.on('error', (err) => {
@@ -206,6 +328,97 @@ export async function executeBatch(annotations, agent, options = {}) {
206
328
  });
207
329
  });
208
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
+ }
209
422
  function parseBatchSummaries(stdout, annotations) {
210
423
  const result = new Map();
211
424
  const lines = stdout.trim().split('\n').filter(l => l.trim().length > 0);
@@ -224,10 +437,32 @@ function parseBatchSummaries(stdout, annotations) {
224
437
  }
225
438
  return result;
226
439
  }
227
- function buildArgs(kind, prompt) {
440
+ function buildArgs(kind, prompt, opts = {}) {
228
441
  switch (kind) {
229
- case 'claude':
230
- return ['-p', prompt, '--dangerously-skip-permissions'];
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
+ }
231
466
  case 'codex':
232
467
  return ['exec', prompt];
233
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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"}
@@ -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;AAE9C,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;AA2DD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,mBAAmB,CA8C7E;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG;IACvD,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB,CAmBA"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"augment.js","sourceRoot":"","sources":["../../src/bridge/augment.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
1
  import type { Annotation, AnnotationStatus } from '../types.js';
2
+ export interface Session {
3
+ id: string;
4
+ createdAt: number;
5
+ closedAt?: number;
6
+ }
7
+ export declare function createSession(): Session;
8
+ export declare function closeSession(id: string): boolean;
9
+ export declare function getSession(id: string): Session | undefined;
10
+ export declare function nextSequence(sessionId?: string): number;
2
11
  export declare function onCreate(listener: () => void): () => void;
3
- export declare function createAnnotation(input: Omit<Annotation, 'id' | 'status' | 'timestamp'>): Annotation;
12
+ export declare function createAnnotation(input: Omit<Annotation, 'id' | 'status' | 'timestamp' | 'sequence'>): Annotation;
4
13
  export declare function listAnnotations(filter?: {
5
14
  status?: AnnotationStatus;
6
15
  }): Annotation[];
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/bridge/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMhE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,cAG5C;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG,UAAU,CAUnG;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,UAAU,EAAE,CAIpF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEhE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAU9C;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAMrF;AAED,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED,wBAAgB,QAAQ;;;;;EAQvB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/bridge/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQhE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD,wBAAgB,aAAa,IAAI,OAAO,CAQvC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAKhD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE1D;AAID,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAUvD;AAID,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,cAG5C;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,UAAU,CAWhH;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,UAAU,EAAE,CAIpF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEhE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAU9C;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAMrF;AAED,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED,wBAAgB,QAAQ;;;;;EAQvB"}