@braidhq/server 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +47 -8
- package/dist/app.js.map +1 -1
- package/dist/composeApp.d.ts +15 -3
- package/dist/composeApp.d.ts.map +1 -1
- package/dist/composeApp.js +28 -2
- package/dist/composeApp.js.map +1 -1
- package/dist/composeFsApp.d.ts +52 -3
- package/dist/composeFsApp.d.ts.map +1 -1
- package/dist/composeFsApp.js +237 -64
- package/dist/composeFsApp.js.map +1 -1
- package/dist/defaultOntologyPlugins.d.ts +9 -0
- package/dist/defaultOntologyPlugins.d.ts.map +1 -0
- package/dist/defaultOntologyPlugins.js +11 -0
- package/dist/defaultOntologyPlugins.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/_shared/paths.d.ts +2 -0
- package/dist/infrastructure/_shared/paths.d.ts.map +1 -1
- package/dist/infrastructure/_shared/paths.js +6 -0
- package/dist/infrastructure/_shared/paths.js.map +1 -1
- package/dist/infrastructure/oauth/GitHubOAuth.d.ts +45 -0
- package/dist/infrastructure/oauth/GitHubOAuth.d.ts.map +1 -0
- package/dist/infrastructure/oauth/GitHubOAuth.js +85 -0
- package/dist/infrastructure/oauth/GitHubOAuth.js.map +1 -0
- package/dist/infrastructure/oauth/providers.d.ts +19 -0
- package/dist/infrastructure/oauth/providers.d.ts.map +1 -0
- package/dist/infrastructure/oauth/providers.js +22 -0
- package/dist/infrastructure/oauth/providers.js.map +1 -0
- package/dist/infrastructure/skill/FsSkillRegistry.d.ts +6 -0
- package/dist/infrastructure/skill/FsSkillRegistry.d.ts.map +1 -1
- package/dist/infrastructure/skill/FsSkillRegistry.js +7 -1
- package/dist/infrastructure/skill/FsSkillRegistry.js.map +1 -1
- package/dist/infrastructure/skill/SubprocessSkillRunner.d.ts +28 -5
- package/dist/infrastructure/skill/SubprocessSkillRunner.d.ts.map +1 -1
- package/dist/infrastructure/skill/SubprocessSkillRunner.js +133 -13
- package/dist/infrastructure/skill/SubprocessSkillRunner.js.map +1 -1
- package/dist/infrastructure/source/FsSourceSyncStateRepository.d.ts +24 -0
- package/dist/infrastructure/source/FsSourceSyncStateRepository.d.ts.map +1 -0
- package/dist/infrastructure/source/FsSourceSyncStateRepository.js +71 -0
- package/dist/infrastructure/source/FsSourceSyncStateRepository.js.map +1 -0
- package/dist/infrastructure/source/unitScan.d.ts.map +1 -1
- package/dist/infrastructure/source/unitScan.js +51 -3
- package/dist/infrastructure/source/unitScan.js.map +1 -1
- package/dist/infrastructure/workspace/productManifestWriter.d.ts +5 -1
- package/dist/infrastructure/workspace/productManifestWriter.d.ts.map +1 -1
- package/dist/infrastructure/workspace/productManifestWriter.js +5 -2
- package/dist/infrastructure/workspace/productManifestWriter.js.map +1 -1
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +8 -1
- package/dist/middleware/auth.js.map +1 -1
- package/dist/routes/oauth.d.ts +51 -10
- package/dist/routes/oauth.d.ts.map +1 -1
- package/dist/routes/oauth.js +174 -62
- package/dist/routes/oauth.js.map +1 -1
- package/dist/routes/skillInputOptions.js +4 -1
- package/dist/routes/skillInputOptions.js.map +1 -1
- package/dist/routes/skills.d.ts +7 -1
- package/dist/routes/skills.d.ts.map +1 -1
- package/dist/routes/skills.js +10 -0
- package/dist/routes/skills.js.map +1 -1
- package/dist/routes/sourceConnection.d.ts +30 -0
- package/dist/routes/sourceConnection.d.ts.map +1 -0
- package/dist/routes/sourceConnection.js +51 -0
- package/dist/routes/sourceConnection.js.map +1 -0
- package/dist/routes/sourceWebhooks.d.ts +10 -2
- package/dist/routes/sourceWebhooks.d.ts.map +1 -1
- package/dist/routes/sourceWebhooks.js +23 -11
- package/dist/routes/sourceWebhooks.js.map +1 -1
- package/dist/routes/workspaces.d.ts +10 -1
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/routes/workspaces.js +50 -7
- package/dist/routes/workspaces.js.map +1 -1
- package/dist/startServer.d.ts +7 -1
- package/dist/startServer.d.ts.map +1 -1
- package/dist/startServer.js +18 -3
- package/dist/startServer.js.map +1 -1
- package/dist/startup.d.ts.map +1 -1
- package/dist/startup.js +7 -1
- package/dist/startup.js.map +1 -1
- package/package.json +17 -15
package/dist/composeFsApp.js
CHANGED
|
@@ -6,14 +6,15 @@ import { fileURLToPath } from 'node:url';
|
|
|
6
6
|
import { claudeCodeAgentPlugin } from '@braidhq/agent-claude-code';
|
|
7
7
|
import { builtinSkillsRoot, NotFoundError, PluginRegistry, ValidationError, WorkspaceBootstrapService, } from '@braidhq/core';
|
|
8
8
|
import { InMemoryWorkspaceEventBus } from '@braidhq/core/in-memory';
|
|
9
|
-
import { dddOntology } from '@braidhq/ontology-ddd';
|
|
10
9
|
import { AgentId, AgentKind, StorageKind as StorageKindSchema } from '@braidhq/schema';
|
|
11
10
|
import { createGoogleDriveLoader } from '@braidhq/source-loader-gdrive';
|
|
12
11
|
import { gitLoader } from '@braidhq/source-loader-git';
|
|
13
12
|
import { createGithubLoader } from '@braidhq/source-loader-github';
|
|
13
|
+
import { createMcpLoader } from '@braidhq/source-loader-mcp';
|
|
14
14
|
import { kuzuStoragePlugin } from '@braidhq/storage-kuzu';
|
|
15
15
|
import { authenticated, localTrust } from './authMode.js';
|
|
16
16
|
import { composeApp } from './composeApp.js';
|
|
17
|
+
import { defaultOntologyPlugins } from './defaultOntologyPlugins.js';
|
|
17
18
|
import { parseBoolEnv } from './infrastructure/_shared/env.js';
|
|
18
19
|
import { AccessPolicy } from './infrastructure/auth/AccessPolicy.js';
|
|
19
20
|
import { FsSessionStore } from './infrastructure/auth/SessionStore.js';
|
|
@@ -22,12 +23,15 @@ import { GitWorkspaceHistory } from './infrastructure/history/GitWorkspaceHistor
|
|
|
22
23
|
import { FsClarificationRepository } from './infrastructure/hitl/FsClarificationRepository.js';
|
|
23
24
|
import { FsProposalRepository } from './infrastructure/hitl/FsProposalRepository.js';
|
|
24
25
|
import { FsModelSerializer } from './infrastructure/model/FsModelSerializer.js';
|
|
26
|
+
import { GitHubOAuth } from './infrastructure/oauth/GitHubOAuth.js';
|
|
25
27
|
import { GoogleOAuth } from './infrastructure/oauth/GoogleOAuth.js';
|
|
28
|
+
import { oauthNamespace } from './infrastructure/oauth/providers.js';
|
|
26
29
|
import { FsReactorCycleRepository } from './infrastructure/reactor/FsReactorCycleRepository.js';
|
|
27
30
|
import { FsSecretStore } from './infrastructure/secrets/SecretStore.js';
|
|
28
31
|
import { FsRunRepository } from './infrastructure/skill/FsRunRepository.js';
|
|
29
|
-
import { FsSkillRegistry } from './infrastructure/skill/FsSkillRegistry.js';
|
|
32
|
+
import { BUILTIN_SKILL_NAMESPACE, FsSkillRegistry } from './infrastructure/skill/FsSkillRegistry.js';
|
|
30
33
|
import { SubprocessSkillRunner } from './infrastructure/skill/SubprocessSkillRunner.js';
|
|
34
|
+
import { FsSourceSyncStateRepository } from './infrastructure/source/FsSourceSyncStateRepository.js';
|
|
31
35
|
import { FsSourceUnitDigest } from './infrastructure/source/FsSourceUnitDigest.js';
|
|
32
36
|
import { FsSourceUnitObservationRepository } from './infrastructure/source/FsSourceUnitObservationRepository.js';
|
|
33
37
|
import { listUnitItems, unitBearingRolesOf } from './infrastructure/source/unitScan.js';
|
|
@@ -41,11 +45,77 @@ import { ensureServiceAccount, REACTOR_USER_ID } from './serviceAccounts.js';
|
|
|
41
45
|
import { startupBeforeServe } from './startup.js';
|
|
42
46
|
// The coding preset's default plugin identities, its worldview in one place.
|
|
43
47
|
// A caller overrides any of these through ComposeFsOptions,
|
|
44
|
-
// or
|
|
48
|
+
// or hands composeFsAppWithRegistry its own PluginRegistry,
|
|
49
|
+
// for a different worldview over the same runtime.
|
|
45
50
|
const DEFAULT_STORAGE_KIND = 'kuzu';
|
|
46
51
|
const DEFAULT_AGENT_KIND = 'claude-code';
|
|
47
52
|
const DEFAULT_AGENT_MODEL = 'opus';
|
|
48
53
|
const DEFAULT_AGENT_EFFORT = 'high';
|
|
54
|
+
/**
|
|
55
|
+
* The source loaders a default Braid build ships with.
|
|
56
|
+
* Exported so a third-party composition can take the git, github, and drive
|
|
57
|
+
* loaders without inheriting the rest of the coding preset.
|
|
58
|
+
*/
|
|
59
|
+
export function defaultSourceLoaderPlugins(context) {
|
|
60
|
+
const { secretStore, githubOAuth, googleOAuth } = context;
|
|
61
|
+
return [
|
|
62
|
+
gitLoader,
|
|
63
|
+
createGithubLoader({
|
|
64
|
+
resolveAccessToken: makeOAuthTokenResolver({
|
|
65
|
+
secretStore,
|
|
66
|
+
namespace: oauthNamespace('github'),
|
|
67
|
+
refresh: githubOAuth ? refreshToken => githubOAuth.refreshAccessToken(refreshToken) : undefined,
|
|
68
|
+
notConfigured: sourceId => new ValidationError(`GitHub source "${sourceId}" cannot be loaded: set BRAID_GITHUB_CLIENT_ID and BRAID_GITHUB_CLIENT_SECRET on the server, restart, then reconnect.`),
|
|
69
|
+
notConnected: (workspaceId, sourceId) => new NotFoundError(`GitHub source "${sourceId}" on workspace "${workspaceId}" is not connected. `
|
|
70
|
+
+ `Connect it from the source settings in Studio.`),
|
|
71
|
+
}),
|
|
72
|
+
}),
|
|
73
|
+
// Drive is listed even when its OAuth env is unset,
|
|
74
|
+
// so a `kind: gdrive` source resolves a loader instead of failing lookup.
|
|
75
|
+
// The token resolver then throws at provision time,
|
|
76
|
+
// naming the env vars the user has to set.
|
|
77
|
+
createGoogleDriveLoader({
|
|
78
|
+
resolveAccessToken: makeOAuthTokenResolver({
|
|
79
|
+
secretStore,
|
|
80
|
+
namespace: oauthNamespace('google'),
|
|
81
|
+
refresh: googleOAuth ? refreshToken => googleOAuth.refreshAccessToken(refreshToken) : undefined,
|
|
82
|
+
notConfigured: sourceId => new ValidationError(`Google Drive source "${sourceId}" cannot be loaded: set BRAID_GOOGLE_CLIENT_ID and BRAID_GOOGLE_CLIENT_SECRET on the server, restart, then re-sync.`),
|
|
83
|
+
notConnected: (workspaceId, sourceId) => new NotFoundError(`Google Drive source "${sourceId}" on workspace "${workspaceId}" is not connected. `
|
|
84
|
+
+ `Connect it from the source settings in Studio.`),
|
|
85
|
+
}),
|
|
86
|
+
}),
|
|
87
|
+
// Reaches whatever an MCP server exposes,
|
|
88
|
+
// so the tracker or wiki a team already runs becomes a source,
|
|
89
|
+
// without a package per product.
|
|
90
|
+
// Its credential rides in the source's own config,
|
|
91
|
+
// so there is nothing for the composition root to inject.
|
|
92
|
+
createMcpLoader(),
|
|
93
|
+
];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The registry `composeFsApp` runs on, the coding preset's whole bundle.
|
|
97
|
+
* Defaults register first, then the caller's extras,
|
|
98
|
+
* so `extraOntologyPlugins: [c4]` yields both ddd and c4.
|
|
99
|
+
* The active one is chosen per-workspace via PRODUCT.md.ontologyId.
|
|
100
|
+
*/
|
|
101
|
+
export function defaultPluginRegistry(context, options = {}) {
|
|
102
|
+
const pluginRegistry = new PluginRegistry();
|
|
103
|
+
pluginRegistry.register(kuzuStoragePlugin);
|
|
104
|
+
for (const plugin of options.extraStoragePlugins ?? [])
|
|
105
|
+
pluginRegistry.register(plugin);
|
|
106
|
+
for (const plugin of defaultOntologyPlugins())
|
|
107
|
+
pluginRegistry.register(plugin);
|
|
108
|
+
for (const plugin of options.extraOntologyPlugins ?? [])
|
|
109
|
+
pluginRegistry.register(plugin);
|
|
110
|
+
for (const plugin of defaultSourceLoaderPlugins(context))
|
|
111
|
+
pluginRegistry.register(plugin);
|
|
112
|
+
for (const plugin of options.extraSourceLoaderPlugins ?? [])
|
|
113
|
+
pluginRegistry.register(plugin);
|
|
114
|
+
pluginRegistry.register(claudeCodeAgentPlugin);
|
|
115
|
+
for (const plugin of options.extraAgentPlugins ?? [])
|
|
116
|
+
pluginRegistry.register(plugin);
|
|
117
|
+
return pluginRegistry;
|
|
118
|
+
}
|
|
49
119
|
/**
|
|
50
120
|
* Opinionated production composition, the coding preset.
|
|
51
121
|
* Filesystem-persists workspaces, proposals, and clarifications,
|
|
@@ -53,11 +123,26 @@ const DEFAULT_AGENT_EFFORT = 'high';
|
|
|
53
123
|
* loaders, and the claude-code agent.
|
|
54
124
|
*
|
|
55
125
|
* To run a different plugin set, either pass `extraXxxPlugins` and flip
|
|
56
|
-
* `storageKind` or `agentKind`, or
|
|
126
|
+
* `storageKind` or `agentKind`, or hand `composeFsAppWithRegistry` a registry
|
|
127
|
+
* holding only the plugins you want.
|
|
57
128
|
*/
|
|
58
129
|
export async function composeFsApp(options = {}) {
|
|
130
|
+
return composeFsAppWithRegistry(context => defaultPluginRegistry(context, options), options);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The same filesystem runtime as `composeFsApp`, over a registry you build.
|
|
134
|
+
* Storage and agent resolve from whatever `buildRegistry` registered, under
|
|
135
|
+
* `storageKind` and `agentKind`, so a composition that omits the coding
|
|
136
|
+
* preset's ontology and loaders still gets the subprocess skill runner, the
|
|
137
|
+
* fs unit lister, and every fs repository, and so a batch runs unchanged.
|
|
138
|
+
*/
|
|
139
|
+
export async function composeFsAppWithRegistry(buildRegistry, options = {}) {
|
|
59
140
|
const braidHome = options.braidHome ?? process.env.BRAID_HOME ?? join(homedir(), '.braid');
|
|
60
|
-
|
|
141
|
+
// Everything below appends a path to this,
|
|
142
|
+
// so a trailing slash would double the separator,
|
|
143
|
+
// and leave an OAuth redirect no console entry matches.
|
|
144
|
+
const apiUrl = withoutTrailingSlash(options.apiUrl ?? 'http://localhost:4321');
|
|
145
|
+
const loopbackApiUrl = withoutTrailingSlash(options.loopbackApiUrl ?? apiUrl);
|
|
61
146
|
const secretStore = new FsSecretStore(join(braidHome, 'secrets'));
|
|
62
147
|
const googleClientId = process.env.BRAID_GOOGLE_CLIENT_ID;
|
|
63
148
|
const googleClientSecret = process.env.BRAID_GOOGLE_CLIENT_SECRET;
|
|
@@ -71,6 +156,16 @@ export async function composeFsApp(options = {}) {
|
|
|
71
156
|
loginRedirectUri: googleLoginRedirect,
|
|
72
157
|
})
|
|
73
158
|
: undefined;
|
|
159
|
+
const githubClientId = process.env.BRAID_GITHUB_CLIENT_ID;
|
|
160
|
+
const githubClientSecret = process.env.BRAID_GITHUB_CLIENT_SECRET;
|
|
161
|
+
const githubRedirect = process.env.BRAID_GITHUB_REDIRECT_URI ?? `${apiUrl}/oauth/github/callback`;
|
|
162
|
+
const githubOAuth = githubClientId && githubClientSecret
|
|
163
|
+
? new GitHubOAuth({
|
|
164
|
+
clientId: githubClientId,
|
|
165
|
+
clientSecret: githubClientSecret,
|
|
166
|
+
redirectUri: githubRedirect,
|
|
167
|
+
})
|
|
168
|
+
: undefined;
|
|
74
169
|
const registry = new WorkspaceRegistryFile(join(braidHome, 'workspaces.json'));
|
|
75
170
|
const workspaceRepository = new FsWorkspaceRepository({ registry });
|
|
76
171
|
// Server-side user roster, distinct from any workspace's git history.
|
|
@@ -94,72 +189,40 @@ export async function composeFsApp(options = {}) {
|
|
|
94
189
|
accessPolicyConfig.adminEmails = adminEmails;
|
|
95
190
|
const accessPolicy = new AccessPolicy(join(braidHome, 'access.json'), accessPolicyConfig);
|
|
96
191
|
// Boot, part one, provision host identity, who may use this server.
|
|
192
|
+
const studioUrl = process.env.BRAID_STUDIO_URL ?? 'http://localhost:5173';
|
|
97
193
|
// Local trust is the default.
|
|
98
194
|
// Production sets `BRAID_LOCAL_TRUST=false` to require real authentication.
|
|
99
195
|
// We do not flip the default when Google OAuth env is present,
|
|
100
196
|
// those creds also feed the Drive loader,
|
|
101
197
|
// and a dev pulling from Drive should not hit Login on every reload.
|
|
102
|
-
const
|
|
198
|
+
const locallyTrusted = parseBoolEnv(process.env.BRAID_LOCAL_TRUST, true);
|
|
199
|
+
assertLocalTrustIsLocal(locallyTrusted, studioUrl);
|
|
200
|
+
const authMode = locallyTrusted ? localTrust : authenticated;
|
|
103
201
|
// Local trust seeds `local-user`, authenticated mode syncs the login allowlist.
|
|
104
202
|
await authMode.provision({ userRegistry, accessPolicy });
|
|
105
203
|
// The reactor is an autonomous component, so it seeds its own service account.
|
|
106
204
|
// Its kind=service rides onto every proposal it submits,
|
|
107
205
|
// so the HITL views classify it without a read-time lookup.
|
|
108
206
|
await ensureServiceAccount(userRegistry, REACTOR_USER_ID, 'Reactor');
|
|
109
|
-
|
|
207
|
+
// Serving Studio ourselves puts the UI and the API on one origin,
|
|
208
|
+
// so the browser never reaches for CORS on the path that matters.
|
|
209
|
+
const studioRoot = process.env.BRAID_STUDIO_ROOT;
|
|
210
|
+
// A deployment that sets its own studio origin has left dev behind,
|
|
211
|
+
// so localhost stops being allowed unless it is named explicitly.
|
|
212
|
+
const corsOrigins = resolveCorsOrigins(studioUrl, process.env.BRAID_CORS_ORIGINS);
|
|
110
213
|
const workspaceRoots = async () => {
|
|
111
214
|
const workspaces = await workspaceRepository.list();
|
|
112
215
|
return new Map(workspaces.map(ws => [ws.id, ws.rootPath]));
|
|
113
216
|
};
|
|
114
217
|
const proposalRepository = new FsProposalRepository({ workspaceRoots });
|
|
115
218
|
const clarificationRepository = new FsClarificationRepository({ workspaceRoots });
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
pluginRegistry.register(dddOntology);
|
|
124
|
-
for (const plugin of options.extraOntologyPlugins ?? [])
|
|
125
|
-
pluginRegistry.register(plugin);
|
|
126
|
-
pluginRegistry.register(gitLoader);
|
|
127
|
-
pluginRegistry.register(createGithubLoader());
|
|
128
|
-
for (const plugin of options.extraSourceLoaderPlugins ?? [])
|
|
129
|
-
pluginRegistry.register(plugin);
|
|
130
|
-
pluginRegistry.register(claudeCodeAgentPlugin);
|
|
131
|
-
for (const plugin of options.extraAgentPlugins ?? [])
|
|
132
|
-
pluginRegistry.register(plugin);
|
|
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.
|
|
138
|
-
const oauth = googleOAuth;
|
|
139
|
-
pluginRegistry.register(createGoogleDriveLoader({
|
|
140
|
-
resolveAccessToken: async ({ workspaceId, sourceId }) => {
|
|
141
|
-
if (!oauth) {
|
|
142
|
-
throw new ValidationError(`Google Drive source "${sourceId}" cannot be loaded: set BRAID_GOOGLE_CLIENT_ID and BRAID_GOOGLE_CLIENT_SECRET on the server, restart, then re-sync.`);
|
|
143
|
-
}
|
|
144
|
-
const key = `${workspaceId}--${sourceId}`;
|
|
145
|
-
const stored = await secretStore.read('oauth-google', key);
|
|
146
|
-
if (!stored) {
|
|
147
|
-
throw new NotFoundError(`Google Drive source "${sourceId}" on workspace "${workspaceId}" is not connected. `
|
|
148
|
-
+ `Authorise via POST /oauth/google/start.`);
|
|
149
|
-
}
|
|
150
|
-
// 60-second skew, so we don't hand out a token about to expire mid-request.
|
|
151
|
-
const stillValidUntil = new Date(stored.expiresAt).getTime() - 60_000;
|
|
152
|
-
if (Date.now() < stillValidUntil)
|
|
153
|
-
return stored.accessToken;
|
|
154
|
-
const refreshed = await oauth.refreshAccessToken(stored.refreshToken);
|
|
155
|
-
await secretStore.write('oauth-google', key, {
|
|
156
|
-
...stored,
|
|
157
|
-
accessToken: refreshed.accessToken,
|
|
158
|
-
expiresAt: refreshed.expiresAt,
|
|
159
|
-
});
|
|
160
|
-
return refreshed.accessToken;
|
|
161
|
-
},
|
|
162
|
-
}));
|
|
219
|
+
const pluginRegistry = await buildRegistry({
|
|
220
|
+
braidHome,
|
|
221
|
+
apiUrl,
|
|
222
|
+
secretStore,
|
|
223
|
+
...(googleOAuth ? { googleOAuth } : {}),
|
|
224
|
+
...(githubOAuth ? { githubOAuth } : {}),
|
|
225
|
+
});
|
|
163
226
|
// Resolve the active storage plugin and ask it for a ModelRepository.
|
|
164
227
|
const storageKind = StorageKindSchema.parse(options.storageKind ?? process.env.BRAID_STORAGE_KIND ?? DEFAULT_STORAGE_KIND);
|
|
165
228
|
const modelRepository = await pluginRegistry.requireStoragePlugin(storageKind).createModelRepository({ kind: storageKind, config: {} }, {
|
|
@@ -206,31 +269,40 @@ export async function composeFsApp(options = {}) {
|
|
|
206
269
|
console.warn('[braid] `uv` not found on PATH; the built-in braid-core MCP gateway will not be available. '
|
|
207
270
|
+ 'Install via `brew install uv` or https://docs.astral.sh/uv/ to enable.');
|
|
208
271
|
}
|
|
209
|
-
//
|
|
210
|
-
//
|
|
211
|
-
//
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
//
|
|
272
|
+
// Reference dirs mounted into every skill session,
|
|
273
|
+
// keyed by the namespace that owns them, so each stays paired with its skills.
|
|
274
|
+
// Core's `shared/` lands under the builtin namespace,
|
|
275
|
+
// carrying the Proposal, Clarification, Validator, batch-plan, drift contracts.
|
|
276
|
+
// Each plugin's own dir lands under its namespace,
|
|
277
|
+
// the DDD concept doc under `ddd` for example.
|
|
215
278
|
// Plugin contributions resolve `URL` to an absolute path.
|
|
216
279
|
const pluginReferenceDirs = pluginRegistry.pluginReferenceDirs().map((ref) => {
|
|
217
280
|
const dir = typeof ref.directory === 'string' ? ref.directory : fileURLToPath(ref.directory);
|
|
218
|
-
return {
|
|
281
|
+
return { skillNamespace: ref.skillNamespace, path: dir };
|
|
219
282
|
});
|
|
220
283
|
const skillRunner = new SubprocessSkillRunner({
|
|
221
284
|
skillRegistry,
|
|
222
285
|
buildAgentBinding: descriptor => pluginRegistry.requireAgentPlugin(descriptor.kind).createBinding(descriptor),
|
|
223
286
|
defaultAgent,
|
|
224
|
-
|
|
287
|
+
// The agent and the gateway both run on this host,
|
|
288
|
+
// so they call back on loopback rather than through the public name.
|
|
289
|
+
apiUrl: loopbackApiUrl,
|
|
225
290
|
runRepository,
|
|
226
291
|
eventBus,
|
|
227
292
|
...(uvxBin
|
|
228
|
-
? { coreGateway: { specUrl: `${
|
|
293
|
+
? { coreGateway: { specUrl: `${loopbackApiUrl}/openapi.json`, uvxBin } }
|
|
229
294
|
: {}),
|
|
230
295
|
referenceDirs: [
|
|
231
|
-
{
|
|
296
|
+
{ skillNamespace: BUILTIN_SKILL_NAMESPACE, path: join(builtinSkillsRoot, 'shared') },
|
|
232
297
|
...pluginReferenceDirs,
|
|
233
298
|
],
|
|
299
|
+
// Resolve the workspace's active ontology to its declared source roles.
|
|
300
|
+
// The runner serialises these into BRAID_SOURCE_ROLES,
|
|
301
|
+
// so a generic prompt reads the role vocabulary instead of naming role ids.
|
|
302
|
+
resolveSourceRoles: (workspace) => {
|
|
303
|
+
const ontology = pluginRegistry.findOntology(workspace.productManifest.ontologyId);
|
|
304
|
+
return ontology?.sourceRoles ?? [];
|
|
305
|
+
},
|
|
234
306
|
});
|
|
235
307
|
// Shared by WorkspaceBootstrapService (boot reconciliation),
|
|
236
308
|
// and HITLService (per-mutation commits).
|
|
@@ -259,10 +331,13 @@ export async function composeFsApp(options = {}) {
|
|
|
259
331
|
bootstrap,
|
|
260
332
|
batchPlanRepository: new FsBatchPlanRepository(),
|
|
261
333
|
unitLister: workspace => listUnitItems(workspace, unitBearingRolesOf(pluginRegistry, workspace)),
|
|
334
|
+
...(options.defaultOntologyId ? { defaultOntologyId: options.defaultOntologyId } : {}),
|
|
262
335
|
// The reactor has no human caller, so it acts as the `reactor` service account,
|
|
263
336
|
// minting a short-lived session so its API calls authenticate.
|
|
264
337
|
reactorToken: async () => (await sessionStore.issue(REACTOR_USER_ID, { ttlSeconds: 3600 })).token,
|
|
265
338
|
sourceUnitObservationRepository: new FsSourceUnitObservationRepository({ workspaceRoots }),
|
|
339
|
+
sourceSyncStateRepository: new FsSourceSyncStateRepository({ workspaceRoots }),
|
|
340
|
+
isWorkspaceBusy: workspaceId => skillRunner.hasActiveRun(workspaceId),
|
|
266
341
|
reactorCycleRepository: new FsReactorCycleRepository({ workspaceRoots }),
|
|
267
342
|
sourceUnitDigest: new FsSourceUnitDigest(),
|
|
268
343
|
userDirectory,
|
|
@@ -289,9 +364,107 @@ export async function composeFsApp(options = {}) {
|
|
|
289
364
|
sessionStore,
|
|
290
365
|
accessPolicy,
|
|
291
366
|
studioUrl,
|
|
367
|
+
...(studioRoot ? { studioRoot } : {}),
|
|
368
|
+
...(corsOrigins ? { corsOrigins } : {}),
|
|
292
369
|
...(googleOAuth ? { googleOAuth } : {}),
|
|
370
|
+
...(githubOAuth ? { githubOAuth } : {}),
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Build a token resolver for an OAuth-backed loader.
|
|
375
|
+
* Returns a still-valid access token, or refreshes when it is near expiry.
|
|
376
|
+
* A failed refresh flags the source `needsAuth` so Studio prompts a reconnect,
|
|
377
|
+
* a fresh refresh clears that flag.
|
|
378
|
+
* `refresh` is absent when the provider's server env is unset,
|
|
379
|
+
* then the resolver throws `notConfigured`.
|
|
380
|
+
*/
|
|
381
|
+
function makeOAuthTokenResolver(deps) {
|
|
382
|
+
return async ({ workspaceId, sourceId }) => {
|
|
383
|
+
if (!deps.refresh)
|
|
384
|
+
throw deps.notConfigured(sourceId);
|
|
385
|
+
const key = `${workspaceId}--${sourceId}`;
|
|
386
|
+
const stored = await deps.secretStore.read(deps.namespace, key);
|
|
387
|
+
if (!stored)
|
|
388
|
+
throw deps.notConnected(workspaceId, sourceId);
|
|
389
|
+
// 60-second skew, so we don't hand out a token about to expire mid-request.
|
|
390
|
+
const stillValidUntil = new Date(stored.expiresAt).getTime() - 60_000;
|
|
391
|
+
if (Date.now() < stillValidUntil)
|
|
392
|
+
return stored.accessToken;
|
|
393
|
+
try {
|
|
394
|
+
// A fresh set clears any prior needs-auth marker.
|
|
395
|
+
// GitHub rotates its refresh token, so spreading `refreshed` keeps it.
|
|
396
|
+
const refreshed = await deps.refresh(stored.refreshToken);
|
|
397
|
+
await deps.secretStore.write(deps.namespace, key, { ...stored, ...refreshed, needsAuth: false });
|
|
398
|
+
return refreshed.accessToken;
|
|
399
|
+
}
|
|
400
|
+
catch (error) {
|
|
401
|
+
// The refresh token is dead, revoked or expired.
|
|
402
|
+
// Flag the source so Studio prompts a reconnect instead of only logging.
|
|
403
|
+
await deps.secretStore.write(deps.namespace, key, { ...stored, needsAuth: true });
|
|
404
|
+
throw error;
|
|
405
|
+
}
|
|
293
406
|
};
|
|
294
407
|
}
|
|
408
|
+
/**
|
|
409
|
+
* Refuse to trust every caller on a deployment reachable by other people.
|
|
410
|
+
*
|
|
411
|
+
* The default is local trust and suits a laptop,
|
|
412
|
+
* but it is catastrophic on a shared host. Nothing else tells the two apart,
|
|
413
|
+
* and naming a Studio origin that is not loopback is a deployment saying so out loud.
|
|
414
|
+
*/
|
|
415
|
+
function assertLocalTrustIsLocal(locallyTrusted, studioUrl) {
|
|
416
|
+
if (!locallyTrusted)
|
|
417
|
+
return;
|
|
418
|
+
const host = hostOf(studioUrl);
|
|
419
|
+
const isLoopback = host === undefined
|
|
420
|
+
|| host === 'localhost'
|
|
421
|
+
|| host === '127.0.0.1'
|
|
422
|
+
|| host === '[::1]'
|
|
423
|
+
|| host.endsWith('.localhost');
|
|
424
|
+
if (isLoopback)
|
|
425
|
+
return;
|
|
426
|
+
throw new Error(`BRAID_STUDIO_URL is "${studioUrl}", so this server is reachable by other people, `
|
|
427
|
+
+ 'but BRAID_LOCAL_TRUST is on and every caller would be trusted without signing in. '
|
|
428
|
+
+ 'Set BRAID_LOCAL_TRUST=false.');
|
|
429
|
+
}
|
|
430
|
+
/** A base URL a path can be appended to, whatever the operator typed. */
|
|
431
|
+
export function withoutTrailingSlash(url) {
|
|
432
|
+
return url.replace(/\/+$/, '');
|
|
433
|
+
}
|
|
434
|
+
/** The hostname of a URL, without the port. */
|
|
435
|
+
function hostOf(url) {
|
|
436
|
+
try {
|
|
437
|
+
return new URL(url).hostname.toLowerCase();
|
|
438
|
+
}
|
|
439
|
+
catch {
|
|
440
|
+
return undefined;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Which browser origins may call this API.
|
|
445
|
+
*
|
|
446
|
+
* A deployment that names its own Studio origin has left dev behind,
|
|
447
|
+
* so the localhost defaults stop applying and only that origin,
|
|
448
|
+
* plus anything named explicitly, gets through.
|
|
449
|
+
* Leaving both unset keeps a local install on the dev defaults.
|
|
450
|
+
*/
|
|
451
|
+
function resolveCorsOrigins(studioUrl, extra) {
|
|
452
|
+
const named = parseCsv(extra) ?? [];
|
|
453
|
+
const studioOrigin = originOf(studioUrl);
|
|
454
|
+
const isDevDefault = studioOrigin === 'http://localhost:5173';
|
|
455
|
+
if (isDevDefault && named.length === 0)
|
|
456
|
+
return undefined;
|
|
457
|
+
return [...new Set([...(studioOrigin ? [studioOrigin] : []), ...named])];
|
|
458
|
+
}
|
|
459
|
+
/** The scheme and authority of a URL, the shape a browser sends as `Origin`. */
|
|
460
|
+
function originOf(url) {
|
|
461
|
+
try {
|
|
462
|
+
return new URL(url).origin;
|
|
463
|
+
}
|
|
464
|
+
catch {
|
|
465
|
+
return undefined;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
295
468
|
function parseCsv(input) {
|
|
296
469
|
if (!input)
|
|
297
470
|
return undefined;
|
package/dist/composeFsApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeFsApp.js","sourceRoot":"","sources":["../src/composeFsApp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composeFsApp.js","sourceRoot":"","sources":["../src/composeFsApp.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAoB,MAAM,yCAAyC,CAAA;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAA;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA;AAClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,8DAA8D,CAAA;AAChH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAA;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAA;AAC3F,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,6EAA6E;AAC7E,4DAA4D;AAC5D,4DAA4D;AAC5D,mDAAmD;AACnD,MAAM,oBAAoB,GAAG,MAAM,CAAA;AACnC,MAAM,kBAAkB,GAAG,aAAa,CAAA;AACxC,MAAM,mBAAmB,GAAG,MAAM,CAAA;AAClC,MAAM,oBAAoB,GAAG,MAAM,CAAA;AA0DnC;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAyB;IAClE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IACzD,OAAO;QACL,SAAS;QACT,kBAAkB,CAAC;YACjB,kBAAkB,EAAE,sBAAsB,CAAC;gBACzC,WAAW;gBACX,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/F,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,eAAe,CAC5C,kBAAkB,QAAQ,uHAAuH,CAClJ;gBACD,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,aAAa,CACxD,kBAAkB,QAAQ,mBAAmB,WAAW,sBAAsB;sBAC5E,gDAAgD,CACnD;aACF,CAAC;SACH,CAAC;QACF,oDAAoD;QACpD,0EAA0E;QAC1E,oDAAoD;QACpD,2CAA2C;QAC3C,uBAAuB,CAAC;YACtB,kBAAkB,EAAE,sBAAsB,CAAC;gBACzC,WAAW;gBACX,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/F,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,eAAe,CAC5C,wBAAwB,QAAQ,qHAAqH,CACtJ;gBACD,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,aAAa,CACxD,wBAAwB,QAAQ,mBAAmB,WAAW,sBAAsB;sBAClF,gDAAgD,CACnD;aACF,CAAC;SACH,CAAC;QACF,0CAA0C;QAC1C,+DAA+D;QAC/D,iCAAiC;QACjC,mDAAmD;QACnD,0DAA0D;QAC1D,eAAe,EAAE;KAClB,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAyB,EAAE,UAA8B,EAAE;IAC/F,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;IAC3C,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE;QACpD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEjC,KAAK,MAAM,MAAM,IAAI,sBAAsB,EAAE;QAC3C,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,oBAAoB,IAAI,EAAE;QACrD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEjC,KAAK,MAAM,MAAM,IAAI,0BAA0B,CAAC,OAAO,CAAC;QACtD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,wBAAwB,IAAI,EAAE;QACzD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEjC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAA;IAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,iBAAiB,IAAI,EAAE;QAClD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEjC,OAAO,cAAc,CAAA;AACvB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAA4B,EAAE;IAC/D,OAAO,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAC9F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAAoC,EACpC,UAAmC,EAAE;IAErC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1F,2CAA2C;IAC3C,kDAAkD;IAClD,wDAAwD;IACxD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,IAAI,uBAAuB,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,CAAA;IAE7E,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAEjE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;IACzD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,GAAG,MAAM,wBAAwB,CAAA;IACjG,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,GAAG,MAAM,uBAAuB,CAAA;IAC3G,MAAM,WAAW,GAAG,cAAc,IAAI,kBAAkB;QACtD,CAAC,CAAC,IAAI,WAAW,CAAC;YAChB,QAAQ,EAAE,cAAc;YACxB,YAAY,EAAE,kBAAkB;YAChC,WAAW,EAAE,cAAc;YAC3B,gBAAgB,EAAE,mBAAmB;SACtC,CAAC;QACF,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;IACzD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,GAAG,MAAM,wBAAwB,CAAA;IACjG,MAAM,WAAW,GAAG,cAAc,IAAI,kBAAkB;QACtD,CAAC,CAAC,IAAI,WAAW,CAAC;YAChB,QAAQ,EAAE,cAAc;YACxB,YAAY,EAAE,kBAAkB;YAChC,WAAW,EAAE,cAAc;SAC5B,CAAC;QACF,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC9E,MAAM,mBAAmB,GAAG,IAAI,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEnE,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;IAExE,0EAA0E;IAC1E,4BAA4B;IAC5B,kEAAkE;IAClE,4CAA4C;IAC5C,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;IACzE,MAAM,kBAAkB,GAIpB,EAAE,CAAA;IACN,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClE,IAAI,cAAc;QAChB,kBAAkB,CAAC,cAAc,GAAG,cAAc,CAAA;IACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAChE,IAAI,aAAa;QACf,kBAAkB,CAAC,aAAa,GAAG,aAAa,CAAA;IAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC5D,IAAI,WAAW;QACb,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAA;IAC9C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACzF,oEAAoE;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,uBAAuB,CAAA;IACzE,8BAA8B;IAC9B,4EAA4E;IAC5E,+DAA+D;IAC/D,0CAA0C;IAC1C,qEAAqE;IACrE,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IACxE,uBAAuB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAA;IAC5D,gFAAgF;IAChF,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAA;IACxD,+EAA+E;IAC/E,yDAAyD;IACzD,4DAA4D;IAC5D,MAAM,oBAAoB,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;IACpE,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAChD,oEAAoE;IACpE,kEAAkE;IAClE,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACjF,MAAM,cAAc,GAAG,KAAK,IAAqD,EAAE;QACjF,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAA;QACnD,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,IAAI,oBAAoB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;IACvE,MAAM,uBAAuB,GAAG,IAAI,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;IAEjF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;QACzC,SAAS;QACT,MAAM;QACN,WAAW;QACX,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC,CAAA;IAEF,sEAAsE;IACtE,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CACzC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,oBAAoB,CAC9E,CAAA;IACD,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAClG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,EACjC;QACE,iBAAiB,EAAE,SAAS;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;QAC3D,oBAAoB,EAAE,KAAK,EAAE,WAAwB,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAA;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACnC,IAAI,CAAC,IAAI;gBACP,MAAM,IAAI,aAAa,CAAC,cAAc,WAAW,kBAAkB,CAAC,CAAA;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CACF,CAAA;IAED,wBAAwB;IACxB,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAA;IAC1E,MAAM,YAAY,GAA2B;QAC3C,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACrC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB;QAChD,MAAM,EAAE,OAAO,CAAC,WAAW,IAAI,oBAAoB;QACnD,SAAS,EAAE,EAAE;QACb,GAAG,EAAE,EAAE;KACR,CAAA;IAED,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAA;IAE3C,2CAA2C;IAC3C,oEAAoE;IACpE,sBAAsB;IACtB,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC;QACxC,iBAAiB,EAAE,iBAAiC;QACpD,cAAc;KACf,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAA;IAChD,0EAA0E;IAC1E,uDAAuD;IACvD,sDAAsD;IACtD,gEAAgE;IAChE,4CAA4C;IAC5C,8DAA8D;IAC9D,8DAA8D;IAC9D,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CACV,6FAA6F;cAC3F,wEAAwE,CAC3E,CAAA;IACH,CAAC;IACD,mDAAmD;IACnD,+EAA+E;IAC/E,sDAAsD;IACtD,gFAAgF;IAChF,mDAAmD;IACnD,+CAA+C;IAC/C,0DAA0D;IAC1D,MAAM,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3E,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5F,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,GAAmB,EAAE,CAAA;IAC1E,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAI,qBAAqB,CAAC;QAC5C,aAAa;QACb,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7G,YAAY;QACZ,mDAAmD;QACnD,qEAAqE;QACrE,MAAM,EAAE,cAAc;QACtB,aAAa;QACb,QAAQ;QACR,GAAG,CAAC,MAAM;YACR,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,cAAc,eAAe,EAAE,MAAM,EAAE,EAAE;YACxE,CAAC,CAAC,EAAE,CAAC;QACP,aAAa,EAAE;YACb,EAAE,cAAc,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAiB,EAAE;YACpG,GAAG,mBAAmB;SACvB;QACD,wEAAwE;QACxE,uDAAuD;QACvD,4EAA4E;QAC5E,kBAAkB,EAAE,CAAC,SAAS,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YAClF,OAAO,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAA;QACpC,CAAC;KACF,CAAC,CAAA;IAEF,6DAA6D;IAC7D,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAA;IACzC,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,yBAAyB,CAAC;QAC9C,OAAO;QACP,UAAU,EAAE,eAAe;QAC3B,eAAe;KAChB,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAiB,CAAA;IACpE,MAAM,aAAa,GAAG,IAAI,yBAAyB,CAAC,YAAY,CAAC,CAAA;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC;QACtB,mBAAmB;QACnB,kBAAkB;QAClB,uBAAuB;QACvB,eAAe;QACf,aAAa;QACb,WAAW;QACX,aAAa;QACb,cAAc;QACd,QAAQ;QACR,cAAc;QACd,OAAO;QACP,eAAe;QACf,SAAS;QACT,mBAAmB,EAAE,IAAI,qBAAqB,EAAE;QAChD,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAChG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,gFAAgF;QAChF,+DAA+D;QAC/D,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK;QACjG,+BAA+B,EAAE,IAAI,iCAAiC,CAAC,EAAE,cAAc,EAAE,CAAC;QAC1F,yBAAyB,EAAE,IAAI,2BAA2B,CAAC,EAAE,cAAc,EAAE,CAAC;QAC9E,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC;QACrE,sBAAsB,EAAE,IAAI,wBAAwB,CAAC,EAAE,cAAc,EAAE,CAAC;QACxE,gBAAgB,EAAE,IAAI,kBAAkB,EAAE;QAC1C,aAAa;QACb,QAAQ;KACT,CAAC,CAAA;IAEF,iEAAiE;IACjE,sDAAsD;IACtD,8EAA8E;IAC9E,kDAAkD;IAClD,MAAM,2BAA2B,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAExE,gEAAgE;IAChE,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAEhE,gFAAgF;IAChF,kDAAkD;IAClD,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAE9B,OAAO;QACL,GAAG,IAAI;QACP,SAAS;QACT,WAAW;QACX,YAAY;QACZ,iBAAiB,EAAE,QAAQ;QAC3B,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAAuD,IAMrF;IACC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,GAAG,WAAW,KAAK,QAAQ,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAmE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QACjI,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAChD,4EAA4E;QAC5E,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAA;QACrE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;YAC9B,OAAO,MAAM,CAAC,WAAW,CAAA;QAC3B,IAAI,CAAC;YACH,kDAAkD;YAClD,uEAAuE;YACvE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACzD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;YAChG,OAAO,SAAS,CAAC,WAAW,CAAA;QAC9B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,iDAAiD;YACjD,yEAAyE;YACzE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACjF,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,cAAuB,EAAE,SAAiB;IACzE,IAAI,CAAC,cAAc;QACjB,OAAM;IACR,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC9B,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS;WAChC,IAAI,KAAK,WAAW;WACpB,IAAI,KAAK,WAAW;WACpB,IAAI,KAAK,OAAO;WAChB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAChC,IAAI,UAAU;QACZ,OAAM;IACR,MAAM,IAAI,KAAK,CACb,wBAAwB,SAAS,kDAAkD;UACjF,oFAAoF;UACpF,8BAA8B,CACjC,CAAA;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,+CAA+C;AAC/C,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC5C,CAAC;IACD,MAAM,CAAC;QACL,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,SAAiB,EAAE,KAAyB;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,YAAY,GAAG,YAAY,KAAK,uBAAuB,CAAA;IAC7D,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC;QACL,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAyB;IACzC,IAAI,CAAC,KAAK;QACR,OAAO,SAAS,CAAA;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC;AAED,4DAA4D;AAC5D,0CAA0C;AAC1C,0CAA0C;AAC1C,qDAAqD;AACrD,iDAAiD;AACjD,wEAAwE;AACxE,+BAA+B;AAC/B,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5D,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAChE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OntologyPlugin } from '@braidhq/core';
|
|
2
|
+
/**
|
|
3
|
+
* The ontology plugins a default Braid build ships with.
|
|
4
|
+
* This is the single composition point where a concrete ontology is named,
|
|
5
|
+
* so swapping or adding one touches only this file.
|
|
6
|
+
* composeFsApp registers these, and `braid init` reads their sourceRoles.
|
|
7
|
+
*/
|
|
8
|
+
export declare function defaultOntologyPlugins(): readonly OntologyPlugin[];
|
|
9
|
+
//# sourceMappingURL=defaultOntologyPlugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultOntologyPlugins.d.ts","sourceRoot":"","sources":["../src/defaultOntologyPlugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,cAAc,EAAE,CAElE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { dddOntology } from '@braidhq/ontology-ddd';
|
|
2
|
+
/**
|
|
3
|
+
* The ontology plugins a default Braid build ships with.
|
|
4
|
+
* This is the single composition point where a concrete ontology is named,
|
|
5
|
+
* so swapping or adding one touches only this file.
|
|
6
|
+
* composeFsApp registers these, and `braid init` reads their sourceRoles.
|
|
7
|
+
*/
|
|
8
|
+
export function defaultOntologyPlugins() {
|
|
9
|
+
return [dddOntology];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=defaultOntologyPlugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultOntologyPlugins.js","sourceRoot":"","sources":["../src/defaultOntologyPlugins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,WAAW,CAAC,CAAA;AACtB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export * from './app.js';
|
|
2
2
|
export * from './composeApp.js';
|
|
3
3
|
export * from './composeFsApp.js';
|
|
4
|
+
export * from './defaultOntologyPlugins.js';
|
|
4
5
|
export * from './middleware/error.js';
|
|
5
6
|
export * from './startServer.js';
|
|
7
|
+
export type { OntologyPlugin } from '@braidhq/core';
|
|
8
|
+
export type { SourceRoleDescriptor } from '@braidhq/schema';
|
|
6
9
|
//# 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,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
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,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAIhC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
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,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
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,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
@@ -15,6 +15,8 @@ export declare function batchPlanPath(workspaceRoot: AbsolutePath): string;
|
|
|
15
15
|
export declare function sourceUnitObservationDir(workspaceRoot: AbsolutePath): string;
|
|
16
16
|
export declare function sourceUnitObservationFilePath(workspaceRoot: AbsolutePath, sourceId: string, relativePath: string): string;
|
|
17
17
|
export declare function sourceUnitObservationSourceDir(workspaceRoot: AbsolutePath, sourceId: string): string;
|
|
18
|
+
export declare function sourceSyncStateDir(workspaceRoot: AbsolutePath): string;
|
|
19
|
+
export declare function sourceSyncStateFilePath(workspaceRoot: AbsolutePath, sourceId: string): string;
|
|
18
20
|
export declare function proposalsDir(workspaceRoot: AbsolutePath, status: ProposalStatus): string;
|
|
19
21
|
export declare function clarificationDir(workspaceRoot: AbsolutePath, status: ClarificationStatus): string;
|
|
20
22
|
export declare function viewsDir(workspaceRoot: AbsolutePath, kind: string): string;
|
|
@@ -1 +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"}
|
|
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,kBAAkB,CAAC,aAAa,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7F;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"}
|
|
@@ -45,6 +45,12 @@ export function sourceUnitObservationFilePath(workspaceRoot, sourceId, relativeP
|
|
|
45
45
|
export function sourceUnitObservationSourceDir(workspaceRoot, sourceId) {
|
|
46
46
|
return join(sourceUnitObservationDir(workspaceRoot), sourceId);
|
|
47
47
|
}
|
|
48
|
+
export function sourceSyncStateDir(workspaceRoot) {
|
|
49
|
+
return join(workspaceArtifactsDir(workspaceRoot), 'source-sync-state');
|
|
50
|
+
}
|
|
51
|
+
export function sourceSyncStateFilePath(workspaceRoot, sourceId) {
|
|
52
|
+
return join(sourceSyncStateDir(workspaceRoot), `${sourceId}.json`);
|
|
53
|
+
}
|
|
48
54
|
export function proposalsDir(workspaceRoot, status) {
|
|
49
55
|
return join(workspaceArtifactsDir(workspaceRoot), 'proposals', status);
|
|
50
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/infrastructure/_shared/paths.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/infrastructure/_shared/paths.ts"],"names":[],"mappings":"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"}
|