@braidhq/server 0.1.0 → 0.2.1
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/LICENSE +21 -0
- package/README.md +134 -106
- package/dist/app.d.ts +7 -15
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +74 -45
- package/dist/app.js.map +1 -1
- package/dist/authMode.d.ts +39 -0
- package/dist/authMode.d.ts.map +1 -0
- package/dist/authMode.js +50 -0
- package/dist/authMode.js.map +1 -0
- package/dist/composeApp.d.ts +80 -0
- package/dist/composeApp.d.ts.map +1 -0
- package/dist/composeApp.js +137 -0
- package/dist/composeApp.js.map +1 -0
- package/dist/composeFsApp.d.ts +27 -0
- package/dist/composeFsApp.d.ts.map +1 -0
- package/dist/{composeFs.js → composeFsApp.js} +127 -126
- package/dist/composeFsApp.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/_shared/env.d.ts +10 -0
- package/dist/infrastructure/_shared/env.d.ts.map +1 -0
- package/dist/infrastructure/{env.js → _shared/env.js} +5 -6
- package/dist/infrastructure/_shared/env.js.map +1 -0
- package/dist/infrastructure/_shared/frontmatter.d.ts +13 -0
- package/dist/infrastructure/_shared/frontmatter.d.ts.map +1 -0
- package/dist/infrastructure/{fs → _shared}/frontmatter.js +5 -5
- package/dist/infrastructure/_shared/frontmatter.js.map +1 -0
- package/dist/infrastructure/_shared/jsonFileStore.d.ts.map +1 -0
- package/dist/infrastructure/_shared/jsonFileStore.js.map +1 -0
- package/dist/infrastructure/{fs → _shared}/paths.d.ts +17 -10
- package/dist/infrastructure/_shared/paths.d.ts.map +1 -0
- package/dist/infrastructure/{fs → _shared}/paths.js +27 -20
- package/dist/infrastructure/_shared/paths.js.map +1 -0
- package/dist/infrastructure/auth/AccessPolicy.d.ts +33 -58
- package/dist/infrastructure/auth/AccessPolicy.d.ts.map +1 -1
- package/dist/infrastructure/auth/AccessPolicy.js +35 -42
- package/dist/infrastructure/auth/AccessPolicy.js.map +1 -1
- package/dist/infrastructure/auth/SessionStore.d.ts +22 -12
- package/dist/infrastructure/auth/SessionStore.d.ts.map +1 -1
- package/dist/infrastructure/auth/SessionStore.js +20 -20
- package/dist/infrastructure/auth/SessionStore.js.map +1 -1
- package/dist/infrastructure/batch/FsBatchPlanRepository.d.ts +14 -0
- package/dist/infrastructure/batch/FsBatchPlanRepository.d.ts.map +1 -0
- package/dist/infrastructure/{fs → batch}/FsBatchPlanRepository.js +9 -7
- package/dist/infrastructure/batch/FsBatchPlanRepository.js.map +1 -0
- package/dist/infrastructure/history/GitWorkspaceHistory.d.ts.map +1 -0
- package/dist/infrastructure/{git → history}/GitWorkspaceHistory.js +31 -24
- package/dist/infrastructure/history/GitWorkspaceHistory.js.map +1 -0
- package/dist/infrastructure/history/commitMessage.d.ts.map +1 -0
- package/dist/infrastructure/history/commitMessage.js +90 -0
- package/dist/infrastructure/history/commitMessage.js.map +1 -0
- package/dist/infrastructure/hitl/FsClarificationRepository.d.ts +13 -0
- package/dist/infrastructure/hitl/FsClarificationRepository.d.ts.map +1 -0
- package/dist/infrastructure/hitl/FsClarificationRepository.js +40 -0
- package/dist/infrastructure/hitl/FsClarificationRepository.js.map +1 -0
- package/dist/infrastructure/hitl/FsProposalRepository.d.ts.map +1 -0
- package/dist/infrastructure/{fs → hitl}/FsProposalRepository.js +8 -8
- package/dist/infrastructure/hitl/FsProposalRepository.js.map +1 -0
- package/dist/infrastructure/hitl/StatusedJsonStore.d.ts +30 -0
- package/dist/infrastructure/hitl/StatusedJsonStore.d.ts.map +1 -0
- package/dist/infrastructure/{fs/FsStatusedJsonRepository.js → hitl/StatusedJsonStore.js} +3 -3
- package/dist/infrastructure/hitl/StatusedJsonStore.js.map +1 -0
- package/dist/infrastructure/model/FsModelSerializer.d.ts +94 -0
- package/dist/infrastructure/model/FsModelSerializer.d.ts.map +1 -0
- package/dist/infrastructure/{fs/FsGraphSerializer.js → model/FsModelSerializer.js} +11 -11
- package/dist/infrastructure/model/FsModelSerializer.js.map +1 -0
- package/dist/infrastructure/oauth/GoogleOAuth.d.ts +20 -38
- package/dist/infrastructure/oauth/GoogleOAuth.d.ts.map +1 -1
- package/dist/infrastructure/oauth/GoogleOAuth.js +21 -22
- package/dist/infrastructure/oauth/GoogleOAuth.js.map +1 -1
- package/dist/infrastructure/reactor/FsReactorCycleRepository.d.ts +29 -0
- package/dist/infrastructure/reactor/FsReactorCycleRepository.d.ts.map +1 -0
- package/dist/infrastructure/reactor/FsReactorCycleRepository.js +94 -0
- package/dist/infrastructure/reactor/FsReactorCycleRepository.js.map +1 -0
- package/dist/infrastructure/secrets/SecretStore.d.ts +11 -14
- package/dist/infrastructure/secrets/SecretStore.d.ts.map +1 -1
- package/dist/infrastructure/secrets/SecretStore.js +4 -4
- package/dist/infrastructure/secrets/SecretStore.js.map +1 -1
- package/dist/infrastructure/{fs → skill}/FsRunRepository.d.ts +5 -3
- package/dist/infrastructure/skill/FsRunRepository.d.ts.map +1 -0
- package/dist/infrastructure/{fs → skill}/FsRunRepository.js +11 -9
- package/dist/infrastructure/skill/FsRunRepository.js.map +1 -0
- package/dist/infrastructure/{fs → skill}/FsSkillRegistry.d.ts +4 -13
- package/dist/infrastructure/skill/FsSkillRegistry.d.ts.map +1 -0
- package/dist/infrastructure/{fs → skill}/FsSkillRegistry.js +28 -20
- package/dist/infrastructure/skill/FsSkillRegistry.js.map +1 -0
- package/dist/infrastructure/skill/SubprocessSkillRunner.d.ts +52 -0
- package/dist/infrastructure/skill/SubprocessSkillRunner.d.ts.map +1 -0
- package/dist/infrastructure/{agent → skill}/SubprocessSkillRunner.js +107 -55
- package/dist/infrastructure/skill/SubprocessSkillRunner.js.map +1 -0
- package/dist/infrastructure/skill/asyncQueue.d.ts +20 -0
- package/dist/infrastructure/skill/asyncQueue.d.ts.map +1 -0
- package/dist/infrastructure/{agent → skill}/asyncQueue.js +2 -3
- package/dist/infrastructure/{agent → skill}/asyncQueue.js.map +1 -1
- package/dist/infrastructure/skill/lineBuffer.d.ts +15 -0
- package/dist/infrastructure/skill/lineBuffer.d.ts.map +1 -0
- package/dist/infrastructure/{agent/streamJsonParser.js → skill/lineBuffer.js} +5 -17
- package/dist/infrastructure/skill/lineBuffer.js.map +1 -0
- package/dist/infrastructure/skill/orphanReaper.d.ts +20 -0
- package/dist/infrastructure/skill/orphanReaper.d.ts.map +1 -0
- package/dist/infrastructure/{orphanReaper.js → skill/orphanReaper.js} +7 -5
- package/dist/infrastructure/skill/orphanReaper.js.map +1 -0
- package/dist/infrastructure/skill/subprocessEventStream.d.ts +16 -0
- package/dist/infrastructure/skill/subprocessEventStream.d.ts.map +1 -0
- package/dist/infrastructure/skill/subprocessEventStream.js +29 -0
- package/dist/infrastructure/skill/subprocessEventStream.js.map +1 -0
- package/dist/infrastructure/source/FsSourceUnitDigest.d.ts +19 -0
- package/dist/infrastructure/source/FsSourceUnitDigest.d.ts.map +1 -0
- package/dist/infrastructure/{fs → source}/FsSourceUnitDigest.js +9 -9
- package/dist/infrastructure/source/FsSourceUnitDigest.js.map +1 -0
- package/dist/infrastructure/source/FsSourceUnitObservationRepository.d.ts +31 -0
- package/dist/infrastructure/source/FsSourceUnitObservationRepository.d.ts.map +1 -0
- package/dist/infrastructure/{fs/FsSourceUnitStateRepository.js → source/FsSourceUnitObservationRepository.js} +18 -17
- package/dist/infrastructure/source/FsSourceUnitObservationRepository.js.map +1 -0
- package/dist/infrastructure/source/unitScan.d.ts +11 -0
- package/dist/infrastructure/source/unitScan.d.ts.map +1 -0
- package/dist/infrastructure/{fs/intentScan.js → source/unitScan.js} +36 -27
- package/dist/infrastructure/source/unitScan.js.map +1 -0
- package/dist/infrastructure/users/UserDirectoryFromRegistry.d.ts +2 -2
- package/dist/infrastructure/users/UserDirectoryFromRegistry.d.ts.map +1 -1
- package/dist/infrastructure/users/UserDirectoryFromRegistry.js +3 -2
- package/dist/infrastructure/users/UserDirectoryFromRegistry.js.map +1 -1
- package/dist/infrastructure/users/UserRegistryFile.d.ts +4 -5
- package/dist/infrastructure/users/UserRegistryFile.d.ts.map +1 -1
- package/dist/infrastructure/users/UserRegistryFile.js +6 -8
- package/dist/infrastructure/users/UserRegistryFile.js.map +1 -1
- package/dist/infrastructure/users/ensureWorkspaceOwners.d.ts +9 -6
- package/dist/infrastructure/users/ensureWorkspaceOwners.d.ts.map +1 -1
- package/dist/infrastructure/users/ensureWorkspaceOwners.js +10 -7
- package/dist/infrastructure/users/ensureWorkspaceOwners.js.map +1 -1
- package/dist/infrastructure/workspace/FsWorkspaceRepository.d.ts.map +1 -0
- package/dist/infrastructure/{fs → workspace}/FsWorkspaceRepository.js +7 -6
- package/dist/infrastructure/workspace/FsWorkspaceRepository.js.map +1 -0
- package/dist/infrastructure/workspace/WorkspaceDiscovery.d.ts +18 -0
- package/dist/infrastructure/workspace/WorkspaceDiscovery.d.ts.map +1 -0
- package/dist/infrastructure/{fs → workspace}/WorkspaceDiscovery.js +15 -11
- package/dist/infrastructure/workspace/WorkspaceDiscovery.js.map +1 -0
- package/dist/infrastructure/{fs → workspace}/WorkspaceRegistryFile.d.ts +10 -9
- package/dist/infrastructure/workspace/WorkspaceRegistryFile.d.ts.map +1 -0
- package/dist/infrastructure/{fs → workspace}/WorkspaceRegistryFile.js +15 -17
- package/dist/infrastructure/workspace/WorkspaceRegistryFile.js.map +1 -0
- package/dist/infrastructure/workspace/productManifestWriter.d.ts +24 -0
- package/dist/infrastructure/workspace/productManifestWriter.d.ts.map +1 -0
- package/dist/infrastructure/{fs → workspace}/productManifestWriter.js +14 -26
- package/dist/infrastructure/workspace/productManifestWriter.js.map +1 -0
- package/dist/middleware/auth.d.ts +27 -17
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +69 -53
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/cors.d.ts.map +1 -1
- package/dist/middleware/cors.js +4 -1
- package/dist/middleware/cors.js.map +1 -1
- package/dist/middleware/error.d.ts.map +1 -1
- package/dist/middleware/error.js +15 -13
- package/dist/middleware/error.js.map +1 -1
- package/dist/middleware/workspaceAccess.d.ts +23 -19
- package/dist/middleware/workspaceAccess.d.ts.map +1 -1
- package/dist/middleware/workspaceAccess.js +31 -26
- package/dist/middleware/workspaceAccess.js.map +1 -1
- package/dist/policy/CapabilityCheck.d.ts +5 -5
- package/dist/policy/PermissionRegistry.d.ts +11 -9
- package/dist/policy/PermissionRegistry.d.ts.map +1 -1
- package/dist/policy/PermissionRegistry.js +10 -8
- package/dist/policy/PermissionRegistry.js.map +1 -1
- package/dist/policy/ViewerContext.d.ts +13 -11
- package/dist/policy/ViewerContext.d.ts.map +1 -1
- package/dist/policy/checks.d.ts +9 -9
- package/dist/policy/checks.d.ts.map +1 -1
- package/dist/policy/checks.js +14 -11
- package/dist/policy/checks.js.map +1 -1
- package/dist/policy/defaultRegistry.d.ts +3 -4
- package/dist/policy/defaultRegistry.d.ts.map +1 -1
- package/dist/policy/defaultRegistry.js +3 -4
- package/dist/policy/defaultRegistry.js.map +1 -1
- package/dist/policy/index.d.ts +2 -2
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +1 -1
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/resolveViewer.d.ts +9 -9
- package/dist/policy/resolveViewer.js +9 -9
- package/dist/routes/_shared.d.ts +93 -153
- package/dist/routes/_shared.d.ts.map +1 -1
- package/dist/routes/_shared.js +9 -5
- package/dist/routes/_shared.js.map +1 -1
- package/dist/routes/admin.d.ts +1 -1
- package/dist/routes/admin.d.ts.map +1 -1
- package/dist/routes/admin.js +13 -12
- package/dist/routes/admin.js.map +1 -1
- package/dist/routes/auth.d.ts +12 -10
- package/dist/routes/auth.d.ts.map +1 -1
- package/dist/routes/auth.js +32 -34
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/clarifications.d.ts +8 -0
- package/dist/routes/clarifications.d.ts.map +1 -0
- package/dist/routes/clarifications.js +246 -0
- package/dist/routes/clarifications.js.map +1 -0
- package/dist/routes/edges.d.ts.map +1 -1
- package/dist/routes/edges.js +2 -6
- package/dist/routes/edges.js.map +1 -1
- package/dist/routes/history.d.ts.map +1 -1
- package/dist/routes/history.js +12 -10
- package/dist/routes/history.js.map +1 -1
- package/dist/routes/nodes.d.ts.map +1 -1
- package/dist/routes/nodes.js +4 -8
- package/dist/routes/nodes.js.map +1 -1
- package/dist/routes/oauth.d.ts +6 -7
- package/dist/routes/oauth.d.ts.map +1 -1
- package/dist/routes/oauth.js +6 -7
- package/dist/routes/oauth.js.map +1 -1
- package/dist/routes/ontologies.d.ts +7 -0
- package/dist/routes/ontologies.d.ts.map +1 -0
- package/dist/routes/ontologies.js +29 -0
- package/dist/routes/ontologies.js.map +1 -0
- package/dist/routes/ontology.d.ts.map +1 -1
- package/dist/routes/ontology.js +2 -1
- package/dist/routes/ontology.js.map +1 -1
- package/dist/routes/proposals.d.ts +2 -2
- package/dist/routes/proposals.d.ts.map +1 -1
- package/dist/routes/proposals.js +35 -30
- package/dist/routes/proposals.js.map +1 -1
- package/dist/routes/reactorCycles.d.ts +7 -0
- package/dist/routes/reactorCycles.d.ts.map +1 -0
- package/dist/routes/reactorCycles.js +60 -0
- package/dist/routes/reactorCycles.js.map +1 -0
- package/dist/routes/runs.d.ts.map +1 -1
- package/dist/routes/runs.js +22 -19
- package/dist/routes/runs.js.map +1 -1
- package/dist/routes/skillInputOptions.d.ts +2 -2
- package/dist/routes/skillInputOptions.d.ts.map +1 -1
- package/dist/routes/skillInputOptions.js +53 -53
- package/dist/routes/skillInputOptions.js.map +1 -1
- package/dist/routes/skills.d.ts +19 -1
- package/dist/routes/skills.d.ts.map +1 -1
- package/dist/routes/skills.js +141 -7
- package/dist/routes/skills.js.map +1 -1
- package/dist/routes/sourceLoaders.d.ts.map +1 -1
- package/dist/routes/sourceLoaders.js +1 -0
- package/dist/routes/sourceLoaders.js.map +1 -1
- package/dist/routes/sourceUnitObservations.d.ts +20 -0
- package/dist/routes/sourceUnitObservations.d.ts.map +1 -0
- package/dist/routes/sourceUnitObservations.js +80 -0
- package/dist/routes/sourceUnitObservations.js.map +1 -0
- package/dist/routes/sourceWebhooks.d.ts +26 -0
- package/dist/routes/sourceWebhooks.d.ts.map +1 -0
- package/dist/routes/sourceWebhooks.js +301 -0
- package/dist/routes/sourceWebhooks.js.map +1 -0
- package/dist/routes/users.d.ts +0 -2
- package/dist/routes/users.d.ts.map +1 -1
- package/dist/routes/users.js +15 -33
- package/dist/routes/users.js.map +1 -1
- package/dist/routes/workspaceEvents.d.ts +5 -4
- package/dist/routes/workspaceEvents.d.ts.map +1 -1
- package/dist/routes/workspaceEvents.js +7 -6
- package/dist/routes/workspaceEvents.js.map +1 -1
- package/dist/routes/workspaceMembers.d.ts +1 -1
- package/dist/routes/workspaceMembers.d.ts.map +1 -1
- package/dist/routes/workspaceMembers.js +2 -2
- package/dist/routes/workspaceMembers.js.map +1 -1
- package/dist/routes/workspaces.d.ts +21 -10
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/routes/workspaces.js +95 -69
- package/dist/routes/workspaces.js.map +1 -1
- package/dist/server.js +6 -70
- package/dist/server.js.map +1 -1
- package/dist/serviceAccounts.d.ts +13 -0
- package/dist/serviceAccounts.d.ts.map +1 -0
- package/dist/serviceAccounts.js +26 -0
- package/dist/serviceAccounts.js.map +1 -0
- package/dist/startServer.d.ts +17 -0
- package/dist/startServer.d.ts.map +1 -0
- package/dist/startServer.js +81 -0
- package/dist/startServer.js.map +1 -0
- package/dist/startup.d.ts +28 -0
- package/dist/startup.d.ts.map +1 -0
- package/dist/startup.js +94 -0
- package/dist/startup.js.map +1 -0
- package/package.json +35 -40
- package/dist/composeFs.d.ts +0 -55
- package/dist/composeFs.d.ts.map +0 -1
- package/dist/composeFs.js.map +0 -1
- package/dist/composition.d.ts +0 -133
- package/dist/composition.d.ts.map +0 -1
- package/dist/composition.js +0 -113
- package/dist/composition.js.map +0 -1
- package/dist/infrastructure/agent/SubprocessSkillRunner.d.ts +0 -75
- package/dist/infrastructure/agent/SubprocessSkillRunner.d.ts.map +0 -1
- package/dist/infrastructure/agent/SubprocessSkillRunner.js.map +0 -1
- package/dist/infrastructure/agent/asyncQueue.d.ts +0 -22
- package/dist/infrastructure/agent/asyncQueue.d.ts.map +0 -1
- package/dist/infrastructure/agent/mcpConfig.d.ts +0 -38
- package/dist/infrastructure/agent/mcpConfig.d.ts.map +0 -1
- package/dist/infrastructure/agent/mcpConfig.js +0 -55
- package/dist/infrastructure/agent/mcpConfig.js.map +0 -1
- package/dist/infrastructure/agent/streamJsonParser.d.ts +0 -20
- package/dist/infrastructure/agent/streamJsonParser.d.ts.map +0 -1
- package/dist/infrastructure/agent/streamJsonParser.js.map +0 -1
- package/dist/infrastructure/agent/subprocessEventStream.d.ts +0 -26
- package/dist/infrastructure/agent/subprocessEventStream.d.ts.map +0 -1
- package/dist/infrastructure/agent/subprocessEventStream.js +0 -112
- package/dist/infrastructure/agent/subprocessEventStream.js.map +0 -1
- package/dist/infrastructure/auth/ensureApprovedEmails.d.ts +0 -16
- package/dist/infrastructure/auth/ensureApprovedEmails.d.ts.map +0 -1
- package/dist/infrastructure/auth/ensureApprovedEmails.js +0 -20
- package/dist/infrastructure/auth/ensureApprovedEmails.js.map +0 -1
- package/dist/infrastructure/env.d.ts +0 -11
- package/dist/infrastructure/env.d.ts.map +0 -1
- package/dist/infrastructure/env.js.map +0 -1
- package/dist/infrastructure/fs/FsBatchPlanRepository.d.ts +0 -300
- package/dist/infrastructure/fs/FsBatchPlanRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsBatchPlanRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsClarifyTicketRepository.d.ts +0 -13
- package/dist/infrastructure/fs/FsClarifyTicketRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsClarifyTicketRepository.js +0 -39
- package/dist/infrastructure/fs/FsClarifyTicketRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsDecisionRepository.d.ts +0 -13
- package/dist/infrastructure/fs/FsDecisionRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsDecisionRepository.js +0 -56
- package/dist/infrastructure/fs/FsDecisionRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsGraphSerializer.d.ts +0 -629
- package/dist/infrastructure/fs/FsGraphSerializer.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsGraphSerializer.js.map +0 -1
- package/dist/infrastructure/fs/FsProposalRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsProposalRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsRunRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsRunRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsSkillRegistry.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsSkillRegistry.js.map +0 -1
- package/dist/infrastructure/fs/FsSourceUnitDigest.d.ts +0 -19
- package/dist/infrastructure/fs/FsSourceUnitDigest.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsSourceUnitDigest.js.map +0 -1
- package/dist/infrastructure/fs/FsSourceUnitStateRepository.d.ts +0 -30
- package/dist/infrastructure/fs/FsSourceUnitStateRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsSourceUnitStateRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsStatusedJsonRepository.d.ts +0 -35
- package/dist/infrastructure/fs/FsStatusedJsonRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsStatusedJsonRepository.js.map +0 -1
- package/dist/infrastructure/fs/FsWorkspaceRepository.d.ts.map +0 -1
- package/dist/infrastructure/fs/FsWorkspaceRepository.js.map +0 -1
- package/dist/infrastructure/fs/WorkspaceDiscovery.d.ts +0 -15
- package/dist/infrastructure/fs/WorkspaceDiscovery.d.ts.map +0 -1
- package/dist/infrastructure/fs/WorkspaceDiscovery.js.map +0 -1
- package/dist/infrastructure/fs/WorkspaceRegistryFile.d.ts.map +0 -1
- package/dist/infrastructure/fs/WorkspaceRegistryFile.js.map +0 -1
- package/dist/infrastructure/fs/frontmatter.d.ts +0 -13
- package/dist/infrastructure/fs/frontmatter.d.ts.map +0 -1
- package/dist/infrastructure/fs/frontmatter.js.map +0 -1
- package/dist/infrastructure/fs/intentScan.d.ts +0 -9
- package/dist/infrastructure/fs/intentScan.d.ts.map +0 -1
- package/dist/infrastructure/fs/intentScan.js.map +0 -1
- package/dist/infrastructure/fs/jsonFileStore.d.ts.map +0 -1
- package/dist/infrastructure/fs/jsonFileStore.js.map +0 -1
- package/dist/infrastructure/fs/paths.d.ts.map +0 -1
- package/dist/infrastructure/fs/paths.js.map +0 -1
- package/dist/infrastructure/fs/productManifestWriter.d.ts +0 -22
- package/dist/infrastructure/fs/productManifestWriter.d.ts.map +0 -1
- package/dist/infrastructure/fs/productManifestWriter.js.map +0 -1
- package/dist/infrastructure/git/GitWorkspaceHistory.d.ts.map +0 -1
- package/dist/infrastructure/git/GitWorkspaceHistory.js.map +0 -1
- package/dist/infrastructure/git/commitMessage.d.ts.map +0 -1
- package/dist/infrastructure/git/commitMessage.js +0 -71
- package/dist/infrastructure/git/commitMessage.js.map +0 -1
- package/dist/infrastructure/orphanReaper.d.ts +0 -18
- package/dist/infrastructure/orphanReaper.d.ts.map +0 -1
- package/dist/infrastructure/orphanReaper.js.map +0 -1
- package/dist/infrastructure/users/ensureLocalUser.d.ts +0 -15
- package/dist/infrastructure/users/ensureLocalUser.d.ts.map +0 -1
- package/dist/infrastructure/users/ensureLocalUser.js +0 -38
- package/dist/infrastructure/users/ensureLocalUser.js.map +0 -1
- package/dist/middleware/requireAdmin.d.ts +0 -10
- package/dist/middleware/requireAdmin.d.ts.map +0 -1
- package/dist/middleware/requireAdmin.js +0 -24
- package/dist/middleware/requireAdmin.js.map +0 -1
- package/dist/middleware/userId.d.ts +0 -16
- package/dist/middleware/userId.d.ts.map +0 -1
- package/dist/middleware/userId.js +0 -27
- package/dist/middleware/userId.js.map +0 -1
- package/dist/policy/Capability.d.ts +0 -12
- package/dist/policy/Capability.d.ts.map +0 -1
- package/dist/policy/Capability.js +0 -31
- package/dist/policy/Capability.js.map +0 -1
- package/dist/routes/clarify.d.ts +0 -9
- package/dist/routes/clarify.d.ts.map +0 -1
- package/dist/routes/clarify.js +0 -274
- package/dist/routes/clarify.js.map +0 -1
- package/dist/routes/decisions.d.ts +0 -7
- package/dist/routes/decisions.d.ts.map +0 -1
- package/dist/routes/decisions.js +0 -68
- package/dist/routes/decisions.js.map +0 -1
- package/dist/routes/sourceUnitStates.d.ts +0 -7
- package/dist/routes/sourceUnitStates.d.ts.map +0 -1
- package/dist/routes/sourceUnitStates.js +0 -45
- package/dist/routes/sourceUnitStates.js.map +0 -1
- /package/dist/infrastructure/{fs → _shared}/jsonFileStore.d.ts +0 -0
- /package/dist/infrastructure/{fs → _shared}/jsonFileStore.js +0 -0
- /package/dist/infrastructure/{git → history}/GitWorkspaceHistory.d.ts +0 -0
- /package/dist/infrastructure/{git → history}/commitMessage.d.ts +0 -0
- /package/dist/infrastructure/{fs → hitl}/FsProposalRepository.d.ts +0 -0
- /package/dist/infrastructure/{fs → workspace}/FsWorkspaceRepository.d.ts +0 -0
|
@@ -4,51 +4,56 @@ import { join } from 'node:path';
|
|
|
4
4
|
import process from 'node:process';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import { claudeCodeAgentPlugin } from '@braidhq/agent-claude-code';
|
|
7
|
-
import { builtinSkillsRoot,
|
|
8
|
-
import { InMemoryWorkspaceEventBus } from '@braidhq/core/
|
|
7
|
+
import { builtinSkillsRoot, NotFoundError, PluginRegistry, ValidationError, WorkspaceBootstrapService, } from '@braidhq/core';
|
|
8
|
+
import { InMemoryWorkspaceEventBus } from '@braidhq/core/in-memory';
|
|
9
9
|
import { dddOntology } from '@braidhq/ontology-ddd';
|
|
10
10
|
import { AgentId, AgentKind, StorageKind as StorageKindSchema } from '@braidhq/schema';
|
|
11
11
|
import { createGoogleDriveLoader } from '@braidhq/source-loader-gdrive';
|
|
12
12
|
import { gitLoader } from '@braidhq/source-loader-git';
|
|
13
13
|
import { createGithubLoader } from '@braidhq/source-loader-github';
|
|
14
14
|
import { kuzuStoragePlugin } from '@braidhq/storage-kuzu';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
15
|
+
import { authenticated, localTrust } from './authMode.js';
|
|
16
|
+
import { composeApp } from './composeApp.js';
|
|
17
|
+
import { parseBoolEnv } from './infrastructure/_shared/env.js';
|
|
17
18
|
import { AccessPolicy } from './infrastructure/auth/AccessPolicy.js';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { FsGraphSerializer } from './infrastructure/fs/FsGraphSerializer.js';
|
|
25
|
-
import { FsProposalRepository } from './infrastructure/fs/FsProposalRepository.js';
|
|
26
|
-
import { FsRunRepository } from './infrastructure/fs/FsRunRepository.js';
|
|
27
|
-
import { FsSkillRegistry } from './infrastructure/fs/FsSkillRegistry.js';
|
|
28
|
-
import { FsSourceUnitDigest } from './infrastructure/fs/FsSourceUnitDigest.js';
|
|
29
|
-
import { FsSourceUnitStateRepository } from './infrastructure/fs/FsSourceUnitStateRepository.js';
|
|
30
|
-
import { FsWorkspaceRepository } from './infrastructure/fs/FsWorkspaceRepository.js';
|
|
31
|
-
import { listIntentItems } from './infrastructure/fs/intentScan.js';
|
|
32
|
-
import { discoverCanonicalWorkspaces } from './infrastructure/fs/WorkspaceDiscovery.js';
|
|
33
|
-
import { WorkspaceRegistryFile } from './infrastructure/fs/WorkspaceRegistryFile.js';
|
|
34
|
-
import { GitWorkspaceHistory } from './infrastructure/git/GitWorkspaceHistory.js';
|
|
19
|
+
import { FsSessionStore } from './infrastructure/auth/SessionStore.js';
|
|
20
|
+
import { FsBatchPlanRepository } from './infrastructure/batch/FsBatchPlanRepository.js';
|
|
21
|
+
import { GitWorkspaceHistory } from './infrastructure/history/GitWorkspaceHistory.js';
|
|
22
|
+
import { FsClarificationRepository } from './infrastructure/hitl/FsClarificationRepository.js';
|
|
23
|
+
import { FsProposalRepository } from './infrastructure/hitl/FsProposalRepository.js';
|
|
24
|
+
import { FsModelSerializer } from './infrastructure/model/FsModelSerializer.js';
|
|
35
25
|
import { GoogleOAuth } from './infrastructure/oauth/GoogleOAuth.js';
|
|
26
|
+
import { FsReactorCycleRepository } from './infrastructure/reactor/FsReactorCycleRepository.js';
|
|
36
27
|
import { FsSecretStore } from './infrastructure/secrets/SecretStore.js';
|
|
37
|
-
import {
|
|
28
|
+
import { FsRunRepository } from './infrastructure/skill/FsRunRepository.js';
|
|
29
|
+
import { FsSkillRegistry } from './infrastructure/skill/FsSkillRegistry.js';
|
|
30
|
+
import { SubprocessSkillRunner } from './infrastructure/skill/SubprocessSkillRunner.js';
|
|
31
|
+
import { FsSourceUnitDigest } from './infrastructure/source/FsSourceUnitDigest.js';
|
|
32
|
+
import { FsSourceUnitObservationRepository } from './infrastructure/source/FsSourceUnitObservationRepository.js';
|
|
33
|
+
import { listUnitItems, unitBearingRolesOf } from './infrastructure/source/unitScan.js';
|
|
38
34
|
import { ensureWorkspaceOwners } from './infrastructure/users/ensureWorkspaceOwners.js';
|
|
39
35
|
import { UserDirectoryFromRegistry } from './infrastructure/users/UserDirectoryFromRegistry.js';
|
|
40
36
|
import { UserRegistryFile } from './infrastructure/users/UserRegistryFile.js';
|
|
37
|
+
import { FsWorkspaceRepository } from './infrastructure/workspace/FsWorkspaceRepository.js';
|
|
38
|
+
import { discoverCanonicalWorkspaces } from './infrastructure/workspace/WorkspaceDiscovery.js';
|
|
39
|
+
import { WorkspaceRegistryFile } from './infrastructure/workspace/WorkspaceRegistryFile.js';
|
|
40
|
+
import { ensureServiceAccount, REACTOR_USER_ID } from './serviceAccounts.js';
|
|
41
|
+
import { startupBeforeServe } from './startup.js';
|
|
42
|
+
// The coding preset's default plugin identities, its worldview in one place.
|
|
43
|
+
// A caller overrides any of these through ComposeFsOptions,
|
|
44
|
+
// or drops to composeApp with its own PluginRegistry for a different worldview.
|
|
45
|
+
const DEFAULT_STORAGE_KIND = 'kuzu';
|
|
46
|
+
const DEFAULT_AGENT_KIND = 'claude-code';
|
|
47
|
+
const DEFAULT_AGENT_MODEL = 'opus';
|
|
48
|
+
const DEFAULT_AGENT_EFFORT = 'high';
|
|
41
49
|
/**
|
|
42
|
-
* Opinionated production composition
|
|
43
|
-
* workspaces
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* agent).
|
|
50
|
+
* Opinionated production composition, the coding preset.
|
|
51
|
+
* Filesystem-persists workspaces, proposals, and clarifications,
|
|
52
|
+
* and bundles Kuzu storage, the DDD ontology, the git, github, and drive
|
|
53
|
+
* loaders, and the claude-code agent.
|
|
47
54
|
*
|
|
48
|
-
* To run
|
|
49
|
-
*
|
|
50
|
-
* / `agentKind` to pick a different active one, OR
|
|
51
|
-
* 2. Call `composeApp` directly with a `pluginRegistry` you built yourself.
|
|
55
|
+
* To run a different plugin set, either pass `extraXxxPlugins` and flip
|
|
56
|
+
* `storageKind` or `agentKind`, or call `composeApp` with your own registry.
|
|
52
57
|
*/
|
|
53
58
|
export async function composeFsApp(options = {}) {
|
|
54
59
|
const braidHome = options.braidHome ?? process.env.BRAID_HOME ?? join(homedir(), '.braid');
|
|
@@ -68,19 +73,15 @@ export async function composeFsApp(options = {}) {
|
|
|
68
73
|
: undefined;
|
|
69
74
|
const registry = new WorkspaceRegistryFile(join(braidHome, 'workspaces.json'));
|
|
70
75
|
const workspaceRepository = new FsWorkspaceRepository({ registry });
|
|
71
|
-
// Server-side user roster
|
|
72
|
-
// Auth and ACL belong to the host, not to
|
|
73
|
-
// workspace records. Single-user local installs get a `local-user`
|
|
74
|
-
// bootstrapped here so `userIdMiddleware`'s default actually resolves.
|
|
76
|
+
// Server-side user roster, distinct from any workspace's git history.
|
|
77
|
+
// Auth and ACL belong to the host, not to what a workspace records.
|
|
75
78
|
const userRegistry = new UserRegistryFile(join(braidHome, 'users.json'));
|
|
76
|
-
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
// why this is fine to read once.
|
|
83
|
-
const sessionStore = new SessionStore(join(braidHome, 'sessions.json'));
|
|
79
|
+
// Auth state. Both files live next to `users.json` under `${BRAID_HOME}`,
|
|
80
|
+
// never inside a workspace,
|
|
81
|
+
// because access control is host state, not a workspace artifact.
|
|
82
|
+
// AccessPolicy reads env at construct time.
|
|
83
|
+
// Production deployments restart on config changes, so reading once is fine.
|
|
84
|
+
const sessionStore = new FsSessionStore(join(braidHome, 'sessions.json'));
|
|
84
85
|
const accessPolicyConfig = {};
|
|
85
86
|
const allowedDomains = parseCsv(process.env.BRAID_ALLOWED_DOMAINS);
|
|
86
87
|
if (allowedDomains)
|
|
@@ -92,21 +93,29 @@ export async function composeFsApp(options = {}) {
|
|
|
92
93
|
if (adminEmails)
|
|
93
94
|
accessPolicyConfig.adminEmails = adminEmails;
|
|
94
95
|
const accessPolicy = new AccessPolicy(join(braidHome, 'access.json'), accessPolicyConfig);
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
|
|
96
|
+
// Boot, part one, provision host identity, who may use this server.
|
|
97
|
+
// Local trust is the default.
|
|
98
|
+
// Production sets `BRAID_LOCAL_TRUST=false` to require real authentication.
|
|
99
|
+
// We do not flip the default when Google OAuth env is present,
|
|
100
|
+
// those creds also feed the Drive loader,
|
|
101
|
+
// and a dev pulling from Drive should not hit Login on every reload.
|
|
102
|
+
const authMode = parseBoolEnv(process.env.BRAID_LOCAL_TRUST, true) ? localTrust : authenticated;
|
|
103
|
+
// Local trust seeds `local-user`, authenticated mode syncs the login allowlist.
|
|
104
|
+
await authMode.provision({ userRegistry, accessPolicy });
|
|
105
|
+
// The reactor is an autonomous component, so it seeds its own service account.
|
|
106
|
+
// Its kind=service rides onto every proposal it submits,
|
|
107
|
+
// so the HITL views classify it without a read-time lookup.
|
|
108
|
+
await ensureServiceAccount(userRegistry, REACTOR_USER_ID, 'Reactor');
|
|
98
109
|
const studioUrl = process.env.BRAID_STUDIO_URL ?? 'http://localhost:5173';
|
|
99
110
|
const workspaceRoots = async () => {
|
|
100
111
|
const workspaces = await workspaceRepository.list();
|
|
101
112
|
return new Map(workspaces.map(ws => [ws.id, ws.rootPath]));
|
|
102
113
|
};
|
|
103
114
|
const proposalRepository = new FsProposalRepository({ workspaceRoots });
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
// and c4 registered; the active one is chosen per-workspace via
|
|
109
|
-
// PRODUCT.md.ontologyId.
|
|
115
|
+
const clarificationRepository = new FsClarificationRepository({ workspaceRoots });
|
|
116
|
+
// Plugin registration. Defaults bundle first, then extras,
|
|
117
|
+
// so a caller passing `extraOntologyPlugins: [c4]` gets both ddd and c4.
|
|
118
|
+
// The active one is chosen per-workspace via PRODUCT.md.ontologyId.
|
|
110
119
|
const pluginRegistry = new PluginRegistry();
|
|
111
120
|
pluginRegistry.register(kuzuStoragePlugin);
|
|
112
121
|
for (const plugin of options.extraStoragePlugins ?? [])
|
|
@@ -121,10 +130,11 @@ export async function composeFsApp(options = {}) {
|
|
|
121
130
|
pluginRegistry.register(claudeCodeAgentPlugin);
|
|
122
131
|
for (const plugin of options.extraAgentPlugins ?? [])
|
|
123
132
|
pluginRegistry.register(plugin);
|
|
124
|
-
// The gdrive loader is always registered
|
|
125
|
-
// `kind: gdrive` source doesn't crash at plugin lookup.
|
|
126
|
-
// vars aren't configured,
|
|
127
|
-
//
|
|
133
|
+
// The gdrive loader is always registered,
|
|
134
|
+
// so a `kind: gdrive` source doesn't crash at plugin lookup.
|
|
135
|
+
// If OAuth env vars aren't configured,
|
|
136
|
+
// the token resolver throws an actionable error at provision time,
|
|
137
|
+
// so the user knows exactly what to set.
|
|
128
138
|
const oauth = googleOAuth;
|
|
129
139
|
pluginRegistry.register(createGoogleDriveLoader({
|
|
130
140
|
resolveAccessToken: async ({ workspaceId, sourceId }) => {
|
|
@@ -137,7 +147,7 @@ export async function composeFsApp(options = {}) {
|
|
|
137
147
|
throw new NotFoundError(`Google Drive source "${sourceId}" on workspace "${workspaceId}" is not connected. `
|
|
138
148
|
+ `Authorise via POST /oauth/google/start.`);
|
|
139
149
|
}
|
|
140
|
-
// 60-second skew so we don't hand out a token about to expire mid-request.
|
|
150
|
+
// 60-second skew, so we don't hand out a token about to expire mid-request.
|
|
141
151
|
const stillValidUntil = new Date(stored.expiresAt).getTime() - 60_000;
|
|
142
152
|
if (Date.now() < stillValidUntil)
|
|
143
153
|
return stored.accessToken;
|
|
@@ -151,7 +161,7 @@ export async function composeFsApp(options = {}) {
|
|
|
151
161
|
},
|
|
152
162
|
}));
|
|
153
163
|
// Resolve the active storage plugin and ask it for a ModelRepository.
|
|
154
|
-
const storageKind = StorageKindSchema.parse(options.storageKind ?? process.env.BRAID_STORAGE_KIND ??
|
|
164
|
+
const storageKind = StorageKindSchema.parse(options.storageKind ?? process.env.BRAID_STORAGE_KIND ?? DEFAULT_STORAGE_KIND);
|
|
155
165
|
const modelRepository = await pluginRegistry.requireStoragePlugin(storageKind).createModelRepository({ kind: storageKind, config: {} }, {
|
|
156
166
|
workspaceRootPath: braidHome,
|
|
157
167
|
logger: { info: () => { }, warn: () => { }, error: () => { } },
|
|
@@ -163,30 +173,33 @@ export async function composeFsApp(options = {}) {
|
|
|
163
173
|
return root;
|
|
164
174
|
},
|
|
165
175
|
});
|
|
166
|
-
//
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
176
|
+
// Server default agent.
|
|
177
|
+
// A skill overrides kind, model, or effort in its SKILL.md frontmatter,
|
|
178
|
+
// and the runner merges that onto this default at run time.
|
|
179
|
+
const agentKind = AgentKind.parse(options.agentKind ?? DEFAULT_AGENT_KIND);
|
|
180
|
+
const defaultAgent = {
|
|
181
|
+
id: AgentId.parse(DEFAULT_AGENT_KIND),
|
|
170
182
|
kind: agentKind,
|
|
171
|
-
model: options.agentModel ??
|
|
172
|
-
effort: options.agentEffort ??
|
|
183
|
+
model: options.agentModel ?? DEFAULT_AGENT_MODEL,
|
|
184
|
+
effort: options.agentEffort ?? DEFAULT_AGENT_EFFORT,
|
|
173
185
|
extraArgs: [],
|
|
174
186
|
env: {},
|
|
175
|
-
}
|
|
187
|
+
};
|
|
176
188
|
const runRepository = new FsRunRepository();
|
|
177
|
-
// Built after pluginRegistry is populated
|
|
178
|
-
// files mount under the `plugin`
|
|
189
|
+
// Built after pluginRegistry is populated,
|
|
190
|
+
// so plugin-shipped SKILL.md files mount under the `plugin` origin,
|
|
191
|
+
// alongside builtins.
|
|
179
192
|
const skillRegistry = new FsSkillRegistry({
|
|
180
193
|
builtinSkillsRoot: builtinSkillsRoot,
|
|
181
194
|
pluginRegistry,
|
|
182
195
|
});
|
|
183
196
|
const eventBus = new InMemoryWorkspaceEventBus();
|
|
184
|
-
// Built-in braid-core MCP gateway
|
|
185
|
-
//
|
|
186
|
-
// The gateway lifecycle tracks the claude subprocess
|
|
187
|
-
// long-running server
|
|
188
|
-
//
|
|
189
|
-
// `
|
|
197
|
+
// Built-in braid-core MCP gateway. Each spawned skill gets a stdio entry,
|
|
198
|
+
// running `uvx openapi-mcp-gateway --transport stdio`.
|
|
199
|
+
// The gateway lifecycle tracks the claude subprocess,
|
|
200
|
+
// with no separate long-running server, and needs `uv` on PATH.
|
|
201
|
+
// If `uv` is missing, the entry is skipped.
|
|
202
|
+
// Skills that require `braid-core` then surface as not-ready,
|
|
190
203
|
// via SkillManifest.readinessIssuesFor, with a clear pointer.
|
|
191
204
|
const uvxBin = await detectUvx();
|
|
192
205
|
if (!uvxBin) {
|
|
@@ -194,17 +207,20 @@ export async function composeFsApp(options = {}) {
|
|
|
194
207
|
+ 'Install via `brew install uv` or https://docs.astral.sh/uv/ to enable.');
|
|
195
208
|
}
|
|
196
209
|
// Build the list of reference dirs symlinked into every skill session:
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
// -
|
|
200
|
-
//
|
|
210
|
+
// - builtin `shared/` from @braidhq/core,
|
|
211
|
+
// format docs for Proposal, Clarification, Validator, content conventions,
|
|
212
|
+
// and drift-detection guidance.
|
|
213
|
+
// - whatever each registered plugin contributes,
|
|
214
|
+
// for example the concept doc from ontology-ddd.
|
|
215
|
+
// Plugin contributions resolve `URL` to an absolute path.
|
|
201
216
|
const pluginReferenceDirs = pluginRegistry.pluginReferenceDirs().map((ref) => {
|
|
202
217
|
const dir = typeof ref.directory === 'string' ? ref.directory : fileURLToPath(ref.directory);
|
|
203
218
|
return { name: ref.name, path: dir };
|
|
204
219
|
});
|
|
205
220
|
const skillRunner = new SubprocessSkillRunner({
|
|
206
221
|
skillRegistry,
|
|
207
|
-
|
|
222
|
+
buildAgentBinding: descriptor => pluginRegistry.requireAgentPlugin(descriptor.kind).createBinding(descriptor),
|
|
223
|
+
defaultAgent,
|
|
208
224
|
apiUrl,
|
|
209
225
|
runRepository,
|
|
210
226
|
eventBus,
|
|
@@ -216,12 +232,13 @@ export async function composeFsApp(options = {}) {
|
|
|
216
232
|
...pluginReferenceDirs,
|
|
217
233
|
],
|
|
218
234
|
});
|
|
219
|
-
// Shared by
|
|
235
|
+
// Shared by WorkspaceBootstrapService (boot reconciliation),
|
|
236
|
+
// and HITLService (per-mutation commits).
|
|
220
237
|
const history = new GitWorkspaceHistory();
|
|
221
|
-
const
|
|
222
|
-
const bootstrap = new
|
|
238
|
+
const modelSerializer = new FsModelSerializer();
|
|
239
|
+
const bootstrap = new WorkspaceBootstrapService({
|
|
223
240
|
history,
|
|
224
|
-
serializer:
|
|
241
|
+
serializer: modelSerializer,
|
|
225
242
|
modelRepository,
|
|
226
243
|
});
|
|
227
244
|
const workspacesRoot = join(braidHome, 'workspaces');
|
|
@@ -229,8 +246,7 @@ export async function composeFsApp(options = {}) {
|
|
|
229
246
|
const deps = composeApp({
|
|
230
247
|
workspaceRepository,
|
|
231
248
|
proposalRepository,
|
|
232
|
-
|
|
233
|
-
decisionRepository,
|
|
249
|
+
clarificationRepository,
|
|
234
250
|
modelRepository,
|
|
235
251
|
skillRegistry,
|
|
236
252
|
skillRunner,
|
|
@@ -239,44 +255,31 @@ export async function composeFsApp(options = {}) {
|
|
|
239
255
|
eventBus,
|
|
240
256
|
workspacesRoot,
|
|
241
257
|
history,
|
|
242
|
-
|
|
258
|
+
modelSerializer,
|
|
243
259
|
bootstrap,
|
|
244
260
|
batchPlanRepository: new FsBatchPlanRepository(),
|
|
245
|
-
|
|
246
|
-
|
|
261
|
+
unitLister: workspace => listUnitItems(workspace, unitBearingRolesOf(pluginRegistry, workspace)),
|
|
262
|
+
// The reactor has no human caller, so it acts as the `reactor` service account,
|
|
263
|
+
// minting a short-lived session so its API calls authenticate.
|
|
264
|
+
reactorToken: async () => (await sessionStore.issue(REACTOR_USER_ID, { ttlSeconds: 3600 })).token,
|
|
265
|
+
sourceUnitObservationRepository: new FsSourceUnitObservationRepository({ workspaceRoots }),
|
|
266
|
+
reactorCycleRepository: new FsReactorCycleRepository({ workspaceRoots }),
|
|
247
267
|
sourceUnitDigest: new FsSourceUnitDigest(),
|
|
248
268
|
userDirectory,
|
|
269
|
+
authMode,
|
|
249
270
|
});
|
|
250
|
-
//
|
|
251
|
-
//
|
|
252
|
-
//
|
|
271
|
+
// Boot, part two, reconcile workspaces, register then boot each.
|
|
272
|
+
// Pick up workspaces on disk but not in the registry,
|
|
273
|
+
// such as CLI-created ones, scaffold orphans, or copies from another machine.
|
|
274
|
+
// Registry add is idempotent, safe on every boot.
|
|
253
275
|
await discoverCanonicalWorkspaces(workspacesRoot, deps.workspaceService);
|
|
254
|
-
//
|
|
255
|
-
//
|
|
256
|
-
//
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
//
|
|
260
|
-
|
|
261
|
-
for (const workspace of await deps.workspaceService.list()) {
|
|
262
|
-
try {
|
|
263
|
-
await bootstrap.ensure(workspace);
|
|
264
|
-
// Mark any batch plan left running by a previous process as failed so
|
|
265
|
-
// the UI doesn't show a phantom spinner. Safe to call even when there
|
|
266
|
-
// is no plan or when the plan is already terminal.
|
|
267
|
-
await deps.batchService?.reconcileAfterBoot(workspace.id);
|
|
268
|
-
}
|
|
269
|
-
catch (err) {
|
|
270
|
-
bootstrapLog.warn({ err, workspaceId: workspace.id }, 'workspace bootstrap failed; skipping');
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
// Local trust is the default; production deployments opt into the
|
|
274
|
-
// Bearer-token gate by setting `BRAID_LOCAL_TRUST=false`. We deliberately
|
|
275
|
-
// DON'T flip the default just because Google OAuth env vars are
|
|
276
|
-
// present — those same creds are also used by the Drive source
|
|
277
|
-
// loader for ingest, so a local dev workspace pulling from Drive
|
|
278
|
-
// would otherwise get pushed into the Login flow on every reload.
|
|
279
|
-
const localTrust = parseBoolEnv(process.env.BRAID_LOCAL_TRUST, true);
|
|
276
|
+
// Give any workspace with an empty members[] its default owner,
|
|
277
|
+
// covering older registry entries and freshly discovered workspaces.
|
|
278
|
+
// Owner promotion via `/members` routes can rewrite this later.
|
|
279
|
+
await ensureWorkspaceOwners(registry, authMode.defaultPrincipal);
|
|
280
|
+
// Blocking per-workspace startup, provision, recover, subscribe, catch-up sync.
|
|
281
|
+
// See startup.ts, the single home for boot steps.
|
|
282
|
+
await startupBeforeServe(deps);
|
|
280
283
|
return {
|
|
281
284
|
...deps,
|
|
282
285
|
bootstrap,
|
|
@@ -286,7 +289,6 @@ export async function composeFsApp(options = {}) {
|
|
|
286
289
|
sessionStore,
|
|
287
290
|
accessPolicy,
|
|
288
291
|
studioUrl,
|
|
289
|
-
localTrust,
|
|
290
292
|
...(googleOAuth ? { googleOAuth } : {}),
|
|
291
293
|
};
|
|
292
294
|
}
|
|
@@ -296,14 +298,13 @@ function parseCsv(input) {
|
|
|
296
298
|
const parts = input.split(',').map(s => s.trim()).filter(s => s.length > 0);
|
|
297
299
|
return parts.length > 0 ? parts : undefined;
|
|
298
300
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
*/
|
|
301
|
+
// Resolve the `uvx` binary path by running `uvx --version`.
|
|
302
|
+
// Returns `'uvx'` when the call succeeds.
|
|
303
|
+
// We let `PATH` resolve it at spawn time,
|
|
304
|
+
// so we don't bake an absolute path into mcp-config.
|
|
305
|
+
// Returns `undefined` when `uv` isn't installed.
|
|
306
|
+
// Honours `BRAID_UVX_BIN` for pinning a specific binary, a uv off PATH,
|
|
307
|
+
// or a stub injected by tests.
|
|
307
308
|
async function detectUvx() {
|
|
308
309
|
const pinned = process.env.BRAID_UVX_BIN;
|
|
309
310
|
const command = pinned && pinned.length > 0 ? pinned : 'uvx';
|
|
@@ -313,4 +314,4 @@ async function detectUvx() {
|
|
|
313
314
|
child.once('exit', code => resolve(code === 0 ? command : undefined));
|
|
314
315
|
});
|
|
315
316
|
}
|
|
316
|
-
//# sourceMappingURL=
|
|
317
|
+
//# sourceMappingURL=composeFsApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composeFsApp.js","sourceRoot":"","sources":["../src/composeFsApp.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './app.js';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
2
|
+
export * from './composeApp.js';
|
|
3
|
+
export * from './composeFsApp.js';
|
|
4
4
|
export * from './middleware/error.js';
|
|
5
|
+
export * from './startServer.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './app.js';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
2
|
+
export * from './composeApp.js';
|
|
3
|
+
export * from './composeFsApp.js';
|
|
4
4
|
export * from './middleware/error.js';
|
|
5
|
+
export * from './startServer.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a boolean env var. Canonical form is `true` or `false`.
|
|
3
|
+
* We also accept the common YAML and shell idioms (`yes`/`no`, `on`/`off`, `1`/`0`),
|
|
4
|
+
* so existing `.env` files don't break on the rename.
|
|
5
|
+
*
|
|
6
|
+
* Returns `defaultValue` when the variable is unset or the literal is unrecognised.
|
|
7
|
+
* This silent fall-through keeps a typo in env from crashing the server boot.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseBoolEnv(value: string | undefined, defaultValue: boolean): boolean;
|
|
10
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/_shared/env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAStF"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Parse a boolean env var. Canonical form is `true`
|
|
3
|
-
* accept the common YAML
|
|
4
|
-
*
|
|
2
|
+
* Parse a boolean env var. Canonical form is `true` or `false`.
|
|
3
|
+
* We also accept the common YAML and shell idioms (`yes`/`no`, `on`/`off`, `1`/`0`),
|
|
4
|
+
* so existing `.env` files don't break on the rename.
|
|
5
5
|
*
|
|
6
|
-
* Returns `defaultValue` when the variable is unset or the literal is
|
|
7
|
-
*
|
|
8
|
-
* crash the server boot).
|
|
6
|
+
* Returns `defaultValue` when the variable is unset or the literal is unrecognised.
|
|
7
|
+
* This silent fall-through keeps a typo in env from crashing the server boot.
|
|
9
8
|
*/
|
|
10
9
|
export function parseBoolEnv(value, defaultValue) {
|
|
11
10
|
if (value === undefined)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/infrastructure/_shared/env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,YAAqB;IAC3E,IAAI,KAAK,KAAK,SAAS;QACrB,OAAO,YAAY,CAAA;IACrB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACxC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI;QACxE,OAAO,IAAI,CAAA;IACb,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK;QACzE,OAAO,KAAK,CAAA;IACd,OAAO,YAAY,CAAA;AACrB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface MarkdownDocument<T> {
|
|
2
|
+
readonly frontmatter: T;
|
|
3
|
+
readonly body: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Splits a markdown file into YAML frontmatter and body.
|
|
7
|
+
* The YAML sits between `---` delimiters on their own lines at the top.
|
|
8
|
+
* Keys are normalised recursively from kebab-case to camelCase,
|
|
9
|
+
* from the YAML convention Claude Code uses to the TS convention,
|
|
10
|
+
* so Zod schemas can declare fields naturally in TS.
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseMarkdownFrontmatter<T>(content: string): MarkdownDocument<T>;
|
|
13
|
+
//# sourceMappingURL=frontmatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/_shared/frontmatter.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAmBhF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { parse as parseYaml } from 'yaml';
|
|
2
2
|
const FRONTMATTER_DELIMITER = '---';
|
|
3
3
|
/**
|
|
4
|
-
* Splits a markdown file into YAML frontmatter
|
|
5
|
-
* between `---` delimiters on their own lines at the top
|
|
6
|
-
* Keys are normalised from kebab-case
|
|
7
|
-
* Code
|
|
8
|
-
* can declare fields naturally in TS.
|
|
4
|
+
* Splits a markdown file into YAML frontmatter and body.
|
|
5
|
+
* The YAML sits between `---` delimiters on their own lines at the top.
|
|
6
|
+
* Keys are normalised recursively from kebab-case to camelCase,
|
|
7
|
+
* from the YAML convention Claude Code uses to the TS convention,
|
|
8
|
+
* so Zod schemas can declare fields naturally in TS.
|
|
9
9
|
*/
|
|
10
10
|
export function parseMarkdownFrontmatter(content) {
|
|
11
11
|
const lines = content.split('\n');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../../src/infrastructure/_shared/frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AAEzC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAOnC;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAI,OAAe;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,qBAAqB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,CAAC,CAAA;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,qBAAqB,EAAE,CAAC;YACnD,YAAY,GAAG,KAAK,CAAA;YACpB,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAY,CAAA;IAC5C,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,CAAM,EAAE,IAAI,EAAE,CAAA;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;AAC1E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAA;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonFileStore.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/_shared/jsonFileStore.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAGlE;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlF;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAaxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonFileStore.js","sourceRoot":"","sources":["../../../src/infrastructure/_shared/jsonFileStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,QAAgB;IACpD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,QAAgB,EAAE,OAAU;IACjE,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,MAAc;IAC7D,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,MAAM,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,OAAO,OAAO;aACX,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YACpD,OAAO,EAAE,CAAA;QACX,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { AbsolutePath,
|
|
1
|
+
import type { AbsolutePath, ClarificationStatus, ProposalStatus, WorkspaceId } from '@braidhq/schema';
|
|
2
2
|
export declare const PROPOSAL_STATUSES: readonly ProposalStatus[];
|
|
3
|
-
export declare const CLARIFY_STATUSES: readonly
|
|
3
|
+
export declare const CLARIFY_STATUSES: readonly ClarificationStatus[];
|
|
4
4
|
/**
|
|
5
|
-
* Path-prefix containment check. Both inputs must be absolute.
|
|
6
|
-
* the `/foo/bar-evil` vs `/foo/bar/` aliasing gotcha
|
|
7
|
-
* parent with a trailing slash before `startsWith`.
|
|
5
|
+
* Path-prefix containment check. Both inputs must be absolute.
|
|
6
|
+
* Handles the `/foo/bar-evil` vs `/foo/bar/` aliasing gotcha,
|
|
7
|
+
* normalising the parent with a trailing slash before `startsWith`.
|
|
8
8
|
*/
|
|
9
9
|
export declare function isUnder(candidate: string, parent: string): boolean;
|
|
10
10
|
/** `true` when `path` resolves to anything (file, dir, symlink). */
|
|
@@ -12,17 +12,24 @@ export declare function pathExists(path: string): Promise<boolean>;
|
|
|
12
12
|
export declare function workspaceArtifactsDir(workspaceRoot: AbsolutePath): string;
|
|
13
13
|
export declare function graphJsonPath(workspaceRoot: AbsolutePath): string;
|
|
14
14
|
export declare function batchPlanPath(workspaceRoot: AbsolutePath): string;
|
|
15
|
-
export declare function
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function
|
|
15
|
+
export declare function sourceUnitObservationDir(workspaceRoot: AbsolutePath): string;
|
|
16
|
+
export declare function sourceUnitObservationFilePath(workspaceRoot: AbsolutePath, sourceId: string, relativePath: string): string;
|
|
17
|
+
export declare function sourceUnitObservationSourceDir(workspaceRoot: AbsolutePath, sourceId: string): string;
|
|
18
18
|
export declare function proposalsDir(workspaceRoot: AbsolutePath, status: ProposalStatus): string;
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function decisionsDir(workspaceRoot: AbsolutePath): string;
|
|
19
|
+
export declare function clarificationDir(workspaceRoot: AbsolutePath, status: ClarificationStatus): string;
|
|
21
20
|
export declare function viewsDir(workspaceRoot: AbsolutePath, kind: string): string;
|
|
22
21
|
export declare function runsDir(workspaceRoot: AbsolutePath): string;
|
|
22
|
+
export declare function reactorCyclesDir(workspaceRoot: AbsolutePath): string;
|
|
23
|
+
export declare function reactorCycleFilePath(workspaceRoot: AbsolutePath, cycleId: string): string;
|
|
23
24
|
export declare function runIndexPath(workspaceRoot: AbsolutePath): string;
|
|
24
25
|
export declare function runEventsPath(workspaceRoot: AbsolutePath, runId: string): string;
|
|
25
26
|
export declare function runSessionsMetadataPath(workspaceRoot: AbsolutePath): string;
|
|
27
|
+
/**
|
|
28
|
+
* claude stores conversation memory keyed by cwd,
|
|
29
|
+
* so resume must spawn from the same dir as the first turn.
|
|
30
|
+
* Keeping it in the workspace, not /tmp, stays derivable from runId,
|
|
31
|
+
* and survives a server restart.
|
|
32
|
+
*/
|
|
26
33
|
export declare function sessionsDir(workspaceRoot: AbsolutePath): string;
|
|
27
34
|
export declare function sessionDirPath(workspaceRoot: AbsolutePath, runId: string): string;
|
|
28
35
|
export declare function workspaceSkillsDir(workspaceRoot: AbsolutePath): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/_shared/paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIrG,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAAuC,CAAA;AAC9F,eAAO,MAAM,gBAAgB,EAAE,SAAS,mBAAmB,EAAkD,CAAA;AAE7G;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,oEAAoE;AACpE,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/D;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEzE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEjE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEjE;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAE5E;AAED,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,YAAY,EAC3B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CAQR;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,YAAY,EAC3B,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAExF;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAEjG;AAED,wBAAgB,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,OAAO,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEhE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAE/D;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAE/E;AAED,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEhF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B"}
|