forge-openclaw-plugin 0.3.15 → 0.3.17
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.md +6 -6
- package/dist/assets/{action-bar-B9MYlps2.js → action-bar-D3CEYlj4.js} +1 -1
- package/dist/assets/{activity-page-DbzbChcE.js → activity-page-Ce1pHIu5.js} +1 -1
- package/dist/assets/{ai-surface-workspace-CF0257Hs.js → ai-surface-workspace-DEliwOjF.js} +1 -1
- package/dist/assets/artifacts-page-BgyFVIVM.js +2 -0
- package/dist/assets/{atlas-panel-CO3RYAKn.js → atlas-panel-VZOnJa1c.js} +1 -1
- package/dist/assets/{board-CuxQRKPJ.js → board-DprRipIG.js} +1 -1
- package/dist/assets/{calendar-page-BuuHKEHC.js → calendar-page-Zstsn4uG.js} +1 -1
- package/dist/assets/{calendar-rules-DKftgNx5.js → calendar-rules-BGIBuEDk.js} +1 -1
- package/dist/assets/{calendar-week-toolbar-ChIpkT-G.js → calendar-week-toolbar-DXFkMkbq.js} +1 -1
- package/dist/assets/{charts-BzT4pUPg.js → charts-C5S0-BL7.js} +1 -1
- package/dist/assets/{companion-sync-lab-page-BZRX4Btw.js → companion-sync-lab-page-DIPPLFKt.js} +1 -1
- package/dist/assets/{daily-metrics-dashboard-CXDsaAQd.js → daily-metrics-dashboard-CG-OOCJz.js} +1 -1
- package/dist/assets/{define-workbench-box-CpG0Zb1L.js → define-workbench-box-BEEdtBkQ.js} +1 -1
- package/dist/assets/{entity-link-multiselect-Dl4rZqdg.js → entity-link-multiselect-BfDAROHB.js} +1 -1
- package/dist/assets/{entity-note-count-link-Bs1aKYyD.js → entity-note-count-link-BGOiaash.js} +1 -1
- package/dist/assets/{entity-notes-surface-B56XSw7M.js → entity-notes-surface-DPsJwqQa.js} +1 -1
- package/dist/assets/execution-board-Dg-2GSKv.js +1 -0
- package/dist/assets/{faceted-token-search-Dg2rjknH.js → faceted-token-search-DV7MSVYb.js} +1 -1
- package/dist/assets/{flagship-signal-deck-C6KVPhmM.js → flagship-signal-deck-D3wVL3bC.js} +1 -1
- package/dist/assets/{floating-action-menu-DAFAEBcA.js → floating-action-menu-BUs382px.js} +1 -1
- package/dist/assets/{forms-D1qJ3oOP.js → forms-ByKjodjN.js} +1 -1
- package/dist/assets/{generic-node-view-C6DK5hJ6.js → generic-node-view-BY5dbPXJ.js} +1 -1
- package/dist/assets/{goal-detail-page-CC4VXud6.js → goal-detail-page-MYr6j2B4.js} +1 -1
- package/dist/assets/{goal-dialog-15hD8EBp.js → goal-dialog-nkdME5Uy.js} +1 -1
- package/dist/assets/goals-page-BsFeBzU1.js +1 -0
- package/dist/assets/{graph-BF4IsheG.js → graph-CHVj0Z7n.js} +1 -1
- package/dist/assets/habits-page-wO461EVU.js +1 -0
- package/dist/assets/{health-boxes-DqgvIYoL.js → health-boxes-BphMeSJj.js} +1 -1
- package/dist/assets/index-CSd8ylsy.css +1 -0
- package/dist/assets/index-gmPaoLN-.js +2 -0
- package/dist/assets/{inline-note-fields-COgzxr_7.js → inline-note-fields-BvQwmMAv.js} +1 -1
- package/dist/assets/{insight-flow-dialog-Dmb6NSGp.js → insight-flow-dialog-H_eaOmst.js} +1 -1
- package/dist/assets/{insights-page-OnqR4cYI.js → insights-page-DINYe3cB.js} +3 -3
- package/dist/assets/{kanban-boxes-BWUzntCV.js → kanban-boxes-oACOTDYG.js} +1 -1
- package/dist/assets/{kanban-page-BI16Gzp_.js → kanban-page-BGLXH91f.js} +1 -1
- package/dist/assets/knowledge-graph-page-VfMvw5jL.js +1 -0
- package/dist/assets/{life-force-page-CDEXEQai.js → life-force-page-DQPb6UL-.js} +1 -1
- package/dist/assets/{life-force-workspace-C7UOnJEf.js → life-force-workspace-BJ1aI3JE.js} +1 -1
- package/dist/assets/{maps-BTVHALP8.js → maps-CvEHVkBk.js} +1 -1
- package/dist/assets/{metric-tile-boeHB1R1.js → metric-tile-CbEe19Gd.js} +1 -1
- package/dist/assets/{motion-DcgUnXhY.js → motion-BibSzp57.js} +1 -1
- package/dist/assets/{movement-boxes-BUSqaTL2.js → movement-boxes-dtDYhw5c.js} +1 -1
- package/dist/assets/{movement-page-DcbO0497.js → movement-page-BhmwCHjs.js} +1 -1
- package/dist/assets/{note-markdown-DXXI3W3V.js → note-markdown-CG8u2d6p.js} +1 -1
- package/dist/assets/{note-tags-input-CYh3TVW2.js → note-tags-input-D_conqDO.js} +1 -1
- package/dist/assets/{notes-boxes-CMJXX2K0.js → notes-boxes-BLKucFqW.js} +1 -1
- package/dist/assets/notes-page-CafVxWjb.js +1 -0
- package/dist/assets/{open-in-graph-button-4UYrp1XP.js → open-in-graph-button-DFQ4r6SN.js} +1 -1
- package/dist/assets/{orbit-map-BwK7sDaC.js → orbit-map-DsEl3ori.js} +1 -1
- package/dist/assets/overview-page-BffcX-pM.js +1 -0
- package/dist/assets/page-hero-U603l9rQ.js +1 -0
- package/dist/assets/pill-cluster-BYVFNppV.js +1 -0
- package/dist/assets/{preference-entity-handoff-button-C2ATjvws.js → preference-entity-handoff-button-cPrTpHsV.js} +1 -1
- package/dist/assets/{preferences-page-BAexXHye.js → preferences-page-DQjFIOmt.js} +1 -1
- package/dist/assets/{project-collections-B9nr-Ts-.js → project-collections-B9OGHGqm.js} +1 -1
- package/dist/assets/project-detail-page-r1Sw2kcO.js +1 -0
- package/dist/assets/{project-dialog-CBA-D65n.js → project-dialog-B2_PcXAf.js} +1 -1
- package/dist/assets/project-management-hierarchy-page-qLNG8hsh.js +1 -0
- package/dist/assets/{project-management-section-nav-DJ3QKCtr.js → project-management-section-nav-DFUlmMEB.js} +1 -1
- package/dist/assets/{projects-boxes-iBu_PRqe.js → projects-boxes-BA7_XaqX.js} +1 -1
- package/dist/assets/projects-page-B6ggXWFw.js +1 -0
- package/dist/assets/psyche-behaviors-page-ByWpXlLq.js +5 -0
- package/dist/assets/{psyche-flashcards-page-DQaw_vUQ.js → psyche-flashcards-page-B9nSc0mk.js} +1 -1
- package/dist/assets/{psyche-goal-map-page-C-ZTVOEP.js → psyche-goal-map-page-BQU7qI88.js} +1 -1
- package/dist/assets/{psyche-graph-DYzeClxn.js → psyche-graph-DCeP7r2b.js} +1 -1
- package/dist/assets/{psyche-metrics-page-C9hKn10A.js → psyche-metrics-page-DD2lOP-J.js} +1 -1
- package/dist/assets/psyche-mode-guide-page-DbtZgnjr.js +1 -0
- package/dist/assets/psyche-modes-page-3zFJWFQf.js +1 -0
- package/dist/assets/psyche-page-D5vXYkfB.js +1 -0
- package/dist/assets/psyche-patterns-page-BneAAeKS.js +5 -0
- package/dist/assets/{psyche-questionnaire-builder-page-gRwdGXde.js → psyche-questionnaire-builder-page-BH1la5C9.js} +1 -1
- package/dist/assets/{psyche-questionnaire-detail-page-CIP9b2UI.js → psyche-questionnaire-detail-page-DYav634P.js} +1 -1
- package/dist/assets/psyche-questionnaire-run-detail-page-9VaijhJm.js +1 -0
- package/dist/assets/{psyche-questionnaire-run-page-CXiJyd5i.js → psyche-questionnaire-run-page-e1T6k_dS.js} +1 -1
- package/dist/assets/{psyche-questionnaires-page-CFPKwA3O.js → psyche-questionnaires-page-Dyv367z9.js} +1 -1
- package/dist/assets/{psyche-report-detail-page-dU30a2WE.js → psyche-report-detail-page-hqxHIXw2.js} +3 -3
- package/dist/assets/psyche-reports-page-DhIfcGbt.js +1 -0
- package/dist/assets/{psyche-schemas-DDol0j-g.js → psyche-schemas-Cg51Ztxz.js} +1 -1
- package/dist/assets/psyche-schemas-beliefs-page-Dgb5o9vx.js +9 -0
- package/dist/assets/{psyche-screen-time-page-lIe6GQxJ.js → psyche-screen-time-page-D6MnJGNa.js} +1 -1
- package/dist/assets/{psyche-self-observation-page-BTE3KfIl.js → psyche-self-observation-page-C1Vyezbv.js} +1 -1
- package/dist/assets/{psyche-values-page-DclBZ9xw.js → psyche-values-page-B_JWVw1Q.js} +2 -2
- package/dist/assets/{question-flow-dialog-Ded2E85L.js → question-flow-dialog-yMYVk998.js} +2 -2
- package/dist/assets/{report-chain-fields-DY640iqL.js → report-chain-fields-D4NM9a6I.js} +1 -1
- package/dist/assets/rewards-page-B5-bcL4R.js +1 -0
- package/dist/assets/{scheduling-rules-editor-jakFfxqF.js → scheduling-rules-editor-De72IUax.js} +1 -1
- package/dist/assets/{schema-badge-30B5syHA.js → schema-badge-jX28kUa6.js} +1 -1
- package/dist/assets/{schemas-Db29G8NU.js → schemas-BlFy-uPR.js} +1 -1
- package/dist/assets/{select-menu-BF2zI3RW.js → select-menu-BXv1rsVc.js} +1 -1
- package/dist/assets/{settings-agents-page-Bh-Bv6FQ.js → settings-agents-page-DN_np10S.js} +1 -1
- package/dist/assets/settings-bin-page-BM5BpK_i.js +1 -0
- package/dist/assets/{settings-calendar-page-BA4_Qqiu.js → settings-calendar-page-Cg0gSSFs.js} +3 -3
- package/dist/assets/{settings-data-page-K4kpmQJY.js → settings-data-page-Dwmp2rLy.js} +1 -1
- package/dist/assets/{settings-logs-page-DkuNPAZo.js → settings-logs-page-DQNM21Re.js} +1 -1
- package/dist/assets/{settings-mobile-page-4pCNwD91.js → settings-mobile-page-DQdiRa-a.js} +1 -1
- package/dist/assets/settings-models-page-CAEPpuHF.js +1 -0
- package/dist/assets/{settings-page-B_Be0vOY.js → settings-page-Cl2KiCFg.js} +1 -1
- package/dist/assets/{settings-rewards-page-C6nFTWJu.js → settings-rewards-page-DoIUumhe.js} +1 -1
- package/dist/assets/{settings-section-nav-Lo-VKCfZ.js → settings-section-nav-D_N87IG0.js} +1 -1
- package/dist/assets/{settings-users-page-CVzNp4-m.js → settings-users-page-CPesR62N.js} +1 -1
- package/dist/assets/{settings-wiki-page-DXM--7BB.js → settings-wiki-page-BxMQM5Vi.js} +1 -1
- package/dist/assets/{sleep-page-DvPdZMKx.js → sleep-page-DUYmQKrg.js} +1 -1
- package/dist/assets/{sports-page-DjuZlOur.js → sports-page-Bzi5TF9T.js} +1 -1
- package/dist/assets/{state-Bpe5dF3T.js → state-BFyKSULP.js} +1 -1
- package/dist/assets/{strategies-page-PE1IlatS.js → strategies-page-C-T2MZx4.js} +1 -1
- package/dist/assets/{strategy-detail-page-C4KiEGCI.js → strategy-detail-page-3tYuSZu-.js} +1 -1
- package/dist/assets/{strategy-dialog-Cwf7Y3P5.js → strategy-dialog-BWm4slo4.js} +1 -1
- package/dist/assets/{surface-ubuOfukq.js → surface-BJObZeRw.js} +1 -1
- package/dist/assets/{table-U7otr5go.js → table-CTLroJKN.js} +1 -1
- package/dist/assets/task-detail-page-ZZOXSpSF.js +1 -0
- package/dist/assets/{task-dialog-CI_Fy_FW.js → task-dialog-2wy0xI7f.js} +5 -5
- package/dist/assets/timebox-planning-dialog-C6h0Hp71.js +1 -0
- package/dist/assets/{today-boxes-CYuxSkZf.js → today-boxes-B_TdgSDz.js} +1 -1
- package/dist/assets/today-page-Dipns9tl.js +1 -0
- package/dist/assets/training-load-page-B78e1-o-.js +1 -0
- package/dist/assets/{ui-B9TWEtCx.js → ui-uo_bNP7c.js} +1 -1
- package/dist/assets/{use-anchored-overlay-position-BY4kNzPj.js → use-anchored-overlay-position-BSxFX6Hi.js} +1 -1
- package/dist/assets/{use-psyche-focus-target-BhNedCZB.js → use-psyche-focus-target-1GLkhYiv.js} +1 -1
- package/dist/assets/{user-badge-ByhC6bMU.js → user-badge-C4eZu1e_.js} +1 -1
- package/dist/assets/{user-select-field-fx129Uh6.js → user-select-field-CmKwcbZt.js} +1 -1
- package/dist/assets/{utility-widgets-ilORjDmg.js → utility-widgets-B06wQFrd.js} +2 -2
- package/dist/assets/{vendor-BwL6m4SE.js → vendor-B7FKSwHK.js} +222 -212
- package/dist/assets/{vitals-page-mdEqIm_9.js → vitals-page-BC7QFsm2.js} +1 -1
- package/dist/assets/{weekly-review-page-C8W-yg5r.js → weekly-review-page-BjNsNoWj.js} +1 -1
- package/dist/assets/{weight-loss-page-BApTknCn.js → weight-loss-page-BOahGY9r.js} +1 -1
- package/dist/assets/{wiki-article-markdown-DBccllQg.js → wiki-article-markdown-DO47HnZf.js} +2 -2
- package/dist/assets/{wiki-editor-page-BfRfH1O3.js → wiki-editor-page-OWRUHl4O.js} +5 -5
- package/dist/assets/{wiki-ingest-history-page-C-6H3MU6.js → wiki-ingest-history-page-CuHpg2lZ.js} +1 -1
- package/dist/assets/{wiki-ingest-modal-DnlhByD_.js → wiki-ingest-modal-EZ3kX-vA.js} +1 -1
- package/dist/assets/wiki-page-BPV3HIgu.js +1 -0
- package/dist/assets/{workbench-flow-page-_-NKIx5R.js → workbench-flow-page-C53KueEz.js} +3 -3
- package/dist/assets/{workbench-page-NIAzggwX.js → workbench-page-DJ7nT2JQ.js} +1 -1
- package/dist/assets/workout-detail-page-Dhyu0q7o.js +2 -0
- package/dist/index.html +8 -8
- package/dist/openclaw/api-client.js +28 -2
- package/dist/openclaw/local-runtime.js +31 -14
- package/dist/openclaw/parity.d.ts +1 -1
- package/dist/openclaw/parity.js +10 -0
- package/dist/openclaw/routes.js +78 -0
- package/dist/openclaw/tools.js +42 -0
- package/dist/server/apps/api/migrations/072_artifact_store.sql +106 -0
- package/dist/server/{server → apps/api}/src/app.js +365 -4
- package/dist/server/{server → apps/api}/src/connectors/box-registry.js +3 -3
- package/dist/server/{server → apps/api}/src/db.js +23 -4
- package/dist/server/{server → apps/api}/src/health-weight-loss.js +1 -1
- package/dist/server/{server → apps/api}/src/openapi.js +570 -1
- package/dist/server/{server → apps/api}/src/questionnaire-seeds.js +1 -1
- package/dist/server/{server → apps/api}/src/repositories/ai-connectors.js +1 -1
- package/dist/server/apps/api/src/repositories/entity-links.js +66 -0
- package/dist/server/{server → apps/api}/src/repositories/habits.js +1 -1
- package/dist/server/apps/api/src/services/artifacts.js +1059 -0
- package/dist/server/{server → apps/api}/src/services/companion-iroh.js +4 -1
- package/dist/server/{server → apps/api}/src/services/doctor.js +3 -3
- package/dist/server/{server → apps/api}/src/services/entity-crud.js +22 -0
- package/dist/server/{server → apps/api}/src/services/gamification-assets.js +1 -1
- package/dist/server/{server → apps/api}/src/services/gamification.js +1 -1
- package/dist/server/{server → apps/api}/src/services/knowledge-graph.js +48 -3
- package/dist/server/{server → apps/api}/src/services/psyche-observation-calendar.js +1 -0
- package/dist/server/{server → apps/api}/src/types.js +4 -2
- package/dist/server/{server → apps/api}/src/watch-mobile.js +1 -1
- package/dist/server/{src → apps/web/src}/lib/api.js +69 -0
- package/dist/server/{src → apps/web/src}/lib/entity-visuals.js +10 -1
- package/dist/server/{src → apps/web/src}/lib/knowledge-graph-types.js +9 -0
- package/openclaw.plugin.json +2 -1
- package/package.json +3 -3
- package/server/index.js +3 -3
- package/server/migrations/072_artifact_store.sql +106 -0
- package/skills/forge-openclaw/SKILL.md +60 -7
- package/skills/forge-openclaw/entity_conversation_playbooks.md +212 -14
- package/skills/forge-openclaw/psyche_entity_playbooks.md +20 -0
- package/dist/assets/execution-board-D66C_ikW.js +0 -1
- package/dist/assets/goals-page-CQ2lJMzI.js +0 -1
- package/dist/assets/habits-page-a7KVPaQp.js +0 -1
- package/dist/assets/index-ClJbJhca.css +0 -1
- package/dist/assets/index-FpGANF9S.js +0 -2
- package/dist/assets/knowledge-graph-page-DxEBaEke.js +0 -1
- package/dist/assets/notes-page-DvHMcQey.js +0 -1
- package/dist/assets/overview-page-Z5vaUTm3.js +0 -1
- package/dist/assets/page-hero-DvrM83_C.js +0 -1
- package/dist/assets/pill-cluster-DYI3Ibj8.js +0 -1
- package/dist/assets/project-detail-page-B9PqyPu9.js +0 -1
- package/dist/assets/project-management-hierarchy-page-DXK14jn0.js +0 -1
- package/dist/assets/projects-page-CdAk-ByT.js +0 -1
- package/dist/assets/psyche-behaviors-page-CbhhTfU2.js +0 -5
- package/dist/assets/psyche-mode-guide-page-CR8e984W.js +0 -1
- package/dist/assets/psyche-modes-page-lQdpAcY3.js +0 -1
- package/dist/assets/psyche-page-CTdIDkw9.js +0 -1
- package/dist/assets/psyche-patterns-page-Drgm-f7I.js +0 -5
- package/dist/assets/psyche-questionnaire-run-detail-page-SYndwtF3.js +0 -1
- package/dist/assets/psyche-reports-page-Cn0EBndy.js +0 -1
- package/dist/assets/psyche-schemas-beliefs-page-Bab4xSWv.js +0 -9
- package/dist/assets/rewards-page-FxUXB76B.js +0 -1
- package/dist/assets/settings-bin-page-DT8JJero.js +0 -1
- package/dist/assets/settings-models-page-CZHG3t7W.js +0 -1
- package/dist/assets/task-detail-page-B3SMFZQ3.js +0 -1
- package/dist/assets/timebox-planning-dialog-BtFuVoA1.js +0 -1
- package/dist/assets/today-page-CHGpLEZ3.js +0 -1
- package/dist/assets/training-load-page-GZJF-Yy5.js +0 -1
- package/dist/assets/wiki-page-DPZ55e3x.js +0 -1
- package/dist/assets/workout-detail-page-3fxr6HL4.js +0 -2
- /package/dist/server/{server → apps/api}/migrations/001_core.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/002_psyche.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/003_habits.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/004_habit_links.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/005_habit_psyche_links.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/006_work_adjustments.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/007_weekly_review_closures.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/008_calendar_execution.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/009_true_calendar_events.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/010_calendar_selection_state.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/011_calendar_timezone_backfill.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/012_work_block_ranges.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/013_microsoft_local_auth_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/014_note_tags_and_ephemeral.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/015_multi_user_and_strategies.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/016_health_companion.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/016_strategy_contracts_and_user_graph.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/017_preferences.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/018_preference_catalogs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/019_wiki_memory.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/020_wiki_page_hierarchy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/021_hide_evidence_from_wiki_index.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/022_wiki_ingest_background.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/023_diagnostic_logs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/024_questionnaires.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/025_ai_model_connections.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/026_custom_theme_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/027_ai_processors.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/028_movement_domain.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/029_watch_micro_capture.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/030_surface_layouts.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/031_ai_processor_runtime_upgrades.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/032_ai_connectors.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/033_movement_trip_point_sync.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/034_movement_segment_sync.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/035_google_local_auth_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/036_google_local_auth_client_secret.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/037_workbench_public_inputs_and_run_inputs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/038_data_management_settings.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/039_life_force_and_action_points.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/040_screen_time_domain.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/041_companion_source_states.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/042_movement_boxes.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/043_movement_box_overlap_overrides.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/044_macos_local_calendar_provider.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/045_sleep_nights_and_raw_segments.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/046_work_item_hierarchy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/047_sleep_source_records.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/048_task_run_git_context.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/049_agent_runtime_sessions.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/050_agent_token_bootstrap_policy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/051_agent_token_scope_policy.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/052_agent_identity_tightening.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/053_agent_runtime_session_canonical_labels.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/054_sqlite_backed_wiki_memory.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/055_gamification_progression.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/056_gamification_equipment.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/057_gamification_catalog_cleanup.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/058_gamification_theme_preference.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/059_data_backup_retention.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/060_psyche_devrage_metrics.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/061_health_workout_raw_evidence.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/062_health_mobile_sync_sessions.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/063_psyche_flashcards.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/064_health_workout_time_series_identity.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/065_weight_loss_nutrition_insights.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/066_watch_action_receipts.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/067_weight_loss_daily_active_overrides.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/068_remove_generated_movement_wiki_logs.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/069_psyche_devrage_cumulative_rage.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/070_health_mobile_sync_completion_index.sql +0 -0
- /package/dist/server/{server → apps/api}/migrations/071_agent_runtime_claude_identity.sql +0 -0
- /package/dist/server/{server → apps/api}/src/data-management-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/debug.js +0 -0
- /package/dist/server/{server → apps/api}/src/demo-data.js +0 -0
- /package/dist/server/{server → apps/api}/src/discovery-advertiser.js +0 -0
- /package/dist/server/{server → apps/api}/src/e2e-server.js +0 -0
- /package/dist/server/{server → apps/api}/src/errors.js +0 -0
- /package/dist/server/{server → apps/api}/src/health-workout-adapters.js +0 -0
- /package/dist/server/{server → apps/api}/src/health-workout-analytics.js +0 -0
- /package/dist/server/{server → apps/api}/src/health.js +0 -0
- /package/dist/server/{server → apps/api}/src/index.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/base.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/contracts.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/api-gateway-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/audit-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/authentication-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/authorization-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/background-job-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/configuration-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/database-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/event-bus-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/external-service-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/health-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/llm-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/migration-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/mock-workbench-provider.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/openai-responses-provider.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/search-index-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/secrets-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/session-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/storage-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/token-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/transaction-manager.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/platform/trusted-network.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/runtime.js +0 -0
- /package/dist/server/{server → apps/api}/src/managers/type-guards.js +0 -0
- /package/dist/server/{server → apps/api}/src/movement.js +0 -0
- /package/dist/server/{server → apps/api}/src/preferences-seeds.js +0 -0
- /package/dist/server/{server → apps/api}/src/preferences-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/psyche-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/questionnaire-flow.js +0 -0
- /package/dist/server/{server → apps/api}/src/questionnaire-types.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/activity-events.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/agent-runtime-sessions.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/ai-processors.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/calendar.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/collaboration.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/deleted-entities.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/diagnostic-logs.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/domains.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/entity-ownership.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/event-log.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/gamification.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/goals.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/model-settings.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/notes.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/preferences.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/projects.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/psyche.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/questionnaires.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/rewards.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/settings.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/strategies.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/surface-layouts.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/tags.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/task-runs.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/tasks.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/users.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/weekly-reviews.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/wiki-memory.js +0 -0
- /package/dist/server/{server → apps/api}/src/repositories/work-adjustments.js +0 -0
- /package/dist/server/{server → apps/api}/src/runtime-data-root.js +0 -0
- /package/dist/server/{server → apps/api}/src/screen-time.js +0 -0
- /package/dist/server/{server → apps/api}/src/seed-demo.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/calendar-runtime.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/context.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/dashboard.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/data-management.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/devrage-scanner.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/devrage.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/git-helper.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/google-calendar-oauth-config.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/insights.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/legacy-wiki-markdown-import.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/life-force-model.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/life-force.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/macos-calendar-helper.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/openai-codex-oauth.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/projects.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/psyche.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/relations.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/reviews.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/run-recovery.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/tagging.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/task-run-watchdog.js +0 -0
- /package/dist/server/{server → apps/api}/src/services/work-time.js +0 -0
- /package/dist/server/{server → apps/api}/src/web.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/customization/utility-widgets.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/ui/info-tooltip.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/calendar/calendar-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/goals/goals-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/habits/habits-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/health/health-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/insights/insights-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/kanban/kanban-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/movement/movement-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/notes/notes-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/overview/overview-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/preferences/preferences-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/projects/projects-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/psyche/psyche-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/questionnaires/questionnaires-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/review/review-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/shared/define-workbench-box.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/shared/generic-node-view.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/strategies/strategies-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/tasks/tasks-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/today/today-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/components/workbench-boxes/wiki/wiki-boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/api-error.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/calendar-name-deduper.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/data-management-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/date-keys.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/diagnostics.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/gamification-catalog.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/knowledge-graph.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/psyche-schemas.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/psyche-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/questionnaire-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/runtime-paths.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/schemas.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/snapshot-normalizer.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/theme-system.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/utils.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/weight-loss-energy-model.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/weight-loss-types.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/boxes.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/contracts.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/nodes.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/registry.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/runtime.js +0 -0
- /package/dist/server/{src → apps/web/src}/lib/workbench/tool-catalog.js +0 -0
|
@@ -165,6 +165,10 @@ const API_TAGS = [
|
|
|
165
165
|
name: "Wiki",
|
|
166
166
|
description: "SQLite-backed wiki settings, pages, ingest, sync, health, and search."
|
|
167
167
|
},
|
|
168
|
+
{
|
|
169
|
+
name: "Artifacts",
|
|
170
|
+
description: "Trusted file artifact storage, metadata, static safety scans, human-only downloads, links, versions, and audit events."
|
|
171
|
+
},
|
|
168
172
|
{
|
|
169
173
|
name: "Preferences",
|
|
170
174
|
description: "Preference profiles, comparisons, concepts, contexts, and learned scores."
|
|
@@ -232,7 +236,7 @@ const API_TAG_GROUPS = [
|
|
|
232
236
|
},
|
|
233
237
|
{
|
|
234
238
|
name: "Knowledge And Reflection",
|
|
235
|
-
tags: ["Wiki", "Preferences", "Psyche", "Questionnaires"]
|
|
239
|
+
tags: ["Wiki", "Artifacts", "Preferences", "Psyche", "Questionnaires"]
|
|
236
240
|
},
|
|
237
241
|
{
|
|
238
242
|
name: "Platform And Agents",
|
|
@@ -289,6 +293,9 @@ function resolveTagsForPath(path) {
|
|
|
289
293
|
if (path.startsWith("/api/v1/wiki")) {
|
|
290
294
|
return ["Wiki"];
|
|
291
295
|
}
|
|
296
|
+
if (path.startsWith("/api/v1/artifacts")) {
|
|
297
|
+
return ["Artifacts"];
|
|
298
|
+
}
|
|
292
299
|
if (path.startsWith("/api/v1/preferences")) {
|
|
293
300
|
return ["Preferences"];
|
|
294
301
|
}
|
|
@@ -5503,6 +5510,265 @@ export function buildOpenApiDocument() {
|
|
|
5503
5510
|
dataQuality: { type: "object", additionalProperties: true }
|
|
5504
5511
|
}
|
|
5505
5512
|
};
|
|
5513
|
+
const entityLink = {
|
|
5514
|
+
type: "object",
|
|
5515
|
+
required: [
|
|
5516
|
+
"sourceEntityType",
|
|
5517
|
+
"sourceEntityId",
|
|
5518
|
+
"targetEntityType",
|
|
5519
|
+
"targetEntityId",
|
|
5520
|
+
"anchorKey",
|
|
5521
|
+
"relationship",
|
|
5522
|
+
"createdByActor",
|
|
5523
|
+
"createdAt"
|
|
5524
|
+
],
|
|
5525
|
+
properties: {
|
|
5526
|
+
sourceEntityType: { type: "string" },
|
|
5527
|
+
sourceEntityId: { type: "string" },
|
|
5528
|
+
targetEntityType: { type: "string" },
|
|
5529
|
+
targetEntityId: { type: "string" },
|
|
5530
|
+
anchorKey: nullable({ type: "string" }),
|
|
5531
|
+
relationship: { type: "string" },
|
|
5532
|
+
createdByActor: nullable({ type: "string" }),
|
|
5533
|
+
createdAt: { type: "string", format: "date-time" }
|
|
5534
|
+
}
|
|
5535
|
+
};
|
|
5536
|
+
const entityLinkInput = {
|
|
5537
|
+
type: "object",
|
|
5538
|
+
required: ["entityType", "entityId"],
|
|
5539
|
+
properties: {
|
|
5540
|
+
entityType: { type: "string" },
|
|
5541
|
+
entityId: { type: "string" },
|
|
5542
|
+
anchorKey: { type: "string" },
|
|
5543
|
+
relationship: { type: "string", default: "related" }
|
|
5544
|
+
}
|
|
5545
|
+
};
|
|
5546
|
+
const artifactScanFinding = {
|
|
5547
|
+
type: "object",
|
|
5548
|
+
required: ["code", "severity", "message"],
|
|
5549
|
+
properties: {
|
|
5550
|
+
code: { type: "string" },
|
|
5551
|
+
severity: {
|
|
5552
|
+
type: "string",
|
|
5553
|
+
enum: ["info", "low", "moderate", "high", "blocked"]
|
|
5554
|
+
},
|
|
5555
|
+
message: { type: "string" }
|
|
5556
|
+
}
|
|
5557
|
+
};
|
|
5558
|
+
const artifactScanResult = {
|
|
5559
|
+
type: "object",
|
|
5560
|
+
required: [
|
|
5561
|
+
"scannedAt",
|
|
5562
|
+
"scannerVersion",
|
|
5563
|
+
"declaredExtension",
|
|
5564
|
+
"detectedMimeType",
|
|
5565
|
+
"extensionAllowed",
|
|
5566
|
+
"byteSize",
|
|
5567
|
+
"findings",
|
|
5568
|
+
"extractedTextSample",
|
|
5569
|
+
"extractedTextTruncated"
|
|
5570
|
+
],
|
|
5571
|
+
properties: {
|
|
5572
|
+
scannedAt: { type: "string", format: "date-time" },
|
|
5573
|
+
scannerVersion: { type: "string" },
|
|
5574
|
+
declaredExtension: { type: "string" },
|
|
5575
|
+
detectedMimeType: { type: "string" },
|
|
5576
|
+
extensionAllowed: { type: "boolean" },
|
|
5577
|
+
byteSize: { type: "integer" },
|
|
5578
|
+
findings: arrayOf(artifactScanFinding),
|
|
5579
|
+
extractedTextSample: { type: "string" },
|
|
5580
|
+
extractedTextTruncated: { type: "boolean" }
|
|
5581
|
+
}
|
|
5582
|
+
};
|
|
5583
|
+
const artifact = {
|
|
5584
|
+
type: "object",
|
|
5585
|
+
required: [
|
|
5586
|
+
"id",
|
|
5587
|
+
"title",
|
|
5588
|
+
"shortDescription",
|
|
5589
|
+
"description",
|
|
5590
|
+
"originalFileName",
|
|
5591
|
+
"storageKey",
|
|
5592
|
+
"storagePath",
|
|
5593
|
+
"contentSha256",
|
|
5594
|
+
"byteSize",
|
|
5595
|
+
"detectedExtension",
|
|
5596
|
+
"declaredMimeType",
|
|
5597
|
+
"detectedMimeType",
|
|
5598
|
+
"formatFamily",
|
|
5599
|
+
"sourceKind",
|
|
5600
|
+
"sourceLabel",
|
|
5601
|
+
"uploadedByUserId",
|
|
5602
|
+
"uploadedByAgentId",
|
|
5603
|
+
"actingForUserId",
|
|
5604
|
+
"artifactState",
|
|
5605
|
+
"dangerScore",
|
|
5606
|
+
"dangerLevel",
|
|
5607
|
+
"downloadPolicy",
|
|
5608
|
+
"scanResults",
|
|
5609
|
+
"enrichmentResults",
|
|
5610
|
+
"metadata",
|
|
5611
|
+
"links",
|
|
5612
|
+
"createdAt",
|
|
5613
|
+
"updatedAt"
|
|
5614
|
+
],
|
|
5615
|
+
properties: {
|
|
5616
|
+
id: { type: "string" },
|
|
5617
|
+
title: { type: "string" },
|
|
5618
|
+
shortDescription: { type: "string" },
|
|
5619
|
+
description: { type: "string" },
|
|
5620
|
+
originalFileName: { type: "string" },
|
|
5621
|
+
storageKey: { type: "string" },
|
|
5622
|
+
storagePath: { type: "string" },
|
|
5623
|
+
contentSha256: { type: "string" },
|
|
5624
|
+
byteSize: { type: "integer" },
|
|
5625
|
+
detectedExtension: { type: "string" },
|
|
5626
|
+
declaredMimeType: { type: "string" },
|
|
5627
|
+
detectedMimeType: { type: "string" },
|
|
5628
|
+
formatFamily: {
|
|
5629
|
+
type: "string",
|
|
5630
|
+
enum: [
|
|
5631
|
+
"spreadsheet",
|
|
5632
|
+
"document",
|
|
5633
|
+
"presentation",
|
|
5634
|
+
"pdf",
|
|
5635
|
+
"text",
|
|
5636
|
+
"structured_text",
|
|
5637
|
+
"image"
|
|
5638
|
+
]
|
|
5639
|
+
},
|
|
5640
|
+
sourceKind: {
|
|
5641
|
+
type: "string",
|
|
5642
|
+
enum: ["upload", "agent_upload", "wiki_ingest", "external_reference", "manual"]
|
|
5643
|
+
},
|
|
5644
|
+
sourceLabel: { type: "string" },
|
|
5645
|
+
uploadedByUserId: nullable({ type: "string" }),
|
|
5646
|
+
uploadedByAgentId: nullable({ type: "string" }),
|
|
5647
|
+
actingForUserId: nullable({ type: "string" }),
|
|
5648
|
+
artifactState: {
|
|
5649
|
+
type: "string",
|
|
5650
|
+
enum: ["active", "quarantined", "blocked", "archived", "metadata_only"]
|
|
5651
|
+
},
|
|
5652
|
+
dangerScore: { type: "integer", minimum: 0, maximum: 100 },
|
|
5653
|
+
dangerLevel: { type: "string", enum: ["low", "moderate", "high", "blocked"] },
|
|
5654
|
+
downloadPolicy: { type: "string", enum: ["human_only", "disabled"] },
|
|
5655
|
+
scanResults: artifactScanResult,
|
|
5656
|
+
enrichmentResults: { type: "object", additionalProperties: true },
|
|
5657
|
+
metadata: { type: "object", additionalProperties: true },
|
|
5658
|
+
links: arrayOf(entityLink),
|
|
5659
|
+
createdAt: { type: "string", format: "date-time" },
|
|
5660
|
+
updatedAt: { type: "string", format: "date-time" }
|
|
5661
|
+
}
|
|
5662
|
+
};
|
|
5663
|
+
const artifactUploadInput = {
|
|
5664
|
+
type: "object",
|
|
5665
|
+
required: ["originalFileName", "contentBase64"],
|
|
5666
|
+
properties: {
|
|
5667
|
+
title: { type: "string" },
|
|
5668
|
+
shortDescription: { type: "string" },
|
|
5669
|
+
description: { type: "string" },
|
|
5670
|
+
originalFileName: { type: "string" },
|
|
5671
|
+
declaredMimeType: { type: "string" },
|
|
5672
|
+
contentBase64: {
|
|
5673
|
+
type: "string",
|
|
5674
|
+
description: "Base64 file bytes. Forge stores and statically scans bytes; agents must not execute or open file contents."
|
|
5675
|
+
},
|
|
5676
|
+
sourceKind: {
|
|
5677
|
+
type: "string",
|
|
5678
|
+
enum: ["upload", "agent_upload", "wiki_ingest", "external_reference", "manual"]
|
|
5679
|
+
},
|
|
5680
|
+
sourceLabel: { type: "string" },
|
|
5681
|
+
uploadedByUserId: nullable({ type: "string" }),
|
|
5682
|
+
uploadedByAgentId: nullable({ type: "string" }),
|
|
5683
|
+
actingForUserId: nullable({ type: "string" }),
|
|
5684
|
+
downloadPolicy: { type: "string", enum: ["human_only", "disabled"] },
|
|
5685
|
+
links: arrayOf(entityLinkInput),
|
|
5686
|
+
metadata: { type: "object", additionalProperties: true },
|
|
5687
|
+
useLlmEnrichment: { type: "boolean" },
|
|
5688
|
+
llmProfileId: { type: "string" }
|
|
5689
|
+
}
|
|
5690
|
+
};
|
|
5691
|
+
const artifactMetadataPatchInput = {
|
|
5692
|
+
type: "object",
|
|
5693
|
+
properties: {
|
|
5694
|
+
title: { type: "string" },
|
|
5695
|
+
shortDescription: { type: "string" },
|
|
5696
|
+
description: { type: "string" },
|
|
5697
|
+
sourceLabel: { type: "string" },
|
|
5698
|
+
artifactState: {
|
|
5699
|
+
type: "string",
|
|
5700
|
+
enum: ["active", "quarantined", "blocked", "archived", "metadata_only"]
|
|
5701
|
+
},
|
|
5702
|
+
downloadPolicy: { type: "string", enum: ["human_only", "disabled"] },
|
|
5703
|
+
links: arrayOf(entityLinkInput),
|
|
5704
|
+
metadata: { type: "object", additionalProperties: true }
|
|
5705
|
+
}
|
|
5706
|
+
};
|
|
5707
|
+
const artifactTrustPatchInput = {
|
|
5708
|
+
type: "object",
|
|
5709
|
+
required: ["artifactState", "reason"],
|
|
5710
|
+
properties: {
|
|
5711
|
+
artifactState: {
|
|
5712
|
+
type: "string",
|
|
5713
|
+
enum: ["active", "quarantined", "blocked", "archived", "metadata_only"]
|
|
5714
|
+
},
|
|
5715
|
+
reason: { type: "string" },
|
|
5716
|
+
downloadPolicy: { type: "string", enum: ["human_only", "disabled"] }
|
|
5717
|
+
}
|
|
5718
|
+
};
|
|
5719
|
+
const artifactEnrichmentInput = {
|
|
5720
|
+
type: "object",
|
|
5721
|
+
properties: {
|
|
5722
|
+
llmProfileId: { type: "string" },
|
|
5723
|
+
fillMissingOnly: { type: "boolean", default: true },
|
|
5724
|
+
explicitApiKey: {
|
|
5725
|
+
type: "string",
|
|
5726
|
+
description: "Optional transient key for the selected LLM provider. It is not persisted by Forge."
|
|
5727
|
+
}
|
|
5728
|
+
}
|
|
5729
|
+
};
|
|
5730
|
+
const artifactVersion = {
|
|
5731
|
+
type: "object",
|
|
5732
|
+
required: [
|
|
5733
|
+
"id",
|
|
5734
|
+
"artifactId",
|
|
5735
|
+
"versionNumber",
|
|
5736
|
+
"contentSha256",
|
|
5737
|
+
"storageKey",
|
|
5738
|
+
"byteSize",
|
|
5739
|
+
"originalFileName",
|
|
5740
|
+
"scanResults",
|
|
5741
|
+
"enrichmentResults",
|
|
5742
|
+
"createdByActor",
|
|
5743
|
+
"createdAt"
|
|
5744
|
+
],
|
|
5745
|
+
properties: {
|
|
5746
|
+
id: { type: "string" },
|
|
5747
|
+
artifactId: { type: "string" },
|
|
5748
|
+
versionNumber: { type: "integer" },
|
|
5749
|
+
contentSha256: { type: "string" },
|
|
5750
|
+
storageKey: { type: "string" },
|
|
5751
|
+
byteSize: { type: "integer" },
|
|
5752
|
+
originalFileName: { type: "string" },
|
|
5753
|
+
scanResults: { type: "object", additionalProperties: true },
|
|
5754
|
+
enrichmentResults: { type: "object", additionalProperties: true },
|
|
5755
|
+
createdByActor: nullable({ type: "string" }),
|
|
5756
|
+
createdAt: { type: "string", format: "date-time" }
|
|
5757
|
+
}
|
|
5758
|
+
};
|
|
5759
|
+
const artifactAuditEvent = {
|
|
5760
|
+
type: "object",
|
|
5761
|
+
required: ["id", "artifactId", "eventType", "actor", "source", "metadata", "createdAt"],
|
|
5762
|
+
properties: {
|
|
5763
|
+
id: { type: "string" },
|
|
5764
|
+
artifactId: { type: "string" },
|
|
5765
|
+
eventType: { type: "string" },
|
|
5766
|
+
actor: nullable({ type: "string" }),
|
|
5767
|
+
source: { type: "string", enum: ["ui", "openclaw", "agent", "system"] },
|
|
5768
|
+
metadata: { type: "object", additionalProperties: true },
|
|
5769
|
+
createdAt: { type: "string", format: "date-time" }
|
|
5770
|
+
}
|
|
5771
|
+
};
|
|
5506
5772
|
const document = {
|
|
5507
5773
|
openapi: "3.1.0",
|
|
5508
5774
|
info: {
|
|
@@ -5609,6 +5875,17 @@ export function buildOpenApiDocument() {
|
|
|
5609
5875
|
Note: note,
|
|
5610
5876
|
NoteSummary: noteSummary,
|
|
5611
5877
|
NotesSummaryByEntity: notesSummaryByEntity,
|
|
5878
|
+
EntityLink: entityLink,
|
|
5879
|
+
EntityLinkInput: entityLinkInput,
|
|
5880
|
+
ArtifactScanFinding: artifactScanFinding,
|
|
5881
|
+
ArtifactScanResult: artifactScanResult,
|
|
5882
|
+
Artifact: artifact,
|
|
5883
|
+
ArtifactUploadInput: artifactUploadInput,
|
|
5884
|
+
ArtifactMetadataPatchInput: artifactMetadataPatchInput,
|
|
5885
|
+
ArtifactTrustPatchInput: artifactTrustPatchInput,
|
|
5886
|
+
ArtifactEnrichmentInput: artifactEnrichmentInput,
|
|
5887
|
+
ArtifactVersion: artifactVersion,
|
|
5888
|
+
ArtifactAuditEvent: artifactAuditEvent,
|
|
5612
5889
|
HealthLink: healthLink,
|
|
5613
5890
|
SleepSession: sleepSession,
|
|
5614
5891
|
WorkoutSession: workoutSession,
|
|
@@ -5645,6 +5922,298 @@ export function buildOpenApiDocument() {
|
|
|
5645
5922
|
}
|
|
5646
5923
|
},
|
|
5647
5924
|
paths: {
|
|
5925
|
+
"/api/v1/artifacts": {
|
|
5926
|
+
get: {
|
|
5927
|
+
summary: "List artifact metadata",
|
|
5928
|
+
description: "Lists stored file artifacts and their metadata, scan state, danger score, and generic entity links. This route does not return file bytes.",
|
|
5929
|
+
parameters: [
|
|
5930
|
+
{ name: "query", in: "query", schema: { type: "string" } },
|
|
5931
|
+
{
|
|
5932
|
+
name: "artifactState",
|
|
5933
|
+
in: "query",
|
|
5934
|
+
schema: {
|
|
5935
|
+
type: "string",
|
|
5936
|
+
enum: ["active", "quarantined", "blocked", "archived", "metadata_only"]
|
|
5937
|
+
}
|
|
5938
|
+
},
|
|
5939
|
+
{
|
|
5940
|
+
name: "dangerLevel",
|
|
5941
|
+
in: "query",
|
|
5942
|
+
schema: { type: "string", enum: ["low", "moderate", "high", "blocked"] }
|
|
5943
|
+
},
|
|
5944
|
+
{
|
|
5945
|
+
name: "formatFamily",
|
|
5946
|
+
in: "query",
|
|
5947
|
+
schema: {
|
|
5948
|
+
type: "string",
|
|
5949
|
+
enum: [
|
|
5950
|
+
"spreadsheet",
|
|
5951
|
+
"document",
|
|
5952
|
+
"presentation",
|
|
5953
|
+
"pdf",
|
|
5954
|
+
"text",
|
|
5955
|
+
"structured_text",
|
|
5956
|
+
"image"
|
|
5957
|
+
]
|
|
5958
|
+
}
|
|
5959
|
+
},
|
|
5960
|
+
{ name: "linkedEntityType", in: "query", schema: { type: "string" } },
|
|
5961
|
+
{ name: "linkedEntityId", in: "query", schema: { type: "string" } },
|
|
5962
|
+
{ name: "limit", in: "query", schema: { type: "integer", minimum: 1, maximum: 500 } }
|
|
5963
|
+
],
|
|
5964
|
+
responses: {
|
|
5965
|
+
"200": jsonResponse({
|
|
5966
|
+
type: "object",
|
|
5967
|
+
required: ["artifacts"],
|
|
5968
|
+
properties: { artifacts: arrayOf({ $ref: "#/components/schemas/Artifact" }) }
|
|
5969
|
+
}, "Artifact list"),
|
|
5970
|
+
default: { $ref: "#/components/responses/Error" }
|
|
5971
|
+
}
|
|
5972
|
+
},
|
|
5973
|
+
post: {
|
|
5974
|
+
summary: "Upload a trusted file artifact",
|
|
5975
|
+
description: "Stores base64 file bytes only for trusted human sessions or trusted/autonomous agent tokens with artifact upload scopes. Forge statically scans and stores the file for human download; it does not execute or autonomously open the file.",
|
|
5976
|
+
requestBody: {
|
|
5977
|
+
required: true,
|
|
5978
|
+
content: {
|
|
5979
|
+
"application/json": {
|
|
5980
|
+
schema: { $ref: "#/components/schemas/ArtifactUploadInput" }
|
|
5981
|
+
}
|
|
5982
|
+
}
|
|
5983
|
+
},
|
|
5984
|
+
responses: {
|
|
5985
|
+
"201": jsonResponse({
|
|
5986
|
+
type: "object",
|
|
5987
|
+
required: ["artifact"],
|
|
5988
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
5989
|
+
}, "Created artifact"),
|
|
5990
|
+
default: { $ref: "#/components/responses/Error" }
|
|
5991
|
+
}
|
|
5992
|
+
}
|
|
5993
|
+
},
|
|
5994
|
+
"/api/v1/artifacts/{id}": {
|
|
5995
|
+
parameters: [
|
|
5996
|
+
{
|
|
5997
|
+
name: "id",
|
|
5998
|
+
in: "path",
|
|
5999
|
+
required: true,
|
|
6000
|
+
schema: { type: "string" }
|
|
6001
|
+
}
|
|
6002
|
+
],
|
|
6003
|
+
get: {
|
|
6004
|
+
summary: "Get artifact metadata",
|
|
6005
|
+
responses: {
|
|
6006
|
+
"200": jsonResponse({
|
|
6007
|
+
type: "object",
|
|
6008
|
+
required: ["artifact"],
|
|
6009
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
6010
|
+
}, "Artifact metadata"),
|
|
6011
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6012
|
+
}
|
|
6013
|
+
},
|
|
6014
|
+
patch: {
|
|
6015
|
+
summary: "Patch artifact metadata",
|
|
6016
|
+
requestBody: {
|
|
6017
|
+
required: true,
|
|
6018
|
+
content: {
|
|
6019
|
+
"application/json": {
|
|
6020
|
+
schema: { $ref: "#/components/schemas/ArtifactMetadataPatchInput" }
|
|
6021
|
+
}
|
|
6022
|
+
}
|
|
6023
|
+
},
|
|
6024
|
+
responses: {
|
|
6025
|
+
"200": jsonResponse({
|
|
6026
|
+
type: "object",
|
|
6027
|
+
required: ["artifact"],
|
|
6028
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
6029
|
+
}, "Updated artifact"),
|
|
6030
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6031
|
+
}
|
|
6032
|
+
}
|
|
6033
|
+
},
|
|
6034
|
+
"/api/v1/artifacts/{id}/download": {
|
|
6035
|
+
parameters: [
|
|
6036
|
+
{
|
|
6037
|
+
name: "id",
|
|
6038
|
+
in: "path",
|
|
6039
|
+
required: true,
|
|
6040
|
+
schema: { type: "string" }
|
|
6041
|
+
}
|
|
6042
|
+
],
|
|
6043
|
+
get: {
|
|
6044
|
+
summary: "Download artifact bytes for a human operator",
|
|
6045
|
+
description: "Returns the stored file bytes only to an authenticated human/operator session. Agent tokens are not allowed to download artifacts.",
|
|
6046
|
+
responses: {
|
|
6047
|
+
"200": {
|
|
6048
|
+
description: "Artifact file bytes",
|
|
6049
|
+
content: {
|
|
6050
|
+
"application/octet-stream": {
|
|
6051
|
+
schema: { type: "string", format: "binary" }
|
|
6052
|
+
}
|
|
6053
|
+
}
|
|
6054
|
+
},
|
|
6055
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6056
|
+
}
|
|
6057
|
+
}
|
|
6058
|
+
},
|
|
6059
|
+
"/api/v1/artifacts/{id}/scan": {
|
|
6060
|
+
parameters: [
|
|
6061
|
+
{
|
|
6062
|
+
name: "id",
|
|
6063
|
+
in: "path",
|
|
6064
|
+
required: true,
|
|
6065
|
+
schema: { type: "string" }
|
|
6066
|
+
}
|
|
6067
|
+
],
|
|
6068
|
+
post: {
|
|
6069
|
+
summary: "Rescan an artifact with the static safety scanner",
|
|
6070
|
+
responses: {
|
|
6071
|
+
"200": jsonResponse({
|
|
6072
|
+
type: "object",
|
|
6073
|
+
required: ["artifact"],
|
|
6074
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
6075
|
+
}, "Rescanned artifact"),
|
|
6076
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6077
|
+
}
|
|
6078
|
+
}
|
|
6079
|
+
},
|
|
6080
|
+
"/api/v1/artifacts/{id}/enrich": {
|
|
6081
|
+
parameters: [
|
|
6082
|
+
{
|
|
6083
|
+
name: "id",
|
|
6084
|
+
in: "path",
|
|
6085
|
+
required: true,
|
|
6086
|
+
schema: { type: "string" }
|
|
6087
|
+
}
|
|
6088
|
+
],
|
|
6089
|
+
post: {
|
|
6090
|
+
summary: "Use a configured LLM to fill missing artifact metadata",
|
|
6091
|
+
description: "LLM enrichment receives only safe metadata, scan findings, and static text samples. It may propose title, short description, description, tags, and a danger score, but Forge never lowers the deterministic scanner danger score.",
|
|
6092
|
+
requestBody: {
|
|
6093
|
+
required: false,
|
|
6094
|
+
content: {
|
|
6095
|
+
"application/json": {
|
|
6096
|
+
schema: { $ref: "#/components/schemas/ArtifactEnrichmentInput" }
|
|
6097
|
+
}
|
|
6098
|
+
}
|
|
6099
|
+
},
|
|
6100
|
+
responses: {
|
|
6101
|
+
"200": jsonResponse({
|
|
6102
|
+
type: "object",
|
|
6103
|
+
required: ["artifact"],
|
|
6104
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
6105
|
+
}, "Enriched artifact"),
|
|
6106
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6107
|
+
}
|
|
6108
|
+
}
|
|
6109
|
+
},
|
|
6110
|
+
"/api/v1/artifacts/{id}/links": {
|
|
6111
|
+
parameters: [
|
|
6112
|
+
{
|
|
6113
|
+
name: "id",
|
|
6114
|
+
in: "path",
|
|
6115
|
+
required: true,
|
|
6116
|
+
schema: { type: "string" }
|
|
6117
|
+
}
|
|
6118
|
+
],
|
|
6119
|
+
post: {
|
|
6120
|
+
summary: "Replace generic entity links for an artifact",
|
|
6121
|
+
description: "Stores artifact relationships through Forge's reusable entity_links model. Use this to connect artifacts to goals, projects, tasks, wiki-backed notes, Psyche records, calendar entities, and other supported Forge entities.",
|
|
6122
|
+
requestBody: {
|
|
6123
|
+
required: true,
|
|
6124
|
+
content: {
|
|
6125
|
+
"application/json": {
|
|
6126
|
+
schema: {
|
|
6127
|
+
type: "object",
|
|
6128
|
+
required: ["links"],
|
|
6129
|
+
properties: {
|
|
6130
|
+
links: arrayOf({ $ref: "#/components/schemas/EntityLinkInput" })
|
|
6131
|
+
}
|
|
6132
|
+
}
|
|
6133
|
+
}
|
|
6134
|
+
}
|
|
6135
|
+
},
|
|
6136
|
+
responses: {
|
|
6137
|
+
"200": jsonResponse({
|
|
6138
|
+
type: "object",
|
|
6139
|
+
required: ["artifact"],
|
|
6140
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
6141
|
+
}, "Relinked artifact"),
|
|
6142
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6143
|
+
}
|
|
6144
|
+
}
|
|
6145
|
+
},
|
|
6146
|
+
"/api/v1/artifacts/{id}/trust": {
|
|
6147
|
+
parameters: [
|
|
6148
|
+
{
|
|
6149
|
+
name: "id",
|
|
6150
|
+
in: "path",
|
|
6151
|
+
required: true,
|
|
6152
|
+
schema: { type: "string" }
|
|
6153
|
+
}
|
|
6154
|
+
],
|
|
6155
|
+
post: {
|
|
6156
|
+
summary: "Apply a trusted artifact state override",
|
|
6157
|
+
requestBody: {
|
|
6158
|
+
required: true,
|
|
6159
|
+
content: {
|
|
6160
|
+
"application/json": {
|
|
6161
|
+
schema: { $ref: "#/components/schemas/ArtifactTrustPatchInput" }
|
|
6162
|
+
}
|
|
6163
|
+
}
|
|
6164
|
+
},
|
|
6165
|
+
responses: {
|
|
6166
|
+
"200": jsonResponse({
|
|
6167
|
+
type: "object",
|
|
6168
|
+
required: ["artifact"],
|
|
6169
|
+
properties: { artifact: { $ref: "#/components/schemas/Artifact" } }
|
|
6170
|
+
}, "Trust-updated artifact"),
|
|
6171
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6172
|
+
}
|
|
6173
|
+
}
|
|
6174
|
+
},
|
|
6175
|
+
"/api/v1/artifacts/{id}/versions": {
|
|
6176
|
+
parameters: [
|
|
6177
|
+
{
|
|
6178
|
+
name: "id",
|
|
6179
|
+
in: "path",
|
|
6180
|
+
required: true,
|
|
6181
|
+
schema: { type: "string" }
|
|
6182
|
+
}
|
|
6183
|
+
],
|
|
6184
|
+
get: {
|
|
6185
|
+
summary: "List artifact versions",
|
|
6186
|
+
responses: {
|
|
6187
|
+
"200": jsonResponse({
|
|
6188
|
+
type: "object",
|
|
6189
|
+
required: ["versions"],
|
|
6190
|
+
properties: { versions: arrayOf({ $ref: "#/components/schemas/ArtifactVersion" }) }
|
|
6191
|
+
}, "Artifact versions"),
|
|
6192
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6193
|
+
}
|
|
6194
|
+
}
|
|
6195
|
+
},
|
|
6196
|
+
"/api/v1/artifacts/{id}/audit": {
|
|
6197
|
+
parameters: [
|
|
6198
|
+
{
|
|
6199
|
+
name: "id",
|
|
6200
|
+
in: "path",
|
|
6201
|
+
required: true,
|
|
6202
|
+
schema: { type: "string" }
|
|
6203
|
+
}
|
|
6204
|
+
],
|
|
6205
|
+
get: {
|
|
6206
|
+
summary: "List artifact audit events",
|
|
6207
|
+
responses: {
|
|
6208
|
+
"200": jsonResponse({
|
|
6209
|
+
type: "object",
|
|
6210
|
+
required: ["events"],
|
|
6211
|
+
properties: { events: arrayOf({ $ref: "#/components/schemas/ArtifactAuditEvent" }) }
|
|
6212
|
+
}, "Artifact audit events"),
|
|
6213
|
+
default: { $ref: "#/components/responses/Error" }
|
|
6214
|
+
}
|
|
6215
|
+
}
|
|
6216
|
+
},
|
|
5648
6217
|
"/api/v1/health": {
|
|
5649
6218
|
get: {
|
|
5650
6219
|
summary: "Get Forge API health and watchdog status",
|
|
@@ -649,7 +649,7 @@ const QUESTIONNAIRE_SEEDS = [
|
|
|
649
649
|
},
|
|
650
650
|
{
|
|
651
651
|
label: "WHO AUDIT manual PDF",
|
|
652
|
-
url: "https://iris.who.int/
|
|
652
|
+
url: "https://iris.who.int/apps/api/api/core/bitstreams/c57d9855-5450-4c46-84b1-c88a6df4192c/content",
|
|
653
653
|
citation: "World Health Organization. AUDIT manual and self-report questionnaire appendix.",
|
|
654
654
|
notes: "WHO manual permits free review, reproduction, and translation for non-commercial use."
|
|
655
655
|
}
|
|
@@ -8,7 +8,7 @@ import { createAiConnectorSchema, aiConnectorConversationSchema, aiConnectorRunR
|
|
|
8
8
|
import { FORGE_DEFAULT_AGENT_ID, getAiModelConnectionById, listAiModelConnections, readModelConnectionCredential } from "./model-settings.js";
|
|
9
9
|
import { getAiProcessorById, listAiProcessorLinks, listAiProcessors } from "./ai-processors.js";
|
|
10
10
|
import { buildConnectorOutputCatalogEntry, executeForgeBoxTool, resolveForgeBoxSnapshot } from "../connectors/box-registry.js";
|
|
11
|
-
import { normalizeWorkbenchPortDefinition } from "../../../src/lib/workbench/nodes.js";
|
|
11
|
+
import { normalizeWorkbenchPortDefinition } from "../../../web/src/lib/workbench/nodes.js";
|
|
12
12
|
const execFile = promisify(execFileCallback);
|
|
13
13
|
const MAX_TOOL_STEPS = 6;
|
|
14
14
|
const MAX_RUN_HISTORY = 20;
|