@christianmaf80/agentic-workflow 1.24.0-beta.3 → 1.25.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.es.md +13 -57
- package/README.md +14 -56
- package/bin/cli.js +22 -29
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/acceptance.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-scores.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/1-dev-agent-scaffold.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/2-dev-agent-manifest-command.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/3-dev-agent-marketplace-evidence.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/agent-tasks/4-qa-agent-verify-build.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/analysis.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/architect/review.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/metrics.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/plan.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/researcher/research.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/results-acceptance.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/task.md +0 -6
- package/dist/agent/artifacts/1-scaffold-extension-vscode-agentinc/verification.md +0 -6
- package/dist/agent/artifacts/11-refinement-capas-constitution/analysis.md +24 -0
- package/dist/agent/artifacts/11-refinement-capas-constitution/roadmap-audit.md +34 -0
- package/dist/agent/artifacts/11-refinement-capas-constitution/task.md +58 -0
- package/dist/agent/artifacts/12-npm-workspaces/acceptance.md +78 -0
- package/dist/agent/artifacts/12-npm-workspaces/analysis.md +179 -0
- package/dist/agent/artifacts/12-npm-workspaces/plan.md +237 -0
- package/dist/agent/artifacts/12-npm-workspaces/researcher/research.md +186 -0
- package/dist/agent/artifacts/12-npm-workspaces/task.md +126 -0
- package/dist/agent/artifacts/13-implement-custom-chat-with-a2ui/acceptance.md +75 -0
- package/dist/agent/artifacts/13-implement-custom-chat-with-a2ui/researcher/research.md +121 -0
- package/dist/agent/artifacts/13-implement-custom-chat-with-a2ui/task.md +104 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/acceptance.md +75 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/architect/analysis.md +90 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/planner/implementation_plan.md +44 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/researcher/research.md +113 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/task.md +107 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/verification/walkthrough.md +37 -0
- package/dist/agent/artifacts/14-re-implement-setup-config-d1/verifier/walkthrough.md +0 -0
- package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/acceptance.md +0 -6
- package/dist/agent/artifacts/2-scaffold-vscode-chat-ai-panel/task.md +0 -6
- package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/acceptance.md +0 -6
- package/dist/agent/artifacts/3-new-vscode-agentic-activitybar-chat/task.md +0 -6
- package/dist/agent/artifacts/4-copiar-estructura-agentic-cliente/acceptance.md +0 -6
- package/dist/agent/artifacts/4-copiar-estructura-agentic-cliente/architect/implementation.md +0 -6
- package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/acceptance.md +0 -6
- package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/agent-tasks/1-dev-agent-reestructurar-carpetas.md +1 -1
- package/dist/agent/artifacts/5-reestructurar-src-para-extension-vscode/task.md +0 -6
- package/dist/agent/artifacts/6-release-beta-11/task.md +0 -6
- package/dist/agent/artifacts/7-extension-vscode-webview/acceptance.md +70 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/agent-scores.md +24 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/1-vscode-specialist-scaffold-extension.md +99 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/2-vscode-specialist-update-manifest.md +101 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/3-vscode-specialist-webview-provider.md +96 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/4-vscode-specialist-activitybar-icon.md +95 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/agent-tasks/5-qa-agent-manual-verify.md +97 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/analysis.md +195 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/architect/review.md +124 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/changelog.md +9 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/metrics.md +43 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/plan.md +181 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/researcher/research.md +118 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/results-acceptance.md +146 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/task.md +119 -0
- package/dist/agent/artifacts/7-extension-vscode-webview/verification.md +81 -0
- package/dist/agent/artifacts/8-create-agentic-runtime-cli-first-as-the-single-execution-engine/task.md +126 -0
- package/dist/agent/artifacts/candidate/acceptance.md +23 -0
- package/dist/agent/artifacts/candidate/brief.md +39 -0
- package/dist/agent/artifacts/candidate/init.md +3 -9
- package/dist/agent/artifacts/candidate/task.md +4 -71
- package/dist/agent/artifacts/task-20260128-reorganize-structure/acceptance.md +0 -6
- package/dist/agent/artifacts/task-20260128-reorganize-structure/brief.md +1 -1
- package/dist/agent/artifacts/task-20260128-reorganize-structure/closure.md +3 -3
- package/dist/agent/artifacts/task-20260128-reorganize-structure/implementation.md +2 -2
- package/dist/agent/artifacts/task-20260128-reorganize-structure/task.md +0 -6
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/acceptance.md +65 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-scores.md +26 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1-neo-agent-deps-chatkit.md +108 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/15-vscode-specialist-views-router.md +89 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1b-vscode-specialist-review-deps.md +106 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/2-neo-agent-local-server.md +111 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/22-vscode-specialist-external-js.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/23-qa-agent-coverage-tests.md +85 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/24-vscode-specialist-class-refactor.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/25-vscode-specialist-external-html.md +88 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/26-vscode-specialist-template-js-html.md +110 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/27-vscode-specialist-fix-loading-setup.md +110 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/28-vscode-specialist-webview-debug-setup.md +107 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/29-vscode-specialist-webview-logging.md +109 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/3-neo-agent-webview-ui.md +107 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/30-vscode-specialist-csp-source.md +88 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/31-vscode-specialist-logging-prefix.md +83 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/32-vscode-specialist-logging-visibility.md +85 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/33-vscode-specialist-lit-setup.md +85 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/34-vscode-specialist-core-lit-base.md +89 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/35-vscode-specialist-lit-decorators-ts.md +88 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/36-vscode-specialist-lit-module-start.md +85 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/37-vscode-specialist-lit-ready-state.md +86 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/4-qa-agent-verification.md +106 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/5-vscode-specialist-api-key-ui.md +107 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/6-vscode-specialist-refactor-protocol.md +108 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/7-qa-agent-unit-tests.md +104 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-10-vscode-specialist-api-key-handshake.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-11-vscode-specialist-api-key-button-style.md +83 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-12-vscode-specialist-key-gate-view.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-13-vscode-specialist-status-timeout.md +83 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-14-vscode-specialist-init-flow.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-16-vscode-specialist-view-context.md +87 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-17-vscode-specialist-clear-key-command.md +85 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-18-vscode-specialist-context-sync.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-19-vscode-specialist-setup-visible.md +88 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-20-vscode-specialist-loading-state.md +83 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-21-vscode-specialist-loading-label.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-8-vscode-specialist-api-key-detect.md +89 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/fix-9-vscode-specialist-api-key-state.md +84 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/analysis.md +156 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/architect/review.md +141 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/changelog.md +30 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/metrics.md +43 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/plan.md +151 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/research.md +115 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/results-acceptance.md +171 -0
- package/dist/agent/artifacts/task-20260130-chatkit-mainview/verification.md +87 -0
- package/dist/agent/artifacts/task-20260130-fix-mainview-provider/acceptance.md +64 -0
- package/dist/agent/artifacts/task-20260130-fix-mainview-provider/architect/implementation.md +30 -0
- package/dist/agent/artifacts/task-20260130-fix-mainview-provider/brief.md +102 -0
- package/dist/agent/artifacts/task-20260130-fix-mainview-provider/closure.md +95 -0
- package/dist/agent/artifacts/task-20260130-rol-vscode/acceptance.md +68 -0
- package/dist/agent/artifacts/task-20260130-rol-vscode/architect/implementation.md +33 -0
- package/dist/agent/artifacts/task-20260130-rol-vscode/brief.md +104 -0
- package/dist/agent/artifacts/task-20260130-rol-vscode/closure.md +100 -0
- package/dist/agent/artifacts/task-beta-release/acceptance.md +23 -0
- package/dist/agent/artifacts/task-beta-release/brief.md +39 -0
- package/dist/agent/artifacts/task-beta-release/closure.md +29 -0
- package/dist/agent/artifacts/task-beta-release/init.md +26 -0
- package/dist/agent/artifacts/task-beta-release/task.md +64 -0
- package/dist/agent/index.md +69 -30
- package/dist/agent/rules/constitution/agents-behavior.md +110 -100
- package/dist/agent/rules/constitution/backend.md +27 -0
- package/dist/agent/rules/constitution/background.md +30 -0
- package/dist/agent/rules/constitution/clean-code.md +5 -6
- package/dist/agent/rules/constitution/modular-architecture.md +66 -0
- package/dist/agent/rules/constitution/view.md +41 -0
- package/dist/agent/rules/constitution/vscode-extensions.md +32 -0
- package/dist/agent/rules/roles/architect.md +1 -2
- package/dist/agent/rules/roles/backend.md +21 -0
- package/dist/agent/rules/roles/background.md +20 -0
- package/dist/agent/rules/roles/devops.md +20 -0
- package/dist/agent/rules/roles/engine.md +26 -0
- package/dist/agent/rules/roles/neo.md +12 -13
- package/dist/agent/rules/roles/researcher.md +2 -2
- package/dist/agent/rules/roles/view.md +22 -0
- package/dist/agent/rules/roles/vscode-specialist.md +24 -0
- package/dist/agent/templates/acceptance.md +19 -25
- package/dist/agent/templates/agent-task.md +39 -39
- package/dist/agent/templates/analysis.md +92 -92
- package/dist/agent/templates/brief.md +43 -43
- package/dist/agent/templates/changelog.md +8 -8
- package/dist/agent/templates/closure.md +29 -29
- package/dist/agent/templates/coding/coding-integration-report.md +102 -0
- package/dist/agent/templates/coding/coding-layer-report.md +78 -0
- package/dist/agent/templates/init.md +0 -6
- package/dist/agent/templates/planning.md +73 -73
- package/dist/agent/templates/research.md +43 -43
- package/dist/agent/templates/results-acceptance.md +94 -94
- package/dist/agent/templates/review.md +59 -59
- package/dist/agent/templates/subtask-implementation.md +29 -29
- package/dist/agent/templates/supplemental-report.md +0 -6
- package/dist/agent/templates/task-metrics.md +14 -14
- package/dist/agent/templates/task.md +15 -15
- package/dist/agent/templates/todo-item.md +23 -23
- package/dist/agent/workflows/coding/coding-backend.md +147 -0
- package/dist/agent/workflows/coding/coding-background.md +149 -0
- package/dist/agent/workflows/coding/coding-integration.md +174 -0
- package/dist/agent/workflows/coding/coding-view.md +151 -0
- package/dist/agent/workflows/init.md +83 -90
- package/dist/agent/workflows/scaffold-module.md +38 -0
- package/dist/agent/workflows/tasklifecycle-long/phase-0-acceptance-criteria.md +124 -134
- package/dist/agent/workflows/tasklifecycle-long/phase-1-research.md +103 -97
- package/dist/agent/workflows/tasklifecycle-long/phase-2-analysis.md +107 -102
- package/dist/agent/workflows/tasklifecycle-long/phase-3-planning.md +125 -120
- package/dist/agent/workflows/tasklifecycle-long/phase-4-implementation.md +118 -118
- package/dist/agent/workflows/tasklifecycle-long/phase-5-verification.md +105 -101
- package/dist/agent/workflows/tasklifecycle-long/phase-6-results-acceptance.md +82 -78
- package/dist/agent/workflows/tasklifecycle-long/phase-7-evaluation.md +84 -75
- package/dist/agent/workflows/tasklifecycle-long/phase-8-commit-push.md +94 -89
- package/dist/agent/workflows/tasklifecycle-short/short-phase-1-brief.md +78 -71
- package/dist/agent/workflows/tasklifecycle-short/short-phase-2-implementation.md +79 -71
- package/dist/agent/workflows/tasklifecycle-short/short-phase-3-closure.md +73 -66
- package/dist/cli/commands/create.js +4 -29
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/mcp.js +0 -6
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/runtime/engine/engine.js +29 -57
- package/dist/runtime/engine/engine.js.map +1 -1
- package/dist/runtime/engine/service.js +1 -38
- package/dist/runtime/engine/service.js.map +1 -1
- package/dist/runtime/engine/task-loader.js +1 -1
- package/dist/runtime/engine/task-loader.js.map +1 -1
- package/dist/runtime/engine/workflow-loader.js +17 -25
- package/dist/runtime/engine/workflow-loader.js.map +1 -1
- package/dist/runtime/mcp/server.js +38 -277
- package/dist/runtime/mcp/server.js.map +1 -1
- package/package.json +69 -7
- package/dist/agent/artifacts/index.md +0 -25
- package/dist/agent/rules/constitution/index.md +0 -26
- package/dist/agent/rules/constitution/runtime-integration.md +0 -101
- package/dist/agent/rules/index.md +0 -70
- package/dist/agent/rules/roles/index.md +0 -44
- package/dist/agent/templates/index.md +0 -42
- package/dist/agent/workflows/index.md +0 -30
- package/dist/agent/workflows/tasklifecycle-long/index.md +0 -172
- package/dist/agent/workflows/tasklifecycle-short/index.md +0 -70
- package/dist/cli/commands/register-mcp.js +0 -116
- package/dist/cli/commands/register-mcp.js.map +0 -1
- package/dist/runtime/engine/logger.js +0 -74
- package/dist/runtime/engine/logger.js.map +0 -1
- package/dist/runtime/mcp/check-tools.js +0 -66
- package/dist/runtime/mcp/check-tools.js.map +0 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: analysis
|
|
3
|
+
phase: phase-2-analysis
|
|
4
|
+
owner: architect-agent
|
|
5
|
+
status: draft
|
|
6
|
+
related_task: task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
🏛️ **architect-agent**: Análisis de integración ChatKit avanzada en webview con servidor local y agentes dinámicos.
|
|
10
|
+
|
|
11
|
+
# Analysis — task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
12
|
+
|
|
13
|
+
## 1. Resumen ejecutivo
|
|
14
|
+
**Problema**
|
|
15
|
+
- El webview actual no integra ChatKit ni un backend local para agentes dinámicos, y la UI no prueba el flujo real con OpenAI.
|
|
16
|
+
|
|
17
|
+
**Objetivo**
|
|
18
|
+
- Mostrar ChatKit embebido en `mainView` con botón “Test” que envíe “Hello I am the first agent called Neo”, usando agente dinámico `gpt-5` creado por sesión, API key segura y servidor local en extension host.
|
|
19
|
+
|
|
20
|
+
**Criterio de éxito**
|
|
21
|
+
- Se cumplen los AC: ChatKit embebido, backend local con `apiURL`, API key en SecretStorage, botón Test produce respuesta real del agente Neo y no hay filtración de secretos.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. Estado del proyecto (As-Is)
|
|
26
|
+
- **Estructura relevante**
|
|
27
|
+
- `src/extension/views/main-view.ts` renderiza HTML base.
|
|
28
|
+
- `package.json` define `mainView` en Activity Bar.
|
|
29
|
+
- **Componentes existentes**
|
|
30
|
+
- `MainChatView` registra un `WebviewViewProvider` básico.
|
|
31
|
+
- No existe servidor local ni integración ChatKit.
|
|
32
|
+
- **Nucleo / capas base**
|
|
33
|
+
- Extension host controla activación; no hay capa de backend HTTP local.
|
|
34
|
+
- **Artifacts / tareas previas**
|
|
35
|
+
- Tarea previa corrigió el nonce y el webview ya renderiza HTML.
|
|
36
|
+
- **Limitaciones detectadas**
|
|
37
|
+
- Webview no puede usar `localhost` directo en entornos remotos sin `asExternalUri`.
|
|
38
|
+
- API key no puede residir en webview.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. Cobertura de Acceptance Criteria
|
|
43
|
+
|
|
44
|
+
### AC-1
|
|
45
|
+
- **Interpretación**: ChatKit debe renderizarse en el webview con `apiURL` apuntando al servidor local.
|
|
46
|
+
- **Verificación**: UI visible, network calls al servidor local vía `asExternalUri`.
|
|
47
|
+
- **Riesgos / ambigüedades**: configuración CSP y carga de `chatkit.js`.
|
|
48
|
+
|
|
49
|
+
### AC-2
|
|
50
|
+
- **Interpretación**: API key en SecretStorage y modelo `gpt-5` en creación del agente.
|
|
51
|
+
- **Verificación**: comando para set key, lectura en extension host, creación de agente con modelo correcto.
|
|
52
|
+
- **Riesgos / ambigüedades**: ausencia de key o permisos de SecretStorage.
|
|
53
|
+
|
|
54
|
+
### AC-3
|
|
55
|
+
- **Interpretación**: botón “Test” dispara mensaje y se ve respuesta real.
|
|
56
|
+
- **Verificación**: click genera request y respuesta visible en UI.
|
|
57
|
+
- **Riesgos / ambigüedades**: rate limits o fallos de red.
|
|
58
|
+
|
|
59
|
+
### AC-4
|
|
60
|
+
- **Interpretación**: no exponer API key; `mainView` único.
|
|
61
|
+
- **Verificación**: no hay key en webview, `activationEvents` intactos.
|
|
62
|
+
- **Riesgos / ambigüedades**: logging accidental en webview.
|
|
63
|
+
|
|
64
|
+
### AC-5
|
|
65
|
+
- **Interpretación**: flujo completo funciona en F5.
|
|
66
|
+
- **Verificación**: prueba manual en VS Code.
|
|
67
|
+
- **Riesgos / ambigüedades**: entorno remoto y acceso a servidor local.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 4. Research técnico
|
|
72
|
+
|
|
73
|
+
- **Alternativa A: asExternalUri + servidor local HTTP (recomendado)**
|
|
74
|
+
- Descripción: extension host levanta servidor local; webview usa `asExternalUri` para acceder incluso en Remote.
|
|
75
|
+
- Ventajas: compatibilidad con Remote/Codespaces; flujo standard.
|
|
76
|
+
- Inconvenientes: manejo de puertos y lifecycle del servidor.
|
|
77
|
+
|
|
78
|
+
- **Alternativa B: message passing (postMessage) + proxy en extension host**
|
|
79
|
+
- Descripción: webview no llama a HTTP; usa `postMessage` y extension host ejecuta llamadas.
|
|
80
|
+
- Ventajas: evita problemas de red; sin servidor HTTP.
|
|
81
|
+
- Inconvenientes: no encaja bien con ChatKit embed que espera `apiURL` HTTP; más trabajo de adaptación.
|
|
82
|
+
|
|
83
|
+
**Decisión recomendada (si aplica)**
|
|
84
|
+
- **Usar asExternalUri + servidor local HTTP**, porque ChatKit embed necesita `apiURL` y el backend debe ser accesible como endpoint HTTP.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 5. Agentes participantes
|
|
89
|
+
- **vscode-specialist**
|
|
90
|
+
- Responsabilidades: integración webview, CSP, carga de ChatKit, UI botón “Test”.
|
|
91
|
+
- **architect-agent**
|
|
92
|
+
- Responsabilidades: decisiones de arquitectura, seguridad de API key, flujo de agentes dinámicos.
|
|
93
|
+
|
|
94
|
+
**Handoffs**
|
|
95
|
+
- architect define arquitectura y requisitos; vscode-specialist implementa webview + wiring.
|
|
96
|
+
|
|
97
|
+
**Componentes necesarios**
|
|
98
|
+
- Crear servidor local HTTP en extension host.
|
|
99
|
+
- Crear comando “Agentic: Set OpenAI Key”.
|
|
100
|
+
- Modificar webview para embed ChatKit + botón Test.
|
|
101
|
+
|
|
102
|
+
**Demo (si aplica)**
|
|
103
|
+
- Sí: botón “Test” que dispara el mensaje del agente Neo.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 6. Impacto de la tarea
|
|
108
|
+
- **Arquitectura**: se agrega backend local (servidor HTTP) y flujo de agentes dinámicos.
|
|
109
|
+
- **APIs / contratos**: nuevos endpoints internos para ChatKit.
|
|
110
|
+
- **Compatibilidad**: requiere `asExternalUri` para Remote.
|
|
111
|
+
- **Testing / verificación**: prueba manual en F5; validación de secret storage y flujo ChatKit.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 7. Riesgos y mitigaciones
|
|
116
|
+
- **Riesgo 1**: webview no accede a localhost en Remote.
|
|
117
|
+
- Impacto: chat no carga.
|
|
118
|
+
- Mitigación: usar `asExternalUri` para exponer el endpoint.
|
|
119
|
+
- **Riesgo 2**: crear agente por sesión aumenta coste/latencia.
|
|
120
|
+
- Impacto: respuesta lenta y coste alto.
|
|
121
|
+
- Mitigación: limitar creación por sesión y reciclar mientras la vista esté abierta.
|
|
122
|
+
- **Riesgo 3**: fuga de API key.
|
|
123
|
+
- Impacto: seguridad comprometida.
|
|
124
|
+
- Mitigación: SecretStorage + nunca exponer en webview.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 8. Preguntas abiertas
|
|
129
|
+
- Confirmar flujo exacto de creación del agente dinámico con ChatKit advanced en el server local.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 9. TODO Backlog (Consulta obligatoria)
|
|
134
|
+
|
|
135
|
+
**Referencia**: `.agent/todo/`
|
|
136
|
+
|
|
137
|
+
**Estado actual**: vacío (directorio no existe)
|
|
138
|
+
|
|
139
|
+
**Items relevantes para esta tarea**:
|
|
140
|
+
- Ninguno
|
|
141
|
+
|
|
142
|
+
**Impacto en el análisis**:
|
|
143
|
+
- Sin impacto.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 10. Aprobación
|
|
148
|
+
Este análisis **requiere aprobación explícita del desarrollador**.
|
|
149
|
+
|
|
150
|
+
```yaml
|
|
151
|
+
approval:
|
|
152
|
+
developer:
|
|
153
|
+
decision: SI
|
|
154
|
+
date: 2026-01-30T00:00:00Z
|
|
155
|
+
comments: null
|
|
156
|
+
```
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: architect-review
|
|
3
|
+
phase: phase-4-implementation
|
|
4
|
+
owner: architect-agent
|
|
5
|
+
status: approved
|
|
6
|
+
related_task: task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
7
|
+
related_plan: .agent/artifacts/task-20260130-chatkit-mainview/plan.md
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
🏛️ **architect-agent**: Revisión arquitectónica de implementación.
|
|
11
|
+
|
|
12
|
+
# Architectural Implementation Review — task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
13
|
+
|
|
14
|
+
## Identificacion del agente (OBLIGATORIA)
|
|
15
|
+
Primera linea del documento:
|
|
16
|
+
`<icono> **<nombre-agente>**: <mensaje>`
|
|
17
|
+
|
|
18
|
+
## 1. Resumen de la revisión
|
|
19
|
+
- **Objetivo del review**
|
|
20
|
+
Verificar que la implementación ejecutada cumple el **plan de implementación aprobado** sin desviaciones no autorizadas.
|
|
21
|
+
|
|
22
|
+
- **Resultado global**
|
|
23
|
+
- Estado: ☑ APROBADO ☐ RECHAZADO
|
|
24
|
+
- Fecha de revisión: 2026-01-31
|
|
25
|
+
- Arquitecto responsable: architect-agent
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. Verificación contra el plan de implementación
|
|
30
|
+
Revisión directa y trazable **plan → implementación**.
|
|
31
|
+
|
|
32
|
+
### 2.1 Pasos del plan
|
|
33
|
+
Para **cada paso definido en `plan.md`**:
|
|
34
|
+
|
|
35
|
+
| Paso del plan | Estado | Evidencia | Observaciones |
|
|
36
|
+
|---------------|--------|-----------|---------------|
|
|
37
|
+
| Paso 1 | ☑ OK ☐ NO OK | `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1-neo-agent-deps-chatkit.md`, `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1b-vscode-specialist-review-deps.md` | Dependencia `openai` añadida y revisada por vscode-specialist. |
|
|
38
|
+
| Paso 2 | ☑ OK ☐ NO OK | `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/2-neo-agent-local-server.md` | Servidor ChatKit custom TS + SSE. |
|
|
39
|
+
| Paso 3 | ☑ OK ☐ NO OK | `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/3-neo-agent-webview-ui.md` | Webview ChatKit + botón Test. |
|
|
40
|
+
| Paso 4 | ☑ OK ☐ NO OK | `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/7-qa-agent-unit-tests.md` | Unit tests del protocolo ChatKit. |
|
|
41
|
+
|
|
42
|
+
> Todos los pasos **DEBEN** estar en estado **OK** para aprobar la fase.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 3. Subtareas por agente
|
|
47
|
+
Revisión de las implementaciones individuales.
|
|
48
|
+
|
|
49
|
+
### Agente: `vscode-specialist`
|
|
50
|
+
- **Subtask document**:
|
|
51
|
+
- `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/2-neo-agent-local-server.md`
|
|
52
|
+
- `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/3-neo-agent-webview-ui.md`
|
|
53
|
+
- `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/5-vscode-specialist-api-key-ui.md`
|
|
54
|
+
- `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/6-vscode-specialist-refactor-protocol.md`
|
|
55
|
+
- **Evaluación**:
|
|
56
|
+
- ☑ Cumple el plan
|
|
57
|
+
- ☐ Desviaciones detectadas (detallar abajo)
|
|
58
|
+
|
|
59
|
+
**Notas del arquitecto**
|
|
60
|
+
- Cambios realizados: servidor local ChatKit custom, integración webview, UX API key, refactor a módulo puro.
|
|
61
|
+
- Decisiones técnicas: protocolo ChatKit custom, SSE, `openai` SDK para responses.
|
|
62
|
+
- Coherencia con el resto del sistema: consistente con `constitution.vscode_extensions`.
|
|
63
|
+
|
|
64
|
+
### Agente: `qa-agent`
|
|
65
|
+
- **Subtask document**:
|
|
66
|
+
- `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/7-qa-agent-unit-tests.md`
|
|
67
|
+
- **Evaluación**:
|
|
68
|
+
- ☑ Cumple el plan
|
|
69
|
+
- ☐ Desviaciones detectadas (detallar abajo)
|
|
70
|
+
|
|
71
|
+
**Notas del arquitecto**
|
|
72
|
+
- Cambios realizados: unit tests del módulo puro.
|
|
73
|
+
- Decisiones técnicas: `node:test` para mantener tests livianos.
|
|
74
|
+
- Coherencia con el resto del sistema: sin impacto en producción.
|
|
75
|
+
|
|
76
|
+
### Agente: `neo-agent` (desviación controlada)
|
|
77
|
+
- **Subtask document**:
|
|
78
|
+
- `.agent/artifacts/task-20260130-chatkit-mainview/agent-tasks/1-neo-agent-deps-chatkit.md`
|
|
79
|
+
- **Evaluación**:
|
|
80
|
+
- ☑ Cumple el plan
|
|
81
|
+
- ☑ Desviaciones detectadas (detallar abajo)
|
|
82
|
+
|
|
83
|
+
**Notas del arquitecto**
|
|
84
|
+
- Cambios realizados: dependencia `openai` añadida.
|
|
85
|
+
- Desviación: tarea ejecutada por neo-agent y revisada/validada por vscode-specialist.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 4. Acceptance Criteria (impacto)
|
|
90
|
+
Verificación de que la implementación **no rompe** los acceptance criteria definidos.
|
|
91
|
+
|
|
92
|
+
- ☑ Todos los AC siguen siendo válidos
|
|
93
|
+
- ☐ Algún AC requiere revisión (detallar)
|
|
94
|
+
|
|
95
|
+
**Observaciones**
|
|
96
|
+
- AC afectados: ninguno.
|
|
97
|
+
- Motivo: implementación alineada con AC de ChatKit custom + UI.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 5. Coherencia arquitectónica
|
|
102
|
+
Evaluación global del sistema tras la implementación.
|
|
103
|
+
|
|
104
|
+
- ☑ Respeta arquitectura del proyecto
|
|
105
|
+
- ☑ Respeta clean code
|
|
106
|
+
- ☑ No introduce deuda técnica significativa
|
|
107
|
+
- ☑ Mantiene compatibilidad esperada (multi-browser si aplica)
|
|
108
|
+
|
|
109
|
+
**Observaciones arquitectónicas**
|
|
110
|
+
- Impacto en estructura: nuevo módulo puro `chatkit-protocol.ts`.
|
|
111
|
+
- Impacto en componentes: extensión integra servidor local y webview ChatKit.
|
|
112
|
+
- Riesgos introducidos: dependencia de protocolo ChatKit custom sin SDK TS oficial.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 6. Desviaciones del plan
|
|
117
|
+
Registro explícito de desviaciones (si existen).
|
|
118
|
+
|
|
119
|
+
- **Desviación**
|
|
120
|
+
- Descripción: Tarea 1 ejecutada por neo-agent, fuera del rol esperado.
|
|
121
|
+
- Justificación: se detectó y se solicitó revisión del vscode-specialist.
|
|
122
|
+
- ¿Estaba prevista en el plan? ☐ Sí ☑ No
|
|
123
|
+
- ¿Requiere replanificación? ☐ Sí ☑ No
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 7. Decisión final del arquitecto
|
|
128
|
+
Decisión **severa y binaria**.
|
|
129
|
+
|
|
130
|
+
```yaml
|
|
131
|
+
decision:
|
|
132
|
+
architect:
|
|
133
|
+
result: APROBADO
|
|
134
|
+
date: 2026-01-31T00:00:00Z
|
|
135
|
+
comments: "Implementación alineada con el plan; desviación controlada en Tarea 1."
|
|
136
|
+
final_approval:
|
|
137
|
+
developer:
|
|
138
|
+
decision: SI
|
|
139
|
+
date: 2026-01-31T00:00:00Z
|
|
140
|
+
comments: "Fase 4 aprobada."
|
|
141
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: changelog
|
|
3
|
+
phase: phase-8-commit-push
|
|
4
|
+
owner: architect-agent
|
|
5
|
+
status: draft
|
|
6
|
+
related_task: task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
7
|
+
target_branch: fix/mainview-provider
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Changelog — task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
11
|
+
|
|
12
|
+
## 1. Resumen general
|
|
13
|
+
Descripción breve y clara de los cambios introducidos por esta tarea.
|
|
14
|
+
|
|
15
|
+
- **Objetivo de la tarea**: Integrar ChatKit + base Lit + logging para webviews.
|
|
16
|
+
- **Impacto principal**: Setup migrado a Lit con ciclo de vida común y logging AGW; CSP reforzada; tests y artifacts actualizados.
|
|
17
|
+
- **Áreas afectadas** (componentes, workflows, etc.): `src/extension/**`, tests, rules/constitution, artifacts.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Commits incluidos
|
|
22
|
+
Listado completo y ordenado de los commits realizados.
|
|
23
|
+
|
|
24
|
+
### Commit 1
|
|
25
|
+
- **Hash**: `546444b`
|
|
26
|
+
- **Mensaje (Conventional Commit)**: `feat(vscode-extension): add Lit core base, CSP fixes, logging, and setup view`
|
|
27
|
+
|
|
28
|
+
### Commit 2
|
|
29
|
+
- **Hash**: `1571d65`
|
|
30
|
+
- **Mensaje (Conventional Commit)**: `chore(agents): update artifacts, metrics, and compile gate`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: task_metrics
|
|
3
|
+
phase: phase-7-evaluation
|
|
4
|
+
owner: architect-agent
|
|
5
|
+
status: pending
|
|
6
|
+
related_task: task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Task Metrics — task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
10
|
+
|
|
11
|
+
## Identificacion del agente (OBLIGATORIA)
|
|
12
|
+
🏛️ **architect-agent**: Evaluación de agentes y métricas de la tarea.
|
|
13
|
+
|
|
14
|
+
## 1. Agentes evaluados
|
|
15
|
+
- vscode-specialist
|
|
16
|
+
- qa-agent
|
|
17
|
+
- neo-agent
|
|
18
|
+
- architect-agent
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 2. Puntuacion por agente (0-10)
|
|
23
|
+
- **vscode-specialist**: 9 (dev score: 6)
|
|
24
|
+
- Justificacion: Implementación extensa, fixes iterativos, integración Lit + CSP + logging resueltas.
|
|
25
|
+
- **qa-agent**: 8 (dev score: 7)
|
|
26
|
+
- Justificacion: Tests unitarios y cobertura 100% templates; verificación actualizada.
|
|
27
|
+
- **neo-agent**: 7 (dev score: 5)
|
|
28
|
+
- Justificacion: Participación inicial en deps; tarea revisada posteriormente.
|
|
29
|
+
- **architect-agent**: 8 (dev score: 5)
|
|
30
|
+
- Justificacion: Coordinación de fases y gates, control de constituciones.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 3. Puntuacion global de la tarea
|
|
35
|
+
- Promedio ponderado: 8.0
|
|
36
|
+
- Observaciones: Resultado estable con Lit piloto y ChatKit operativo.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 4. Validación del Desarrollador
|
|
41
|
+
- Aprobado: SI
|
|
42
|
+
- Puntuación del desarrollador (0-5): 3
|
|
43
|
+
- Comentarios: null
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: plan
|
|
3
|
+
phase: phase-3-planning
|
|
4
|
+
owner: architect-agent
|
|
5
|
+
status: draft
|
|
6
|
+
related_task: task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
🏛️ **architect-agent**: Plan de implementación para integrar ChatKit avanzado en webview con backend local.
|
|
10
|
+
|
|
11
|
+
# Implementation Plan — task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
12
|
+
|
|
13
|
+
## 1. Resumen del plan
|
|
14
|
+
- **Contexto**: Se requiere integrar ChatKit (advanced) en `mainView` con agente dinámico Neo, API key segura y backend local.
|
|
15
|
+
- **Resultado esperado**: Webview con ChatKit embebido + botón “Test”, servidor local en extension host que crea agente `gpt-5` por sesión y entrega `client_secret`.
|
|
16
|
+
- **Alcance**: Solo rol Neo, sesión por vista; no se persiste `agent_id`. Excluye multi‑agentes y UI avanzada.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 2. Inputs contractuales
|
|
21
|
+
- **Task**: `.agent/artifacts/task-20260130-chatkit-mainview/task.md`
|
|
22
|
+
- **Analysis**: `.agent/artifacts/task-20260130-chatkit-mainview/analysis.md`
|
|
23
|
+
- **Acceptance Criteria**: AC-1..AC-5 en `acceptance.md`.
|
|
24
|
+
|
|
25
|
+
**Dispatch de dominios (OBLIGATORIO si aplica)**
|
|
26
|
+
```yaml
|
|
27
|
+
plan:
|
|
28
|
+
workflows:
|
|
29
|
+
- domain: vscode-extension
|
|
30
|
+
action: refactor
|
|
31
|
+
workflow: extension.chatkit.advanced
|
|
32
|
+
|
|
33
|
+
dispatch:
|
|
34
|
+
- domain: core
|
|
35
|
+
action: create
|
|
36
|
+
workflow: extension.local-server
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 3. Desglose de implementación (pasos)
|
|
42
|
+
|
|
43
|
+
### Paso 1 — Dependencias y configuración
|
|
44
|
+
- **Descripción**: Añadir dependencias necesarias de ChatKit/SDK y wiring básico.
|
|
45
|
+
- **Dependencias**: npm deps oficiales de OpenAI/ChatKit.
|
|
46
|
+
- **Entregables**: package.json actualizado y build OK.
|
|
47
|
+
- **Agente responsable**: vscode-specialist.
|
|
48
|
+
|
|
49
|
+
### Paso 2 — Servidor local ChatKit (extension host)
|
|
50
|
+
- **Descripción**: Crear servidor HTTP local con endpoints ChatKit para crear sesión y agente Neo dinámico.
|
|
51
|
+
- **Dependencias**: OpenAI SDK/Agents SDK; SecretStorage para API key.
|
|
52
|
+
- **Entregables**: módulo servidor, comando “Agentic: Set OpenAI Key”.
|
|
53
|
+
- **Agente responsable**: vscode-specialist.
|
|
54
|
+
|
|
55
|
+
### Paso 3 — Webview embed + botón Test
|
|
56
|
+
- **Descripción**: Renderizar ChatKit en `mainView`, configurar CSP/`asExternalUri`, botón Test que envía el mensaje.
|
|
57
|
+
- **Dependencias**: servidor local disponible; `apiURL` resuelto.
|
|
58
|
+
- **Entregables**: UI funcional en F5.
|
|
59
|
+
- **Agente responsable**: vscode-specialist.
|
|
60
|
+
|
|
61
|
+
### Paso 4 — Verificación y demo
|
|
62
|
+
- **Descripción**: Validación manual end‑to‑end, con API key real.
|
|
63
|
+
- **Dependencias**: API key configurada en SecretStorage.
|
|
64
|
+
- **Entregables**: evidencia de “Hello I am the first agent called Neo”.
|
|
65
|
+
- **Agente responsable**: QA (si aplica) + developer.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 4. Asignación de responsabilidades (Agentes)
|
|
70
|
+
- **Architect-Agent**
|
|
71
|
+
- Arquitectura, seguridad y gates.
|
|
72
|
+
- **vscode-specialist**
|
|
73
|
+
- Implementación webview + backend local.
|
|
74
|
+
- **QA / Verification-Agent**
|
|
75
|
+
- Verificación manual (si se asigna).
|
|
76
|
+
|
|
77
|
+
**Handoffs**
|
|
78
|
+
- Architect → vscode-specialist: diseño técnico + CSP/`asExternalUri` + SecretStorage.
|
|
79
|
+
- vscode-specialist → Architect: implementación y comandos registrados.
|
|
80
|
+
|
|
81
|
+
**Componentes (si aplica)**
|
|
82
|
+
- Servidor local ChatKit (nuevo) en extension host.
|
|
83
|
+
|
|
84
|
+
**Demo (si aplica)**
|
|
85
|
+
- Botón “Test” dispara mensaje y respuesta en UI.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 5. Estrategia de testing y validación
|
|
90
|
+
- **Unit tests**: No previstos (integración UI + red).
|
|
91
|
+
- **Integration tests**: `npm run compile`.
|
|
92
|
+
- **E2E / Manual**: F5 + set API key + abrir view + botón Test.
|
|
93
|
+
|
|
94
|
+
**Trazabilidad**
|
|
95
|
+
- AC-1/3/5: validación manual de UI.
|
|
96
|
+
- AC-2/4: verificación de SecretStorage y sin key en webview.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 6. Plan de demo (si aplica)
|
|
101
|
+
- **Objetivo de la demo**: Probar conversación real con el agente Neo.
|
|
102
|
+
- **Escenario(s)**: Abrir `mainView`, click “Test”.
|
|
103
|
+
- **Datos de ejemplo**: “Hello I am the first agent called Neo”.
|
|
104
|
+
- **Criterios de éxito de la demo**: respuesta visible en el chat.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 7. Estimaciones y pesos de implementación
|
|
109
|
+
- Paso 1: bajo
|
|
110
|
+
- Paso 2: alto
|
|
111
|
+
- Paso 3: medio
|
|
112
|
+
- Paso 4: medio
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 8. Puntos críticos y resolución
|
|
117
|
+
- **Punto crítico 1**: `asExternalUri` para acceso al servidor local.
|
|
118
|
+
- Riesgo: sin acceso en Remote.
|
|
119
|
+
- Resolución: uso obligatorio de `asExternalUri`.
|
|
120
|
+
- **Punto crítico 2**: ChatKit advanced requiere endpoints específicos.
|
|
121
|
+
- Riesgo: incompatibilidad si falta endpoint.
|
|
122
|
+
- Resolución: seguir contrato oficial de ChatKit advanced.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 9. Dependencias y compatibilidad
|
|
127
|
+
- **Dependencias internas**: `mainView`, activación, SecretStorage.
|
|
128
|
+
- **Dependencias externas**: OpenAI ChatKit/Agents SDK.
|
|
129
|
+
- **Compatibilidad entre navegadores**: N/A (Electron Webview).
|
|
130
|
+
- **Restricciones arquitectónicas**: API key nunca en webview.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 10. Criterios de finalización
|
|
135
|
+
- UI ChatKit embebida con botón Test.
|
|
136
|
+
- Agente Neo dinámico (gpt-5) por sesión.
|
|
137
|
+
- API key en SecretStorage.
|
|
138
|
+
- Demo validada en F5.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 11. Aprobación del desarrollador (OBLIGATORIA)
|
|
143
|
+
Este plan **requiere aprobación explícita y binaria**.
|
|
144
|
+
|
|
145
|
+
```yaml
|
|
146
|
+
approval:
|
|
147
|
+
developer:
|
|
148
|
+
decision: SI
|
|
149
|
+
date: 2026-01-30T00:00:00Z
|
|
150
|
+
comments: null
|
|
151
|
+
```
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: research
|
|
3
|
+
phase: phase-1-research
|
|
4
|
+
owner: researcher-agent
|
|
5
|
+
status: draft
|
|
6
|
+
related_task: task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
🔍 **researcher-agent**: Investigación de ChatKit avanzado, requisitos de servidor y consideraciones de webview/secretos en VS Code.
|
|
10
|
+
|
|
11
|
+
# Research Report — task-20260130-chatkit-mainview-Integrar ChatKit en mainView
|
|
12
|
+
|
|
13
|
+
## 1. Resumen ejecutivo
|
|
14
|
+
- Problema investigado: Integración de ChatKit en un webview de VS Code con backend local y agentes dinámicos.
|
|
15
|
+
- Objetivo de la investigacion: Identificar requisitos de ChatKit avanzado, endpoints, seguridad y límites de webview para comunicación local.
|
|
16
|
+
- Principales hallazgos: ChatKit avanzado requiere servidor propio y `apiURL`; webviews no pueden usar localhost directo en entornos remotos; SecretStorage es la vía recomendada para secretos.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 2. Necesidades detectadas
|
|
21
|
+
- Requisitos tecnicos identificados por el architect-agent
|
|
22
|
+
- Backend ChatKit propio (advanced) con endpoint `apiURL`.
|
|
23
|
+
- API key fuera del webview; uso de SecretStorage en el extension host.
|
|
24
|
+
- ChatKit embed en webview requiere cargar `chatkit.js` desde CDN y usar bindings JS/React.
|
|
25
|
+
- Para local server en webview: usar `asExternalUri` o message passing para entornos remotos.
|
|
26
|
+
- Suposiciones y limites
|
|
27
|
+
- Se usará integración avanzada para agentes dinámicos.
|
|
28
|
+
- El servidor será local en el extension host (Node).
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 3. Hallazgos técnicos
|
|
33
|
+
|
|
34
|
+
### ChatKit: integración avanzada (servidor propio)
|
|
35
|
+
- Descripción: ChatKit avanzado permite usar infraestructura propia y un servidor ChatKit que procesa requests y emite eventos/stream.
|
|
36
|
+
- Estado actual: activo.
|
|
37
|
+
- Documentación oficial: guía de integración avanzada. citeturn0search3
|
|
38
|
+
- Limitaciones conocidas: requiere implementar servidor y un `apiURL` para el cliente; el cliente embebe widget y se comunica con el servidor. citeturn0search3
|
|
39
|
+
|
|
40
|
+
### ChatKit: integración recomendada (workflow fijo)
|
|
41
|
+
- Descripción: ChatKit puede apuntar a un workflow de Agent Builder; requiere generar sesión y devolver `client_secret` desde un backend.
|
|
42
|
+
- Estado actual: activo.
|
|
43
|
+
-- Documentación oficial: guía principal de ChatKit. citeturn0search5
|
|
44
|
+
-- Limitaciones conocidas: depende de workflow fijo; menos control para agentes dinámicos. citeturn0search5
|
|
45
|
+
|
|
46
|
+
### ChatKit frontend (script + bindings)
|
|
47
|
+
- Descripción: Para embebido, se carga `chatkit.js` desde CDN y se usan bindings (p. ej. `@openai/chatkit-react`) para montar el widget.
|
|
48
|
+
- Estado actual: activo.
|
|
49
|
+
-- Documentación oficial: guía ChatKit. citeturn0search5
|
|
50
|
+
-- Limitaciones conocidas: requiere backend que entregue `client_secret` y configure `apiURL`. citeturn0search5
|
|
51
|
+
|
|
52
|
+
### Agents SDK
|
|
53
|
+
- Descripción: SDK para construir agentes con OpenAI (JS/Python), útil para crear agentes dinámicos en backend propio.
|
|
54
|
+
- Estado actual: activo.
|
|
55
|
+
-- Documentación oficial: guía Agents SDK. citeturn0search1
|
|
56
|
+
-- Limitaciones conocidas: documentación principal remite a repositorios SDK. citeturn0search1
|
|
57
|
+
|
|
58
|
+
### VS Code webviews y acceso a servidores locales
|
|
59
|
+
- Descripción: En entornos remotos, el `localhost` del webview no apunta al extension host; se recomienda message passing o `asExternalUri`.
|
|
60
|
+
- Estado actual: activo.
|
|
61
|
+
-- Documentación oficial: Remote Extensions (`asExternalUri`, port mapping). citeturn0search2
|
|
62
|
+
-- Limitaciones conocidas: webview no accede a localhost remoto sin `asExternalUri` o `portMapping`. citeturn0search2
|
|
63
|
+
|
|
64
|
+
### VS Code SecretStorage
|
|
65
|
+
- Descripción: `ExtensionContext.secrets` provee almacenamiento seguro cifrado para claves; recomendado por VS Code.
|
|
66
|
+
- Estado actual: activo.
|
|
67
|
+
-- Documentación oficial: Common Capabilities. citeturn0search6
|
|
68
|
+
-- Limitaciones conocidas: secretos no se sincronizan entre máquinas. citeturn0search6
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 4. APIs relevantes
|
|
73
|
+
- ChatKit `apiURL` (endpoint del servidor ChatKit propio). Estado: requerido en integración avanzada. citeturn0search3
|
|
74
|
+
- `vscode.env.asExternalUri` para enrutar requests desde webviews a servidores locales remotos. Estado: soportado. citeturn0search2
|
|
75
|
+
- `ExtensionContext.secrets` (SecretStorage). Estado: soportado. citeturn0search6
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 5. Compatibilidad multi-browser
|
|
80
|
+
- Tabla de compatibilidad: Webviews corren en el motor de VS Code/Electron; no aplica compatibilidad multi‑browser clásica.
|
|
81
|
+
-- Diferencias clave: en VS Code Web/Remote, webview no puede usar localhost sin `asExternalUri` o `portMapping`. citeturn0search2
|
|
82
|
+
-- Estrategias de mitigacion: uso de `asExternalUri` o message passing. citeturn0search2
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 6. Oportunidades AI-first detectadas
|
|
87
|
+
-- Uso de Agents SDK para crear agentes dinámicos en backend propio. citeturn0search1
|
|
88
|
+
-- ChatKit advanced permite widgets y acciones para flujos guiados. citeturn0search3
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 7. Riesgos identificados
|
|
93
|
+
-- Riesgo: webview no puede acceder a localhost remoto sin mecanismos especiales. Severidad: alta. Fuente: Remote Extensions doc. citeturn0search2
|
|
94
|
+
-- Riesgo: secretos en cliente; debe evitarse. Severidad: alta. Fuente: SecretStorage doc. citeturn0search6
|
|
95
|
+
-- Riesgo: integración avanzada requiere servidor propio y store; esfuerzo extra. Severidad: media. Fuente: ChatKit advanced guide. citeturn0search3
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 8. Fuentes
|
|
100
|
+
-- OpenAI ChatKit (guía principal): https://platform.openai.com/docs/guides/chatkit citeturn0search5
|
|
101
|
+
-- OpenAI ChatKit Advanced (custom): https://platform.openai.com/docs/guides/custom-chatkit citeturn0search3
|
|
102
|
+
-- OpenAI Agents SDK: https://platform.openai.com/docs/guides/agents-sdk citeturn0search1
|
|
103
|
+
-- VS Code Remote Extensions (asExternalUri/port mapping): https://code.visualstudio.com/api/advanced-topics/remote-extensions citeturn0search2
|
|
104
|
+
-- VS Code SecretStorage: https://code.visualstudio.com/api/extension-capabilities/common-capabilities citeturn0search6
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 9. Aprobacion del desarrollador (OBLIGATORIA)
|
|
109
|
+
```yaml
|
|
110
|
+
approval:
|
|
111
|
+
developer:
|
|
112
|
+
decision: SI
|
|
113
|
+
date: 2026-01-30T00:00:00Z
|
|
114
|
+
comments: null
|
|
115
|
+
```
|