factory-factory 0.3.11 → 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/_baseUniq-CH1hrf3N.js +1 -0
- package/dist/client/assets/arc-CSzHMAUW.js +1 -0
- package/dist/client/assets/architectureDiagram-Q4EWVU46-CcfC94Eq.js +36 -0
- package/dist/client/assets/blockDiagram-DXYQGD6D-CD8LZStn.js +132 -0
- package/dist/client/assets/c4Diagram-AHTNJAMY-C5zvnj3y.js +10 -0
- package/dist/client/assets/channel-BboscRYZ.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-FE11baak.js → chunk-4BX2VUAB-BA0OQlKJ.js} +1 -1
- package/dist/client/assets/chunk-4TB4RGXK-G__dzUkA.js +206 -0
- package/dist/client/assets/{chunk-55IACEB6-BLSP1TCI.js → chunk-55IACEB6-Bly91nPp.js} +1 -1
- package/dist/client/assets/chunk-EDXVE4YY-Bpb5REqm.js +1 -0
- package/dist/client/assets/{chunk-FMBD7UC4-C4nv8ZZ5.js → chunk-FMBD7UC4-D4cq-tq0.js} +1 -1
- package/dist/client/assets/chunk-OYMX7WX6-B31-_n7C.js +231 -0
- package/dist/client/assets/{chunk-QZHKN3VN-yT7EzleD.js → chunk-QZHKN3VN-BNqNXrOd.js} +1 -1
- package/dist/client/assets/chunk-YZCP3GAM-DnlOKe6s.js +1 -0
- package/dist/client/assets/classDiagram-6PBFFD2Q-Dgq6y6E0.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-Dgq6y6E0.js +1 -0
- package/dist/client/assets/clone-Q5sJPExl.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-vkUUoKjG.js → cose-bilkent-S5V4N54A-DA81v1js.js} +1 -1
- package/dist/client/assets/{cytoscape.esm-5J0xJHOV.js → cytoscape.esm-DkOyvmE4.js} +3 -3
- package/dist/client/assets/dagre-KV5264BT-DNNm59Sd.js +4 -0
- package/dist/client/assets/diagram-5BDNPKRD-CsNDzo7S.js +10 -0
- package/dist/client/assets/diagram-G4DWMVQ6-D42kU-7c.js +24 -0
- package/dist/client/assets/diagram-MMDJMWI5-Cbgn3quc.js +43 -0
- package/dist/client/assets/diagram-TYMM5635-RPDFdWiJ.js +24 -0
- package/dist/client/assets/erDiagram-SMLLAGMA-Dqc1KaOk.js +85 -0
- package/dist/client/assets/flowDiagram-DWJPFMVM-Dbly7Plu.js +162 -0
- package/dist/client/assets/ganttDiagram-T4ZO3ILL-B7R27VEN.js +292 -0
- package/dist/client/assets/gitGraphDiagram-UUTBAWPF-6loVjPhb.js +106 -0
- package/dist/client/assets/graph-BR0XwPKq.js +1 -0
- package/dist/client/assets/index-BLpM5V_N.js +494 -0
- package/dist/client/assets/index-DpxxuE94.css +1 -0
- package/dist/client/assets/infoDiagram-42DDH7IO-DVJ4Mnsd.js +2 -0
- package/dist/client/assets/ishikawaDiagram-UXIWVN3A-BO2-eRwL.js +70 -0
- package/dist/client/assets/journeyDiagram-VCZTEJTY-BHt11l7D.js +139 -0
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-B-krTleZ.js → kanban-definition-6JOO6SKY-REiSk28t.js} +9 -9
- package/dist/client/assets/katex-DHMw6HUq.js +257 -0
- package/dist/client/assets/layout-D6wkcSBG.js +1 -0
- package/dist/client/assets/{linear-D7QUSQ5W.js → linear-s4VwUcIi.js} +1 -1
- package/dist/client/assets/min-CA8Q7qcH.js +1 -0
- package/dist/client/assets/mindmap-definition-QFDTVHPH-CHcjh3dp.js +96 -0
- package/dist/client/assets/mobile-baseline-DAzbSHjJ.js +10 -0
- package/dist/client/assets/pieDiagram-DEJITSTG-_PyWboNA.js +30 -0
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-DIX_V9KH.js → quadrantDiagram-34T5L4WZ-IizjPUD4.js} +1 -1
- package/dist/client/assets/requirementDiagram-MS252O5E-DWDtEvq8.js +84 -0
- package/dist/client/assets/sankeyDiagram-XADWPNL6-DF2yARPy.js +10 -0
- package/dist/client/assets/sequenceDiagram-FGHM5R23-DcLk78UE.js +157 -0
- package/dist/client/assets/stateDiagram-FHFEXIEX-BE_hYKOD.js +1 -0
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BKlzimdd.js +1 -0
- package/dist/client/assets/{terminal-instance-D_yDA82a.js → terminal-instance-M1RoRzwF.js} +1 -1
- package/dist/client/assets/timeline-definition-GMOUNBTQ-DBX-0O9J.js +120 -0
- package/dist/client/assets/vennDiagram-DHZGUBPP-DW67qjr4.js +34 -0
- package/dist/client/assets/wardley-RL74JXVD-90cwwnr6.js +162 -0
- package/dist/client/assets/wardleyDiagram-NUSXRM2D-BXWUlqMo.js +20 -0
- package/dist/client/assets/xychartDiagram-5P7HB3ND-BU540Do_.js +7 -0
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/client.d.ts.map +1 -1
- package/dist/prisma/generated/client.js.map +1 -1
- package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
- package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
- package/dist/prisma/generated/enums.d.ts +15 -0
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/enums.js +13 -0
- package/dist/prisma/generated/enums.js.map +1 -1
- package/dist/prisma/generated/internal/class.d.ts.map +1 -1
- package/dist/prisma/generated/internal/class.js +6 -6
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +7 -0
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +7 -2
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +5 -0
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +5 -0
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/AgentSession.d.ts +1 -2
- package/dist/prisma/generated/models/AgentSession.d.ts.map +1 -1
- package/dist/prisma/generated/models/ClosedSession.d.ts +1 -2
- package/dist/prisma/generated/models/ClosedSession.d.ts.map +1 -1
- package/dist/prisma/generated/models/DecisionLog.d.ts +1 -2
- package/dist/prisma/generated/models/DecisionLog.d.ts.map +1 -1
- package/dist/prisma/generated/models/Project.d.ts +1 -2
- package/dist/prisma/generated/models/Project.d.ts.map +1 -1
- package/dist/prisma/generated/models/TerminalSession.d.ts +1 -2
- package/dist/prisma/generated/models/TerminalSession.d.ts.map +1 -1
- package/dist/prisma/generated/models/UserSettings.d.ts +1 -2
- package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
- package/dist/prisma/generated/models/Workspace.d.ts +231 -3
- package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
- package/dist/scripts/check-no-direct-process-env.d.mts.map +1 -1
- package/dist/scripts/check-no-direct-process-env.mjs +1 -0
- package/dist/scripts/check-no-direct-process-env.mjs.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.d.ts.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.js +7 -3
- package/dist/src/backend/interceptors/pr-detection.interceptor.js.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.test.js +24 -0
- package/dist/src/backend/interceptors/pr-detection.interceptor.test.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.test.js +5 -0
- package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +7 -2
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +116 -3
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +4 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +5 -0
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js +46 -9
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
- package/dist/src/backend/server.d.ts.map +1 -1
- package/dist/src/backend/server.js +13 -0
- package/dist/src/backend/server.js.map +1 -1
- package/dist/src/backend/server.upgrade.test.js +4 -0
- package/dist/src/backend/server.upgrade.test.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/index.d.ts +2 -0
- package/dist/src/backend/services/auto-iteration/index.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/index.js +2 -0
- package/dist/src/backend/services/auto-iteration/index.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +30 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +623 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.types.d.ts +72 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.types.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.types.js +2 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.types.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/bridges.d.ts +27 -0
- package/dist/src/backend/services/auto-iteration/service/bridges.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/bridges.js +2 -0
- package/dist/src/backend/services/auto-iteration/service/bridges.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.d.ts +7 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.js +56 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/index.d.ts +8 -0
- package/dist/src/backend/services/auto-iteration/service/index.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/index.js +7 -0
- package/dist/src/backend/services/auto-iteration/service/index.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/insights.service.d.ts +9 -0
- package/dist/src/backend/services/auto-iteration/service/insights.service.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/insights.service.js +67 -0
- package/dist/src/backend/services/auto-iteration/service/insights.service.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/logbook.service.d.ts +11 -0
- package/dist/src/backend/services/auto-iteration/service/logbook.service.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/logbook.service.js +88 -0
- package/dist/src/backend/services/auto-iteration/service/logbook.service.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/prompts.d.ts +10 -0
- package/dist/src/backend/services/auto-iteration/service/prompts.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/prompts.js +194 -0
- package/dist/src/backend/services/auto-iteration/service/prompts.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.d.ts +4 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.js +73 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.js.map +1 -0
- package/dist/src/backend/services/registry.d.ts +7 -3
- package/dist/src/backend/services/registry.d.ts.map +1 -1
- package/dist/src/backend/services/registry.js +7 -2
- package/dist/src/backend/services/registry.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +5 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +47 -3
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/index.d.ts +1 -1
- package/dist/src/backend/services/session/service/acp/index.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/index.js +1 -1
- package/dist/src/backend/services/session/service/acp/index.js.map +1 -1
- package/dist/src/backend/services/session/service/bridges.d.ts +3 -0
- package/dist/src/backend/services/session/service/bridges.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts +10 -0
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +3 -0
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +32 -2
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js +56 -2
- package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +4 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +43 -0
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +3 -2
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.js +12 -4
- package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +38 -0
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +9 -0
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js +22 -0
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +5 -0
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +33 -9
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +41 -0
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +45 -0
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +10 -0
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +10 -0
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
- package/dist/src/backend/trpc/auto-iteration.trpc.d.ts +79 -0
- package/dist/src/backend/trpc/auto-iteration.trpc.d.ts.map +1 -0
- package/dist/src/backend/trpc/auto-iteration.trpc.js +159 -0
- package/dist/src/backend/trpc/auto-iteration.trpc.js.map +1 -0
- package/dist/src/backend/trpc/index.d.ts +178 -0
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/index.js +2 -0
- package/dist/src/backend/trpc/index.js.map +1 -1
- package/dist/src/backend/trpc/project.trpc.d.ts +10 -0
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.d.ts +25 -0
- package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +5 -0
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +10 -0
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.router.test.js +31 -0
- package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +65 -0
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +30 -1
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/shared/core/enums.d.ts +15 -0
- package/dist/src/shared/core/enums.d.ts.map +1 -1
- package/dist/src/shared/core/enums.js +13 -0
- package/dist/src/shared/core/enums.js.map +1 -1
- package/dist/src/shared/core/index.d.ts +1 -1
- package/dist/src/shared/core/index.d.ts.map +1 -1
- package/dist/src/shared/core/index.js +1 -1
- package/dist/src/shared/core/index.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +33 -21
- package/prisma/migrations/20260401171631_add_auto_iteration_fields/migration.sql +70 -0
- package/prisma/schema.prisma +22 -0
- package/dist/client/assets/_basePickBy-2e-pMoSf.js +0 -1
- package/dist/client/assets/_baseUniq-Dw9JV7Yn.js +0 -1
- package/dist/client/assets/arc-BFIB068y.js +0 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-3yLryf1P.js +0 -36
- package/dist/client/assets/blockDiagram-VD42YOAC-JJloNCNd.js +0 -122
- package/dist/client/assets/c4Diagram-YG6GDRKO-Du4iha32.js +0 -10
- package/dist/client/assets/channel-CIm-1U39.js +0 -1
- package/dist/client/assets/chunk-B4BG7PRW-WuJZdT4V.js +0 -165
- package/dist/client/assets/chunk-DI55MBZ5-D9m7DN2X.js +0 -220
- package/dist/client/assets/chunk-QN33PNHL-LCGRlTol.js +0 -1
- package/dist/client/assets/chunk-TZMSLE5B-CRj7NtCJ.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-B0aZiGuV.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-B0aZiGuV.js +0 -1
- package/dist/client/assets/clone-B5gXx5vB.js +0 -1
- package/dist/client/assets/dagre-6UL2VRFP-BdKW-bla.js +0 -4
- package/dist/client/assets/diagram-PSM6KHXK-BqzktuSU.js +0 -24
- package/dist/client/assets/diagram-QEK2KX5R-BWfqXwIz.js +0 -43
- package/dist/client/assets/diagram-S2PKOQOG-2KvZ2T20.js +0 -24
- package/dist/client/assets/erDiagram-Q2GNP2WA-Bb-ml-vo.js +0 -60
- package/dist/client/assets/flowDiagram-NV44I4VS-DfTePfi_.js +0 -162
- package/dist/client/assets/ganttDiagram-JELNMOA3-E9cpD5mM.js +0 -267
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-CG8IQYpk.js +0 -65
- package/dist/client/assets/graph-BvAulOKx.js +0 -1
- package/dist/client/assets/index-BTxPBkPC.css +0 -1
- package/dist/client/assets/index-CHEn0MlU.js +0 -436
- package/dist/client/assets/infoDiagram-HS3SLOUP-D2Mrepi5.js +0 -2
- package/dist/client/assets/journeyDiagram-XKPGCS4Q-ByoDAP6k.js +0 -139
- package/dist/client/assets/katex-DGN8GczM.js +0 -261
- package/dist/client/assets/layout-DoQvP08H.js +0 -1
- package/dist/client/assets/mindmap-definition-VGOIOE7T-ItndX5x1.js +0 -68
- package/dist/client/assets/mobile-baseline-COZl6kWC.js +0 -10
- package/dist/client/assets/pieDiagram-ADFJNKIX-COUPsPWX.js +0 -30
- package/dist/client/assets/requirementDiagram-UZGBJVZJ-BjQykeQP.js +0 -64
- package/dist/client/assets/sankeyDiagram-TZEHDZUN-D6wvKXkk.js +0 -10
- package/dist/client/assets/sequenceDiagram-WL72ISMW-C3rjLt-8.js +0 -145
- package/dist/client/assets/stateDiagram-FKZM4ZOC-Ci1F-Jdz.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-Du9KHzl8.js +0 -1
- package/dist/client/assets/timeline-definition-IT6M3QCI-DJ5XFU9R.js +0 -61
- package/dist/client/assets/treemap-GDKQZRPO-Dm2t2L1o.js +0 -160
- package/dist/client/assets/xychartDiagram-PRI3JC2R-DO5pUMKZ.js +0 -7
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { AutoIterationStatus } from '../../../../shared/core/index.js';
|
|
2
|
+
export interface AutoIterationConfig {
|
|
3
|
+
testCommand: string;
|
|
4
|
+
targetDescription: string;
|
|
5
|
+
maxIterations: number;
|
|
6
|
+
testTimeoutSeconds: number;
|
|
7
|
+
sessionRecycleInterval: number;
|
|
8
|
+
promptTimeoutSeconds?: number;
|
|
9
|
+
}
|
|
10
|
+
export type IterationPhase = 'baseline' | 'implementing' | 'measuring' | 'evaluating' | 'critiquing' | 'recycling' | 'idle';
|
|
11
|
+
export interface AutoIterationProgress {
|
|
12
|
+
currentIteration: number;
|
|
13
|
+
baselineMetricSummary: string;
|
|
14
|
+
currentMetricSummary: string;
|
|
15
|
+
acceptedCount: number;
|
|
16
|
+
rejectedRegressionCount: number;
|
|
17
|
+
rejectedCritiqueCount: number;
|
|
18
|
+
crashedCount: number;
|
|
19
|
+
sessionRecycleCount: number;
|
|
20
|
+
startedAt: string;
|
|
21
|
+
lastIterationAt: string | null;
|
|
22
|
+
currentPhase: IterationPhase;
|
|
23
|
+
lastTestOutput: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface AgentLogbookEntry {
|
|
26
|
+
iteration: number;
|
|
27
|
+
startedAt: string;
|
|
28
|
+
completedAt: string;
|
|
29
|
+
status: 'accepted' | 'rejected_regression' | 'rejected_critique' | 'crashed';
|
|
30
|
+
changeDescription: string;
|
|
31
|
+
commitSha: string;
|
|
32
|
+
commitReverted: boolean;
|
|
33
|
+
metricBefore: string;
|
|
34
|
+
metricAfter: string | null;
|
|
35
|
+
testOutput: string;
|
|
36
|
+
metricImproved: boolean | null;
|
|
37
|
+
crashError: string | null;
|
|
38
|
+
fixAttempts: number;
|
|
39
|
+
critiqueNotes: string | null;
|
|
40
|
+
critiqueApproved: boolean | null;
|
|
41
|
+
}
|
|
42
|
+
export interface AgentLogbook {
|
|
43
|
+
workspaceId: string;
|
|
44
|
+
config: AutoIterationConfig;
|
|
45
|
+
baseline: {
|
|
46
|
+
testOutput: string;
|
|
47
|
+
metricSummary: string;
|
|
48
|
+
evaluatedAt: string;
|
|
49
|
+
};
|
|
50
|
+
iterations: AgentLogbookEntry[];
|
|
51
|
+
}
|
|
52
|
+
export interface MetricEvaluation {
|
|
53
|
+
metricSummary: string;
|
|
54
|
+
improved: boolean;
|
|
55
|
+
targetReached: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface CritiqueResult {
|
|
58
|
+
approved: boolean;
|
|
59
|
+
notes: string;
|
|
60
|
+
}
|
|
61
|
+
export interface TestCommandResult {
|
|
62
|
+
stdout: string;
|
|
63
|
+
stderr: string;
|
|
64
|
+
exitCode: number;
|
|
65
|
+
timedOut: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface AutoIterationSnapshot {
|
|
68
|
+
status: AutoIterationStatus | null;
|
|
69
|
+
config: AutoIterationConfig | null;
|
|
70
|
+
progress: AutoIterationProgress | null;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=auto-iteration.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-iteration.types.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/auto-iteration.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,cAAc,GACd,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,MAAM,CAAC;AAGX,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,YAAY,EAAE,cAAc,CAAC;IAE7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAGD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAE7E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IAExB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAGD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-iteration.types.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/auto-iteration.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AutoIterationStatus } from '../../../../shared/core/index.js';
|
|
2
|
+
import type { AgentLogbook, AgentLogbookEntry, AutoIterationConfig, AutoIterationProgress } from './auto-iteration.types.js';
|
|
3
|
+
export interface AutoIterationSessionBridge {
|
|
4
|
+
startSession(workspaceId: string, opts: {
|
|
5
|
+
initialPrompt?: string;
|
|
6
|
+
startupModePreset?: 'non_interactive';
|
|
7
|
+
}): Promise<string>;
|
|
8
|
+
sendPrompt(sessionId: string, prompt: string, timeoutMs?: number): Promise<void>;
|
|
9
|
+
waitForIdle(sessionId: string): Promise<void>;
|
|
10
|
+
stopSession(sessionId: string): Promise<void>;
|
|
11
|
+
getLastAssistantMessage(sessionId: string): Promise<string>;
|
|
12
|
+
recycleSession(workspaceId: string, handoffPrompt: string): Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
export interface AutoIterationWorkspaceBridge {
|
|
15
|
+
getWorktreePath(workspaceId: string): Promise<string>;
|
|
16
|
+
updateAutoIterationStatus(workspaceId: string, status: AutoIterationStatus): Promise<void>;
|
|
17
|
+
updateAutoIterationProgress(workspaceId: string, progress: AutoIterationProgress): Promise<void>;
|
|
18
|
+
updateAutoIterationSessionId(workspaceId: string, sessionId: string | null): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface AutoIterationLogbookBridge {
|
|
21
|
+
initialize(worktreePath: string, workspaceId: string, config: AutoIterationConfig, baselineOutput: string, baselineMetricSummary: string): Promise<void>;
|
|
22
|
+
appendEntry(worktreePath: string, entry: AgentLogbookEntry): Promise<void>;
|
|
23
|
+
read(worktreePath: string): Promise<AgentLogbook | null>;
|
|
24
|
+
readStrategyFile(worktreePath: string): Promise<string | null>;
|
|
25
|
+
writeStrategyFile(worktreePath: string, content: string): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=bridges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/bridges.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,0BAA0B;IACzC,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;KAAE,GACtE,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7E;AAGD,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F;AAGD,MAAM,WAAW,0BAA0B;IACzC,UAAU,CACR,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEzD,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE/D,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/bridges.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function commitAll(worktreePath: string, message: string): Promise<string>;
|
|
2
|
+
export declare function amendHead(worktreePath: string): Promise<string>;
|
|
3
|
+
export declare function revertHead(worktreePath: string): Promise<void>;
|
|
4
|
+
export declare function getHeadDiff(worktreePath: string): Promise<string>;
|
|
5
|
+
export declare function discardUncommittedChanges(worktreePath: string): Promise<void>;
|
|
6
|
+
export declare function hasUncommittedChanges(worktreePath: string): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=git-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-ops.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/git-ops.ts"],"names":[],"mappings":"AAUA,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtF;AAGD,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOrE;AAGD,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAGD,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvE;AAGD,wBAAsB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnF;AAGD,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
const execFileAsync = promisify(execFile);
|
|
4
|
+
function git(worktreePath, args) {
|
|
5
|
+
return execFileAsync('git', args, { cwd: worktreePath, maxBuffer: 10 * 1024 * 1024 });
|
|
6
|
+
}
|
|
7
|
+
export async function commitAll(worktreePath, message) {
|
|
8
|
+
await git(worktreePath, ['add', '-A']);
|
|
9
|
+
await unstageLogbook(worktreePath);
|
|
10
|
+
await unstageInsights(worktreePath);
|
|
11
|
+
await git(worktreePath, ['commit', '-m', message, '--allow-empty']);
|
|
12
|
+
const { stdout } = await git(worktreePath, ['rev-parse', '--short', 'HEAD']);
|
|
13
|
+
return stdout.trim();
|
|
14
|
+
}
|
|
15
|
+
export async function amendHead(worktreePath) {
|
|
16
|
+
await git(worktreePath, ['add', '-A']);
|
|
17
|
+
await unstageLogbook(worktreePath);
|
|
18
|
+
await unstageInsights(worktreePath);
|
|
19
|
+
await git(worktreePath, ['commit', '--amend', '--no-edit']);
|
|
20
|
+
const { stdout } = await git(worktreePath, ['rev-parse', '--short', 'HEAD']);
|
|
21
|
+
return stdout.trim();
|
|
22
|
+
}
|
|
23
|
+
export async function revertHead(worktreePath) {
|
|
24
|
+
await git(worktreePath, ['revert', 'HEAD', '--no-edit']);
|
|
25
|
+
}
|
|
26
|
+
export async function getHeadDiff(worktreePath) {
|
|
27
|
+
const { stdout } = await git(worktreePath, ['show', '--format=', 'HEAD']);
|
|
28
|
+
return stdout;
|
|
29
|
+
}
|
|
30
|
+
export async function discardUncommittedChanges(worktreePath) {
|
|
31
|
+
await git(worktreePath, ['reset', '--hard', 'HEAD']);
|
|
32
|
+
await git(worktreePath, ['clean', '-fd']);
|
|
33
|
+
}
|
|
34
|
+
export async function hasUncommittedChanges(worktreePath) {
|
|
35
|
+
const { stdout } = await git(worktreePath, ['status', '--porcelain']);
|
|
36
|
+
return stdout.trim().length > 0;
|
|
37
|
+
}
|
|
38
|
+
const LOGBOOK_PATH = '.factory-factory/auto-iteration-logbook.json';
|
|
39
|
+
const INSIGHTS_PATH = '.factory-factory/auto-iteration-insights.md';
|
|
40
|
+
async function unstageLogbook(worktreePath) {
|
|
41
|
+
try {
|
|
42
|
+
await git(worktreePath, ['reset', 'HEAD', '--', LOGBOOK_PATH]);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
await git(worktreePath, ['rm', '--cached', '--ignore-unmatch', '--', LOGBOOK_PATH]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async function unstageInsights(worktreePath) {
|
|
49
|
+
try {
|
|
50
|
+
await git(worktreePath, ['reset', 'HEAD', '--', INSIGHTS_PATH]);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
await git(worktreePath, ['rm', '--cached', '--ignore-unmatch', '--', INSIGHTS_PATH]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=git-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-ops.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/git-ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,SAAS,GAAG,CAAC,YAAoB,EAAE,IAAc;IAC/C,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;AACxF,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB,EAAE,OAAe;IACnE,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB;IAClD,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,YAAoB;IACnD,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAC3D,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,YAAoB;IAClE,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,YAAoB;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,YAAY,GAAG,8CAA8C,CAAC;AACpE,MAAM,aAAa,GAAG,6CAA6C,CAAC;AAGpE,KAAK,UAAU,cAAc,CAAC,YAAoB;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QAGP,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAGD,KAAK,UAAU,eAAe,CAAC,YAAoB;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IACvF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AutoIterationService } from './auto-iteration.service.js';
|
|
2
|
+
export type { AgentLogbook, AgentLogbookEntry, AutoIterationConfig, AutoIterationProgress, AutoIterationSnapshot, CritiqueResult, IterationPhase, MetricEvaluation, TestCommandResult, } from './auto-iteration.types.js';
|
|
3
|
+
export type { AutoIterationLogbookBridge, AutoIterationSessionBridge, AutoIterationWorkspaceBridge, } from './bridges.js';
|
|
4
|
+
export { insightsService } from './insights.service.js';
|
|
5
|
+
export { logbookService } from './logbook.service.js';
|
|
6
|
+
export { AutoIterationService };
|
|
7
|
+
export declare const autoIterationService: AutoIterationService;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,eAAO,MAAM,oBAAoB,sBAA2D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createLogger } from '../../../../backend/services/logger.service.js';
|
|
2
|
+
import { AutoIterationService } from './auto-iteration.service.js';
|
|
3
|
+
export { insightsService } from './insights.service.js';
|
|
4
|
+
export { logbookService } from './logbook.service.js';
|
|
5
|
+
export { AutoIterationService };
|
|
6
|
+
export const autoIterationService = new AutoIterationService(createLogger('auto-iteration'));
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAqBhE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function getInsightsPath(worktreePath: string): string;
|
|
2
|
+
export declare class InsightsService {
|
|
3
|
+
initialize(worktreePath: string): Promise<void>;
|
|
4
|
+
read(worktreePath: string): Promise<string | null>;
|
|
5
|
+
write(worktreePath: string, content: string): Promise<void>;
|
|
6
|
+
getOpenContent(worktreePath: string): Promise<string | null>;
|
|
7
|
+
}
|
|
8
|
+
export declare const insightsService: InsightsService;
|
|
9
|
+
//# sourceMappingURL=insights.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insights.service.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/insights.service.ts"],"names":[],"mappings":"AASA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,qBAAa,eAAe;IAKpB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/C,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAalD,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAqCnE;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
const INSIGHTS_DIR = '.factory-factory';
|
|
4
|
+
const INSIGHTS_FILENAME = 'auto-iteration-insights.md';
|
|
5
|
+
const INJECTION_CHAR_LIMIT = 8000;
|
|
6
|
+
export function getInsightsPath(worktreePath) {
|
|
7
|
+
return path.join(worktreePath, INSIGHTS_DIR, INSIGHTS_FILENAME);
|
|
8
|
+
}
|
|
9
|
+
export class InsightsService {
|
|
10
|
+
async initialize(worktreePath) {
|
|
11
|
+
const filePath = getInsightsPath(worktreePath);
|
|
12
|
+
const dir = path.dirname(filePath);
|
|
13
|
+
await fs.mkdir(dir, { recursive: true });
|
|
14
|
+
try {
|
|
15
|
+
await fs.access(filePath);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
await fs.writeFile(filePath, '# Auto-Iteration Insights\n\n<!-- Add ideas, hypotheses, deferred approaches, or observations here.\n Tag entries with [open], [resolved], or [obsolete]. Untagged entries are treated as [open]. -->\n', 'utf-8');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async read(worktreePath) {
|
|
22
|
+
const filePath = getInsightsPath(worktreePath);
|
|
23
|
+
try {
|
|
24
|
+
return await fs.readFile(filePath, 'utf-8');
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
if (err.code === 'ENOENT') {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async write(worktreePath, content) {
|
|
34
|
+
const filePath = getInsightsPath(worktreePath);
|
|
35
|
+
const dir = path.dirname(filePath);
|
|
36
|
+
await fs.mkdir(dir, { recursive: true });
|
|
37
|
+
await fs.writeFile(filePath, content, 'utf-8');
|
|
38
|
+
}
|
|
39
|
+
async getOpenContent(worktreePath) {
|
|
40
|
+
const raw = await this.read(worktreePath);
|
|
41
|
+
if (!raw) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const paragraphs = raw.split(/\n{2,}/);
|
|
45
|
+
const open = paragraphs.filter((p) => {
|
|
46
|
+
let withoutComments = p;
|
|
47
|
+
let prev;
|
|
48
|
+
do {
|
|
49
|
+
prev = withoutComments;
|
|
50
|
+
withoutComments = withoutComments.replace(/<!--[\s\S]*?-->/g, '');
|
|
51
|
+
} while (withoutComments !== prev);
|
|
52
|
+
const lower = withoutComments.toLowerCase();
|
|
53
|
+
return !(lower.includes('[resolved]') || lower.includes('[obsolete]'));
|
|
54
|
+
});
|
|
55
|
+
const filtered = open.join('\n\n').trim();
|
|
56
|
+
if (!filtered || (filtered.startsWith('#') && filtered.split('\n').length <= 2)) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
if (filtered.length <= INJECTION_CHAR_LIMIT) {
|
|
60
|
+
return filtered;
|
|
61
|
+
}
|
|
62
|
+
const prefix = '... (earlier entries truncated)\n\n';
|
|
63
|
+
return `${prefix}${filtered.slice(-(INJECTION_CHAR_LIMIT - prefix.length))}`;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export const insightsService = new InsightsService();
|
|
67
|
+
//# sourceMappingURL=insights.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insights.service.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/insights.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAGvD,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,OAAO,eAAe;IAK1B,KAAK,CAAC,UAAU,CAAC,YAAoB;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YAEP,MAAM,EAAE,CAAC,SAAS,CAChB,QAAQ,EACR,6MAA6M,EAC7M,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,YAAoB;QAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,KAAK,CAAC,YAAoB,EAAE,OAAe;QAC/C,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAMD,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAKD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAGnC,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,IAAY,CAAC;YACjB,GAAG,CAAC;gBACF,IAAI,GAAG,eAAe,CAAC;gBACvB,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC,QAAQ,eAAe,KAAK,IAAI,EAAE;YACnC,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;YAEhF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAGD,MAAM,MAAM,GAAG,qCAAqC,CAAC;QACrD,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentLogbook, AgentLogbookEntry, AutoIterationConfig } from './auto-iteration.types.js';
|
|
2
|
+
export declare class LogbookService {
|
|
3
|
+
initialize(worktreePath: string, workspaceId: string, config: AutoIterationConfig, baselineOutput: string, baselineMetricSummary: string): Promise<void>;
|
|
4
|
+
appendEntry(worktreePath: string, entry: AgentLogbookEntry): Promise<void>;
|
|
5
|
+
read(worktreePath: string): Promise<AgentLogbook | null>;
|
|
6
|
+
readStrategyFile(worktreePath: string): Promise<string | null>;
|
|
7
|
+
writeStrategyFile(worktreePath: string, content: string): Promise<void>;
|
|
8
|
+
private write;
|
|
9
|
+
}
|
|
10
|
+
export declare const logbookService: LogbookService;
|
|
11
|
+
//# sourceMappingURL=logbook.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logbook.service.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/logbook.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAUnG,qBAAa,cAAc;IAEnB,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAeV,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1E,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAwBxD,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa9D,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAc/D,KAAK;CASpB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as crypto from 'node:crypto';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
const LOGBOOK_DIR = '.factory-factory';
|
|
5
|
+
const LOGBOOK_FILENAME = 'auto-iteration-logbook.json';
|
|
6
|
+
const STRATEGY_FILENAME = 'auto-iteration-strategy.md';
|
|
7
|
+
function getLogbookPath(worktreePath) {
|
|
8
|
+
return path.join(worktreePath, LOGBOOK_DIR, LOGBOOK_FILENAME);
|
|
9
|
+
}
|
|
10
|
+
export class LogbookService {
|
|
11
|
+
async initialize(worktreePath, workspaceId, config, baselineOutput, baselineMetricSummary) {
|
|
12
|
+
const logbook = {
|
|
13
|
+
workspaceId,
|
|
14
|
+
config,
|
|
15
|
+
baseline: {
|
|
16
|
+
testOutput: baselineOutput,
|
|
17
|
+
metricSummary: baselineMetricSummary,
|
|
18
|
+
evaluatedAt: new Date().toISOString(),
|
|
19
|
+
},
|
|
20
|
+
iterations: [],
|
|
21
|
+
};
|
|
22
|
+
await this.write(worktreePath, logbook);
|
|
23
|
+
}
|
|
24
|
+
async appendEntry(worktreePath, entry) {
|
|
25
|
+
const logbook = await this.read(worktreePath);
|
|
26
|
+
if (!logbook) {
|
|
27
|
+
throw new Error('Logbook not found — was it initialized?');
|
|
28
|
+
}
|
|
29
|
+
logbook.iterations.push(entry);
|
|
30
|
+
await this.write(worktreePath, logbook);
|
|
31
|
+
}
|
|
32
|
+
async read(worktreePath) {
|
|
33
|
+
const filePath = getLogbookPath(worktreePath);
|
|
34
|
+
try {
|
|
35
|
+
const raw = await fs.readFile(filePath, 'utf-8');
|
|
36
|
+
const parsed = JSON.parse(raw);
|
|
37
|
+
if (typeof parsed !== 'object' ||
|
|
38
|
+
parsed === null ||
|
|
39
|
+
typeof parsed.workspaceId !== 'string' ||
|
|
40
|
+
!Array.isArray(parsed.iterations)) {
|
|
41
|
+
throw new Error(`Invalid logbook structure in ${filePath}`);
|
|
42
|
+
}
|
|
43
|
+
return parsed;
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
if (err.code === 'ENOENT') {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
throw err;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async readStrategyFile(worktreePath) {
|
|
53
|
+
const filePath = path.join(worktreePath, LOGBOOK_DIR, STRATEGY_FILENAME);
|
|
54
|
+
try {
|
|
55
|
+
return await fs.readFile(filePath, 'utf-8');
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
if (err.code === 'ENOENT') {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
throw err;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async writeStrategyFile(worktreePath, content) {
|
|
65
|
+
const filePath = path.join(worktreePath, LOGBOOK_DIR, STRATEGY_FILENAME);
|
|
66
|
+
const dir = path.dirname(filePath);
|
|
67
|
+
await fs.mkdir(dir, { recursive: true });
|
|
68
|
+
try {
|
|
69
|
+
await fs.writeFile(filePath, content, { flag: 'wx' });
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
if (err.code === 'EEXIST') {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
throw err;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async write(worktreePath, logbook) {
|
|
79
|
+
const filePath = getLogbookPath(worktreePath);
|
|
80
|
+
const dir = path.dirname(filePath);
|
|
81
|
+
await fs.mkdir(dir, { recursive: true });
|
|
82
|
+
const tmpPath = `${filePath}.${Date.now()}.${crypto.randomBytes(4).toString('hex')}.tmp`;
|
|
83
|
+
await fs.writeFile(tmpPath, JSON.stringify(logbook, null, 2), 'utf-8');
|
|
84
|
+
await fs.rename(tmpPath, filePath);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export const logbookService = new LogbookService();
|
|
88
|
+
//# sourceMappingURL=logbook.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logbook.service.js","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/logbook.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AgentLogbookEntry, AutoIterationConfig, AutoIterationProgress } from './auto-iteration.types.js';
|
|
2
|
+
export declare function buildSystemPrompt(config: AutoIterationConfig, insightsContent?: string | null): string;
|
|
3
|
+
export declare function buildImplementPrompt(currentMetricSummary: string, targetDescription: string, truncatedTestOutput: string, strategyContent?: string | null): string;
|
|
4
|
+
export declare function buildMeasurePrompt(truncatedTestOutput: string, previousMetricSummary: string): string;
|
|
5
|
+
export declare function buildCrashFixPrompt(truncatedErrorOutput: string, attemptNumber: number): string;
|
|
6
|
+
export declare function buildCritiquePrompt(gitDiff: string): string;
|
|
7
|
+
export declare function buildCreatePrPrompt(config: AutoIterationConfig, progress: AutoIterationProgress, status: string): string;
|
|
8
|
+
export declare function buildStrategyFileTemplate(config: AutoIterationConfig): string;
|
|
9
|
+
export declare function buildHandoffPrompt(config: AutoIterationConfig, entries: AgentLogbookEntry[], currentMetricSummary: string, insightsContent?: string | null): string;
|
|
10
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/services/auto-iteration/service/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAUhC,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CAoDR;AAED,wBAAgB,oBAAoB,CAClC,oBAAoB,EAAE,MAAM,EAC5B,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CAiBR;AAED,wBAAgB,kBAAkB,CAChC,mBAAmB,EAAE,MAAM,EAC3B,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAeR;AAED,wBAAgB,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAS/F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoB3D;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,MAAM,GACb,MAAM,CAqBR;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAc7E;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,oBAAoB,EAAE,MAAM,EAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CA2CR"}
|