ilse-design 0.3.0-beta.4 → 0.3.0-beta.7

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 +263 -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 +87 -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 +1284 -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,CA+I/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,79 @@ 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 });
221
+ if (process.env.ILSE_DEBUG) {
222
+ console.log(` [debug] spawn: ${agent.command} ${args.map(a => a.length > 80 ? a.slice(0, 80) + '...' : a).join(' ')}`);
223
+ }
156
224
  return new Promise((resolve) => {
157
225
  let stdout = '';
158
226
  let stderr = '';
227
+ let buffer = '';
159
228
  let timedOut = false;
229
+ let sessionId;
230
+ const summaries = new Map();
231
+ let resolvedIndex = 0; // next annotation to resolve via tool_use order
160
232
  const proc = spawn(agent.command, args, {
161
233
  cwd,
162
234
  env: process.env,
163
235
  stdio: ['ignore', 'pipe', 'pipe'],
164
236
  });
165
237
  activeProcesses.add(proc);
166
- const timer = setTimeout(() => {
238
+ // Activity-based timeout: reset on every stdout data.
239
+ // Only kills after `timeout` ms of SILENCE, not total duration.
240
+ let timer = setTimeout(() => {
167
241
  timedOut = true;
168
242
  proc.kill('SIGTERM');
169
243
  }, timeout);
170
- proc.stdout?.on('data', (chunk) => { stdout += chunk.toString(); });
244
+ const resetTimer = () => {
245
+ clearTimeout(timer);
246
+ timer = setTimeout(() => {
247
+ timedOut = true;
248
+ proc.kill('SIGTERM');
249
+ }, timeout);
250
+ };
251
+ proc.stdout?.on('data', (chunk) => {
252
+ resetTimer();
253
+ const text = chunk.toString();
254
+ stdout += text;
255
+ buffer += text;
256
+ const lines = buffer.split('\n');
257
+ buffer = lines.pop() ?? '';
258
+ for (const line of lines) {
259
+ const trimmed = line.trim();
260
+ if (!trimmed)
261
+ continue;
262
+ if (useStreamJson) {
263
+ // Parse stream-json events
264
+ try {
265
+ const event = JSON.parse(trimmed);
266
+ handleStreamEvent(event, annotations, summaries, () => {
267
+ if (resolvedIndex < annotations.length) {
268
+ const ann = annotations[resolvedIndex++];
269
+ const summary = `Editando ${ann.component ?? ann.element}`;
270
+ if (!summaries.has(ann.id)) {
271
+ summaries.set(ann.id, summary);
272
+ options.onProgress?.(ann.id, summary);
273
+ }
274
+ }
275
+ }, (id) => { sessionId = id; }, (thinking) => options.onThinking?.(thinking));
276
+ }
277
+ catch { /* ignore non-JSON lines */ }
278
+ }
279
+ else {
280
+ // Fallback: match "#<id>: summary" pattern
281
+ const match = trimmed.match(/^#([a-z0-9]+):\s*(.+)$/i);
282
+ if (match && !summaries.has(match[1])) {
283
+ summaries.set(match[1], match[2].trim());
284
+ options.onProgress?.(match[1], match[2].trim());
285
+ }
286
+ }
287
+ }
288
+ });
171
289
  proc.stderr?.on('data', (chunk) => { stderr += chunk.toString(); });
172
290
  proc.on('close', (code) => {
173
291
  clearTimeout(timer);
@@ -187,11 +305,18 @@ export async function executeBatch(annotations, agent, options = {}) {
187
305
  });
188
306
  return;
189
307
  }
308
+ // Final pass: extract summaries from any final text output (both formats)
309
+ const finalSummaries = parseBatchSummaries(stdout, annotations);
310
+ for (const [id, summary] of finalSummaries) {
311
+ if (!summaries.has(id))
312
+ summaries.set(id, summary);
313
+ }
190
314
  resolve({
191
315
  ok: true,
192
- summaries: parseBatchSummaries(stdout, annotations),
316
+ summaries,
193
317
  rawOutput: stdout,
194
318
  durationMs,
319
+ sessionId,
195
320
  });
196
321
  });
197
322
  proc.on('error', (err) => {
@@ -206,6 +331,97 @@ export async function executeBatch(annotations, agent, options = {}) {
206
331
  });
207
332
  });
208
333
  }
334
+ /**
335
+ * Process a single stream-json event from Claude Code CLI.
336
+ * Events shape: https://docs.claude.com/en/docs/claude-code/sdk#streaming-output-format
337
+ */
338
+ function handleStreamEvent(event, annotations, summaries, onToolUse, onSessionId, onThinking) {
339
+ // Capture session ID from init event
340
+ if (event.type === 'system' && event.subtype === 'init' && typeof event.session_id === 'string') {
341
+ onSessionId(event.session_id);
342
+ return;
343
+ }
344
+ // Assistant message may contain tool_use blocks and text (reasoning)
345
+ if (event.type === 'assistant') {
346
+ const message = event.message;
347
+ const content = message?.content;
348
+ if (!Array.isArray(content))
349
+ return;
350
+ for (const block of content) {
351
+ if (block.type === 'tool_use') {
352
+ const toolName = block.name;
353
+ const input = block.input;
354
+ // Emit a human-friendly "thinking" line per tool use
355
+ const thinking = describeToolUse(toolName, input);
356
+ if (thinking)
357
+ onThinking(thinking);
358
+ if (toolName && ['Edit', 'Write', 'MultiEdit', 'Update'].includes(toolName)) {
359
+ onToolUse();
360
+ }
361
+ }
362
+ // Text blocks: emit as thinking (cleaned up), also parse "#<id>:" summary pattern
363
+ if (block.type === 'text' && typeof block.text === 'string') {
364
+ const text = block.text.trim();
365
+ // Extract summary lines first
366
+ const matches = text.matchAll(/^#([a-z0-9]+):\s*(.+)$/gim);
367
+ for (const match of matches) {
368
+ if (!summaries.has(match[1])) {
369
+ summaries.set(match[1], match[2].trim());
370
+ }
371
+ }
372
+ // Emit non-summary text as thinking (first line only, trimmed)
373
+ const cleanText = text
374
+ .split('\n')
375
+ .filter(l => l.trim() && !/^#[a-z0-9]+:/i.test(l.trim()))
376
+ .join(' ')
377
+ .slice(0, 120);
378
+ if (cleanText)
379
+ onThinking(cleanText);
380
+ }
381
+ }
382
+ }
383
+ }
384
+ /**
385
+ * Turn a Claude tool_use event into a short, designer-friendly description.
386
+ * Examples:
387
+ * Read /foo/bar.tsx → "Lendo bar.tsx"
388
+ * Grep "useState" → "Procurando useState"
389
+ * Edit Button.tsx → "Editando Button.tsx"
390
+ */
391
+ function describeToolUse(name, input) {
392
+ if (!name || !input)
393
+ return null;
394
+ const getBasename = (p) => {
395
+ if (typeof p !== 'string')
396
+ return '';
397
+ return p.split('/').pop() ?? p;
398
+ };
399
+ switch (name) {
400
+ case 'Read':
401
+ return `Lendo ${getBasename(input.file_path)}`;
402
+ case 'Glob':
403
+ return `Procurando arquivos ${input.pattern ?? ''}`.trim();
404
+ case 'Grep':
405
+ return `Procurando "${String(input.pattern ?? '').slice(0, 40)}"`;
406
+ case 'Edit':
407
+ case 'Update':
408
+ return `Editando ${getBasename(input.file_path)}`;
409
+ case 'MultiEdit':
410
+ return `Editando ${getBasename(input.file_path)} (múltiplas)`;
411
+ case 'Write':
412
+ return `Criando ${getBasename(input.file_path)}`;
413
+ case 'Bash':
414
+ return `Rodando comando`;
415
+ case 'TodoWrite':
416
+ return `Planejando próximos passos`;
417
+ case 'WebSearch':
418
+ return `Pesquisando: ${String(input.query ?? '').slice(0, 40)}`;
419
+ case 'WebFetch':
420
+ return `Lendo página`;
421
+ default:
422
+ return `Usando ${name}`;
423
+ }
424
+ }
209
425
  function parseBatchSummaries(stdout, annotations) {
210
426
  const result = new Map();
211
427
  const lines = stdout.trim().split('\n').filter(l => l.trim().length > 0);
@@ -224,10 +440,32 @@ function parseBatchSummaries(stdout, annotations) {
224
440
  }
225
441
  return result;
226
442
  }
227
- function buildArgs(kind, prompt) {
443
+ function buildArgs(kind, prompt, opts = {}) {
228
444
  switch (kind) {
229
- case 'claude':
230
- return ['-p', prompt, '--dangerously-skip-permissions'];
445
+ case 'claude': {
446
+ const args = [
447
+ '-p',
448
+ prompt,
449
+ '--dangerously-skip-permissions',
450
+ // Disable MCP servers for the spawned claude. Otherwise Claude
451
+ // sees `ilse_*` MCP tools registered globally and tries to fetch
452
+ // annotations from the MCP server's in-memory store — which is a
453
+ // SEPARATE process from the CLI that actually holds the annotation.
454
+ // Result: "annotation not found", no edits. With these flags Claude
455
+ // ignores all MCP configs and relies only on the prompt.
456
+ '--mcp-config',
457
+ '{"mcpServers":{}}',
458
+ '--strict-mcp-config',
459
+ ];
460
+ if (opts.streamJson) {
461
+ // stream-json requires --verbose
462
+ args.push('--output-format', 'stream-json', '--verbose');
463
+ }
464
+ if (opts.sessionId) {
465
+ args.push('--resume', opts.sessionId);
466
+ }
467
+ return args;
468
+ }
231
469
  case 'codex':
232
470
  return ['exec', prompt];
233
471
  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"}