@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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { UserId } from '@braidhq/schema';
|
|
2
|
+
import type { AccessPolicy } from './infrastructure/auth/AccessPolicy.js';
|
|
3
|
+
import type { UserRegistryFile } from './infrastructure/users/UserRegistryFile.js';
|
|
4
|
+
export declare const LOCAL_USER_ID: string & import("zod").$brand<"UserId">;
|
|
5
|
+
export interface AuthContext {
|
|
6
|
+
readonly userRegistry: UserRegistryFile;
|
|
7
|
+
readonly accessPolicy: AccessPolicy;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* How a deployment resolves identity.
|
|
11
|
+
* The one axis that separates a trusted local install,
|
|
12
|
+
* from an authenticated remote server.
|
|
13
|
+
*
|
|
14
|
+
* Two separate axes, not one nullable field.
|
|
15
|
+
* `defaultPrincipal` is the identity axis, the implicit user for an
|
|
16
|
+
* unauthenticated request, and the owner a workspace falls back to,
|
|
17
|
+
* or null when there is no implicit user.
|
|
18
|
+
* `requiresAuth` is the policy axis, whether a caller must present a valid
|
|
19
|
+
* Bearer token. The middleware reads this, never the principal's null-ness.
|
|
20
|
+
*
|
|
21
|
+
* Stateless behaviour behind an interface, so a const object per mode,
|
|
22
|
+
* the idiomatic strategy form when there is no constructor dependency.
|
|
23
|
+
*/
|
|
24
|
+
export interface AuthMode {
|
|
25
|
+
readonly defaultPrincipal: UserId | null;
|
|
26
|
+
readonly requiresAuth: boolean;
|
|
27
|
+
provision: (context: AuthContext) => Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A local desktop or sidecar. One implicit user owns everything,
|
|
31
|
+
* so provision seeds that `local-user` admin account, idempotently.
|
|
32
|
+
*/
|
|
33
|
+
export declare const localTrust: AuthMode;
|
|
34
|
+
/**
|
|
35
|
+
* A remote server. Real users authenticate against an allowlist,
|
|
36
|
+
* so provision back-fills `approvedEmails` from the roster, idempotently.
|
|
37
|
+
*/
|
|
38
|
+
export declare const authenticated: AuthMode;
|
|
39
|
+
//# sourceMappingURL=authMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authMode.d.ts","sourceRoot":"","sources":["../src/authMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAKlF,eAAO,MAAM,aAAa,yCAAmC,CAAA;AAE7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAE9B,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,QAaxB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAS3B,CAAA"}
|
package/dist/authMode.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { userInfo } from 'node:os';
|
|
2
|
+
import process from 'node:process';
|
|
3
|
+
import { UserId as UserIdSchema } from '@braidhq/schema';
|
|
4
|
+
export const LOCAL_USER_ID = UserIdSchema.parse('local-user');
|
|
5
|
+
/**
|
|
6
|
+
* A local desktop or sidecar. One implicit user owns everything,
|
|
7
|
+
* so provision seeds that `local-user` admin account, idempotently.
|
|
8
|
+
*/
|
|
9
|
+
export const localTrust = {
|
|
10
|
+
defaultPrincipal: LOCAL_USER_ID,
|
|
11
|
+
requiresAuth: false,
|
|
12
|
+
async provision({ userRegistry }) {
|
|
13
|
+
if (await userRegistry.get(LOCAL_USER_ID))
|
|
14
|
+
return;
|
|
15
|
+
await userRegistry.create({
|
|
16
|
+
id: LOCAL_USER_ID,
|
|
17
|
+
displayName: osUsername(),
|
|
18
|
+
serverRole: 'admin',
|
|
19
|
+
createdAt: new Date().toISOString(),
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A remote server. Real users authenticate against an allowlist,
|
|
25
|
+
* so provision back-fills `approvedEmails` from the roster, idempotently.
|
|
26
|
+
*/
|
|
27
|
+
export const authenticated = {
|
|
28
|
+
defaultPrincipal: null,
|
|
29
|
+
requiresAuth: true,
|
|
30
|
+
async provision({ userRegistry, accessPolicy }) {
|
|
31
|
+
for (const user of await userRegistry.list()) {
|
|
32
|
+
if (user.email)
|
|
33
|
+
await accessPolicy.approveEmail(user.email);
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
// Default display name from the OS account.
|
|
38
|
+
// Some sandboxed environments throw on userInfo(), so fall through.
|
|
39
|
+
function osUsername() {
|
|
40
|
+
try {
|
|
41
|
+
const info = userInfo();
|
|
42
|
+
if (info.username && info.username.length > 0)
|
|
43
|
+
return info.username;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// The userInfo lookup can throw, fall through to the env vars below.
|
|
47
|
+
}
|
|
48
|
+
return process.env.USER ?? process.env.USERNAME ?? 'local';
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=authMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authMode.js","sourceRoot":"","sources":["../src/authMode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAExD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AA6B7D;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,gBAAgB,EAAE,aAAa;IAC/B,YAAY,EAAE,KAAK;IACnB,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE;QAC9B,IAAI,MAAM,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;YACvC,OAAM;QACR,MAAM,YAAY,CAAC,MAAM,CAAC;YACxB,EAAE,EAAE,aAAa;YACjB,WAAW,EAAE,UAAU,EAAE;YACzB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAe;SACjD,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;QAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK;gBACZ,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;CACF,CAAA;AAED,4CAA4C;AAC5C,oEAAoE;AACpE,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAA;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IACD,MAAM,CAAC;QACL,qEAAqE;IACvE,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAA;AAC5D,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { BatchPlanRepository, ClarificationRepository, Clock, ModelRepository, ModelSerializer, ProposalRepository, ReactorCycleRepository, RunRepository, SkillRegistry, SkillRunner, SourceUnitDigest, SourceUnitObservationRepository, UnitLister, UserDirectory, WorkspaceBootstrapService, WorkspaceEventBus, WorkspaceHistory, WorkspaceRepository } from '@braidhq/core';
|
|
2
|
+
import type { AbsolutePath } from '@braidhq/schema';
|
|
3
|
+
import type { AuthMode } from './authMode.js';
|
|
4
|
+
import type { AccessPolicy } from './infrastructure/auth/AccessPolicy.js';
|
|
5
|
+
import type { SessionStore } from './infrastructure/auth/SessionStore.js';
|
|
6
|
+
import type { GoogleOAuth } from './infrastructure/oauth/GoogleOAuth.js';
|
|
7
|
+
import type { SecretStore } from './infrastructure/secrets/SecretStore.js';
|
|
8
|
+
import type { UserRegistryFile } from './infrastructure/users/UserRegistryFile.js';
|
|
9
|
+
import type { WorkspaceRegistryFile } from './infrastructure/workspace/WorkspaceRegistryFile.js';
|
|
10
|
+
import { BatchService, HistoryService, HITLService, ModelService, ModelValidationService, PluginRegistry, ReactorService, SourceLoaderRunner, SourceUnitObservationService, WorkspaceService } from '@braidhq/core';
|
|
11
|
+
/**
|
|
12
|
+
* The assembled application, what routes and middleware consume.
|
|
13
|
+
* A required field is always present.
|
|
14
|
+
* An optional field is a capability slot,
|
|
15
|
+
* absent under in-memory or test wiring, filled by `composeFsApp`.
|
|
16
|
+
*/
|
|
17
|
+
export interface AppDependencies {
|
|
18
|
+
workspaceService: WorkspaceService;
|
|
19
|
+
hitlService: HITLService;
|
|
20
|
+
modelService: ModelService;
|
|
21
|
+
modelValidationService: ModelValidationService;
|
|
22
|
+
sourceLoaderRunner: SourceLoaderRunner;
|
|
23
|
+
sourceUnitObservationService: SourceUnitObservationService;
|
|
24
|
+
historyService?: HistoryService;
|
|
25
|
+
batchService?: BatchService;
|
|
26
|
+
reactorService?: ReactorService;
|
|
27
|
+
modelRepository: ModelRepository;
|
|
28
|
+
workspaceRepository: WorkspaceRepository;
|
|
29
|
+
proposalRepository: ProposalRepository;
|
|
30
|
+
clarificationRepository: ClarificationRepository;
|
|
31
|
+
runRepository: RunRepository;
|
|
32
|
+
reactorCycleRepository: ReactorCycleRepository;
|
|
33
|
+
unitLister?: UnitLister;
|
|
34
|
+
sourceUnitDigest?: SourceUnitDigest;
|
|
35
|
+
skillRegistry: SkillRegistry | undefined;
|
|
36
|
+
skillRunner: SkillRunner | undefined;
|
|
37
|
+
eventBus: WorkspaceEventBus;
|
|
38
|
+
pluginRegistry: PluginRegistry;
|
|
39
|
+
clock: Clock;
|
|
40
|
+
workspacesRoot: AbsolutePath;
|
|
41
|
+
bootstrap?: WorkspaceBootstrapService;
|
|
42
|
+
authMode: AuthMode;
|
|
43
|
+
userRegistry?: UserRegistryFile;
|
|
44
|
+
workspaceRegistry?: WorkspaceRegistryFile;
|
|
45
|
+
sessionStore?: SessionStore;
|
|
46
|
+
accessPolicy?: AccessPolicy;
|
|
47
|
+
secretStore?: SecretStore;
|
|
48
|
+
googleOAuth?: GoogleOAuth;
|
|
49
|
+
studioUrl?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Every field is optional, an unset one falls to an in-memory default.
|
|
53
|
+
* `composeFsApp` passes the fs, git, and vendor adapters through here.
|
|
54
|
+
*/
|
|
55
|
+
export interface ComposeOptions {
|
|
56
|
+
clock?: Clock;
|
|
57
|
+
eventBus?: WorkspaceEventBus;
|
|
58
|
+
pluginRegistry?: PluginRegistry;
|
|
59
|
+
modelRepository?: ModelRepository;
|
|
60
|
+
workspaceRepository?: WorkspaceRepository;
|
|
61
|
+
proposalRepository?: ProposalRepository;
|
|
62
|
+
clarificationRepository?: ClarificationRepository;
|
|
63
|
+
runRepository?: RunRepository;
|
|
64
|
+
reactorCycleRepository?: ReactorCycleRepository;
|
|
65
|
+
sourceUnitObservationRepository?: SourceUnitObservationRepository;
|
|
66
|
+
batchPlanRepository?: BatchPlanRepository;
|
|
67
|
+
unitLister?: UnitLister;
|
|
68
|
+
sourceUnitDigest?: SourceUnitDigest;
|
|
69
|
+
reactorToken?: () => Promise<string | undefined>;
|
|
70
|
+
skillRegistry?: SkillRegistry;
|
|
71
|
+
skillRunner?: SkillRunner;
|
|
72
|
+
history?: WorkspaceHistory;
|
|
73
|
+
modelSerializer?: ModelSerializer;
|
|
74
|
+
bootstrap?: WorkspaceBootstrapService;
|
|
75
|
+
userDirectory?: UserDirectory;
|
|
76
|
+
authMode?: AuthMode;
|
|
77
|
+
workspacesRoot?: AbsolutePath;
|
|
78
|
+
}
|
|
79
|
+
export declare function composeApp(options?: ComposeOptions): AppDependencies;
|
|
80
|
+
//# sourceMappingURL=composeApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composeApp.d.ts","sourceRoot":"","sources":["../src/composeApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { tmpdir } from 'node:os';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { BatchService, createLogger, HistoryService, HITLService, ModelService, ModelValidationService, PluginRegistry, ReactorService, SourceLoaderRunner, SourceUnitObservationService, SystemClock, SystemScheduler, WorkspaceLock, WorkspaceService, } from '@braidhq/core';
|
|
4
|
+
import { InMemoryClarificationRepository, InMemoryModelRepository, InMemoryProposalRepository, InMemoryReactorCycleRepository, InMemorySourceUnitObservationRepository, InMemoryWorkspaceEventBus, InMemoryWorkspaceRepository, NoopRunRepository, } from '@braidhq/core/in-memory';
|
|
5
|
+
import { localTrust } from './authMode.js';
|
|
6
|
+
export function composeApp(options = {}) {
|
|
7
|
+
const clock = options.clock ?? new SystemClock();
|
|
8
|
+
const proposalRepository = options.proposalRepository ?? new InMemoryProposalRepository();
|
|
9
|
+
const clarificationRepository = options.clarificationRepository ?? new InMemoryClarificationRepository();
|
|
10
|
+
const modelRepository = options.modelRepository ?? new InMemoryModelRepository();
|
|
11
|
+
const workspaceRepository = options.workspaceRepository ?? new InMemoryWorkspaceRepository();
|
|
12
|
+
const pluginRegistry = options.pluginRegistry ?? new PluginRegistry();
|
|
13
|
+
const eventBus = options.eventBus ?? new InMemoryWorkspaceEventBus();
|
|
14
|
+
const workspaceService = new WorkspaceService({ workspaceRepository, pluginRegistry });
|
|
15
|
+
const modelService = new ModelService({ modelRepository });
|
|
16
|
+
const modelValidationService = new ModelValidationService({ pluginRegistry });
|
|
17
|
+
const sourceLoaderRunner = new SourceLoaderRunner({ pluginRegistry, clock, eventBus });
|
|
18
|
+
// Shared lock domain so HITL mutations and history restore exclude each other.
|
|
19
|
+
const workspaceLock = new WorkspaceLock();
|
|
20
|
+
const hitlService = new HITLService({
|
|
21
|
+
proposalRepository,
|
|
22
|
+
clarificationRepository,
|
|
23
|
+
modelRepository,
|
|
24
|
+
modelValidationService,
|
|
25
|
+
workspaceService,
|
|
26
|
+
clock,
|
|
27
|
+
eventBus,
|
|
28
|
+
workspaceLock,
|
|
29
|
+
...(options.history ? { history: options.history } : {}),
|
|
30
|
+
...(options.modelSerializer ? { modelSerializer: options.modelSerializer } : {}),
|
|
31
|
+
...(options.userDirectory ? { userDirectory: options.userDirectory } : {}),
|
|
32
|
+
});
|
|
33
|
+
const historyService = options.history && options.bootstrap
|
|
34
|
+
? new HistoryService({
|
|
35
|
+
history: options.history,
|
|
36
|
+
workspaceService,
|
|
37
|
+
workspaceLock,
|
|
38
|
+
bootstrap: options.bootstrap,
|
|
39
|
+
runRepository: options.runRepository ?? new NoopRunRepository(),
|
|
40
|
+
...(options.skillRunner ? { skillRunner: options.skillRunner } : {}),
|
|
41
|
+
...(options.userDirectory ? { userDirectory: options.userDirectory } : {}),
|
|
42
|
+
eventBus,
|
|
43
|
+
clock,
|
|
44
|
+
})
|
|
45
|
+
: undefined;
|
|
46
|
+
const sourceUnitObservationRepository = options.sourceUnitObservationRepository ?? new InMemorySourceUnitObservationRepository();
|
|
47
|
+
const sourceUnitDigest = options.sourceUnitDigest ?? new FailingSourceUnitDigest();
|
|
48
|
+
const sourceUnitObservationService = new SourceUnitObservationService({
|
|
49
|
+
repository: sourceUnitObservationRepository,
|
|
50
|
+
digest: sourceUnitDigest,
|
|
51
|
+
workspaceService,
|
|
52
|
+
clock,
|
|
53
|
+
});
|
|
54
|
+
// Batch needs SkillRunner, HistoryService, BatchPlanRepository, and a lister.
|
|
55
|
+
// Without them there is no batch surface.
|
|
56
|
+
const batchService = historyService && options.skillRunner && options.batchPlanRepository && options.unitLister
|
|
57
|
+
? new BatchService({
|
|
58
|
+
workspaceService,
|
|
59
|
+
skillRunner: options.skillRunner,
|
|
60
|
+
proposalRepository,
|
|
61
|
+
clarificationRepository,
|
|
62
|
+
historyService,
|
|
63
|
+
hitlService,
|
|
64
|
+
batchPlanRepository: options.batchPlanRepository,
|
|
65
|
+
unitLister: options.unitLister,
|
|
66
|
+
pluginRegistry,
|
|
67
|
+
eventBus,
|
|
68
|
+
workspaceLock,
|
|
69
|
+
clock,
|
|
70
|
+
sourceUnitObservationService,
|
|
71
|
+
})
|
|
72
|
+
: undefined;
|
|
73
|
+
// Reactor shares Batch's dependency footprint of skillRunner, unitLister,
|
|
74
|
+
// and sourceUnitObservationService, plus the event bus.
|
|
75
|
+
// We construct it whenever those are present.
|
|
76
|
+
// The service stays inert until something calls `start(workspaceId)`.
|
|
77
|
+
// `composeFsApp` drives start on workspaces,
|
|
78
|
+
// whose ProductManifest.reactor.enabled is true.
|
|
79
|
+
const reactorCycleRepository = options.reactorCycleRepository ?? new InMemoryReactorCycleRepository();
|
|
80
|
+
const reactorService = options.skillRunner && options.unitLister && sourceUnitDigest && !(sourceUnitDigest instanceof FailingSourceUnitDigest)
|
|
81
|
+
? new ReactorService({
|
|
82
|
+
eventBus,
|
|
83
|
+
workspaceService,
|
|
84
|
+
pluginRegistry,
|
|
85
|
+
skillRunner: options.skillRunner,
|
|
86
|
+
sourceUnitObservationService,
|
|
87
|
+
unitLister: options.unitLister,
|
|
88
|
+
...(options.reactorToken ? { reactorToken: options.reactorToken } : {}),
|
|
89
|
+
digest: sourceUnitDigest,
|
|
90
|
+
reactorCycleRepository,
|
|
91
|
+
workspaceLock,
|
|
92
|
+
clock,
|
|
93
|
+
logger: createLogger('reactor'),
|
|
94
|
+
scheduler: new SystemScheduler(),
|
|
95
|
+
})
|
|
96
|
+
: undefined;
|
|
97
|
+
return {
|
|
98
|
+
workspaceService,
|
|
99
|
+
hitlService,
|
|
100
|
+
...(historyService ? { historyService } : {}),
|
|
101
|
+
...(batchService ? { batchService } : {}),
|
|
102
|
+
...(reactorService ? { reactorService } : {}),
|
|
103
|
+
reactorCycleRepository,
|
|
104
|
+
...(options.unitLister ? { unitLister: options.unitLister } : {}),
|
|
105
|
+
...(options.sourceUnitDigest ? { sourceUnitDigest: options.sourceUnitDigest } : {}),
|
|
106
|
+
...(options.bootstrap ? { bootstrap: options.bootstrap } : {}),
|
|
107
|
+
sourceUnitObservationService,
|
|
108
|
+
modelService,
|
|
109
|
+
modelValidationService,
|
|
110
|
+
sourceLoaderRunner,
|
|
111
|
+
eventBus,
|
|
112
|
+
pluginRegistry,
|
|
113
|
+
proposalRepository,
|
|
114
|
+
clarificationRepository,
|
|
115
|
+
modelRepository,
|
|
116
|
+
workspaceRepository,
|
|
117
|
+
skillRegistry: options.skillRegistry,
|
|
118
|
+
skillRunner: options.skillRunner,
|
|
119
|
+
runRepository: options.runRepository ?? new NoopRunRepository(),
|
|
120
|
+
workspacesRoot: options.workspacesRoot ?? join(tmpdir(), 'braid-workspaces'),
|
|
121
|
+
// `composeApp` is the test and in-memory composition entry.
|
|
122
|
+
// It defaults to local trust, the local-user fallback,
|
|
123
|
+
// so a test that wires a sessionStore still resolves a caller.
|
|
124
|
+
authMode: options.authMode ?? localTrust,
|
|
125
|
+
clock,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// Default `SourceUnitDigest` for in-memory `composeApp()` callers. Any call throws.
|
|
129
|
+
// Production must wire a real impl via `composeFsApp` or pass one explicitly.
|
|
130
|
+
// Tests that don't exercise observations stay happy,
|
|
131
|
+
// because the digest is never reached.
|
|
132
|
+
class FailingSourceUnitDigest {
|
|
133
|
+
async computeSha() {
|
|
134
|
+
throw new Error('SourceUnitDigest is not wired. Pass `sourceUnitDigest` to composeApp() (composeFsApp does this automatically).');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=composeApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composeApp.js","sourceRoot":"","sources":["../src/composeApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AgentPlugin, OntologyPlugin, SourceLoaderPlugin, StoragePlugin } from '@braidhq/core';
|
|
2
|
+
import type { AgentEffort, StorageKind } from '@braidhq/schema';
|
|
3
|
+
import type { AppDependencies } from './composeApp.js';
|
|
4
|
+
import { AgentKind } from '@braidhq/schema';
|
|
5
|
+
export interface ComposeFsOptions {
|
|
6
|
+
readonly braidHome?: string;
|
|
7
|
+
readonly apiUrl?: string;
|
|
8
|
+
readonly storageKind?: StorageKind;
|
|
9
|
+
readonly agentKind?: AgentKind;
|
|
10
|
+
readonly agentModel?: string;
|
|
11
|
+
readonly agentEffort?: AgentEffort;
|
|
12
|
+
readonly extraStoragePlugins?: readonly StoragePlugin[];
|
|
13
|
+
readonly extraOntologyPlugins?: readonly OntologyPlugin[];
|
|
14
|
+
readonly extraSourceLoaderPlugins?: readonly SourceLoaderPlugin[];
|
|
15
|
+
readonly extraAgentPlugins?: readonly AgentPlugin[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Opinionated production composition, the coding preset.
|
|
19
|
+
* Filesystem-persists workspaces, proposals, and clarifications,
|
|
20
|
+
* and bundles Kuzu storage, the DDD ontology, the git, github, and drive
|
|
21
|
+
* loaders, and the claude-code agent.
|
|
22
|
+
*
|
|
23
|
+
* To run a different plugin set, either pass `extraXxxPlugins` and flip
|
|
24
|
+
* `storageKind` or `agentKind`, or call `composeApp` with your own registry.
|
|
25
|
+
*/
|
|
26
|
+
export declare function composeFsApp(options?: ComposeFsOptions): Promise<AppDependencies>;
|
|
27
|
+
//# sourceMappingURL=composeFsApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composeFsApp.d.ts","sourceRoot":"","sources":["../src/composeFsApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACnG,OAAO,KAAK,EAAwC,WAAW,EAAE,WAAW,EAAe,MAAM,iBAAiB,CAAA;AAClH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAgBtD,OAAO,EAAW,SAAS,EAAoC,MAAM,iBAAiB,CAAA;AAyCtF,MAAM,WAAW,gBAAgB;IAI/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAIxB,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAKlC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACvD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IACzD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqR3F"}
|