@braidhq/server 0.3.0 → 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.
Files changed (49) hide show
  1. package/README.md +45 -2
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +19 -4
  4. package/dist/app.js.map +1 -1
  5. package/dist/composeApp.d.ts +11 -3
  6. package/dist/composeApp.d.ts.map +1 -1
  7. package/dist/composeApp.js +22 -2
  8. package/dist/composeApp.js.map +1 -1
  9. package/dist/composeFsApp.d.ts +3 -0
  10. package/dist/composeFsApp.d.ts.map +1 -1
  11. package/dist/composeFsApp.js +91 -5
  12. package/dist/composeFsApp.js.map +1 -1
  13. package/dist/infrastructure/_shared/paths.d.ts +2 -0
  14. package/dist/infrastructure/_shared/paths.d.ts.map +1 -1
  15. package/dist/infrastructure/_shared/paths.js +6 -0
  16. package/dist/infrastructure/_shared/paths.js.map +1 -1
  17. package/dist/infrastructure/skill/SubprocessSkillRunner.d.ts +3 -1
  18. package/dist/infrastructure/skill/SubprocessSkillRunner.d.ts.map +1 -1
  19. package/dist/infrastructure/skill/SubprocessSkillRunner.js +8 -0
  20. package/dist/infrastructure/skill/SubprocessSkillRunner.js.map +1 -1
  21. package/dist/infrastructure/source/FsSourceSyncStateRepository.d.ts +24 -0
  22. package/dist/infrastructure/source/FsSourceSyncStateRepository.d.ts.map +1 -0
  23. package/dist/infrastructure/source/FsSourceSyncStateRepository.js +71 -0
  24. package/dist/infrastructure/source/FsSourceSyncStateRepository.js.map +1 -0
  25. package/dist/infrastructure/source/unitScan.d.ts.map +1 -1
  26. package/dist/infrastructure/source/unitScan.js +51 -3
  27. package/dist/infrastructure/source/unitScan.js.map +1 -1
  28. package/dist/routes/skillInputOptions.js +4 -1
  29. package/dist/routes/skillInputOptions.js.map +1 -1
  30. package/dist/routes/skills.d.ts +7 -1
  31. package/dist/routes/skills.d.ts.map +1 -1
  32. package/dist/routes/skills.js +10 -0
  33. package/dist/routes/skills.js.map +1 -1
  34. package/dist/routes/sourceWebhooks.d.ts +10 -2
  35. package/dist/routes/sourceWebhooks.d.ts.map +1 -1
  36. package/dist/routes/sourceWebhooks.js +23 -11
  37. package/dist/routes/sourceWebhooks.js.map +1 -1
  38. package/dist/routes/workspaces.d.ts +4 -1
  39. package/dist/routes/workspaces.d.ts.map +1 -1
  40. package/dist/routes/workspaces.js +42 -6
  41. package/dist/routes/workspaces.js.map +1 -1
  42. package/dist/startServer.d.ts +7 -1
  43. package/dist/startServer.d.ts.map +1 -1
  44. package/dist/startServer.js +18 -3
  45. package/dist/startServer.js.map +1 -1
  46. package/dist/startup.d.ts.map +1 -1
  47. package/dist/startup.js +7 -1
  48. package/dist/startup.js.map +1 -1
  49. package/package.json +12 -10
package/README.md CHANGED
@@ -21,7 +21,7 @@ Two layers share this package for now.
21
21
 
22
22
  A future app, a story world or a research-notes base, reuses the kernel and swaps the preset for its own ontology and adapters. When that second worldview arrives, the coding preset extracts into its own package, `@braidhq/preset-code`, and this package drops its plugin dependencies. Until a second worldview exists that pressure is speculative, so both layers stay here at no cost. The seam is `composeApp`: whatever the kernel reaches without a concrete plugin already belongs to it.
23
23
 
24
- Such an app does not have to reimplement the runtime to get there. `composeFsAppWithRegistry(buildRegistry, options)` runs the same filesystem assembly as `composeFsApp`, the subprocess skill runner, the fs unit lister, and every fs repository, over a registry the caller builds. `composeFsApp` is that call with the preset's bundle.
24
+ Such an app does not have to reimplement the runtime to get there. `composeFsAppWithRegistry(buildRegistry, options)` runs the same filesystem assembly as `composeFsApp`, the subprocess skill runner, the fs unit lister, and every fs repository, over a registry the caller builds. `composeFsApp` is that call with the preset's bundle. A deployment that only adds a loader to the preset passes it to `startServer`, which takes the same `extraXxxPlugins` options and keeps the shutdown that closes the graph store.
25
25
 
26
26
  ## Structure
27
27
 
@@ -69,7 +69,7 @@ Reconcile workspaces, register then boot each:
69
69
 
70
70
  2. `discoverCanonicalWorkspaces` registers workspaces present on disk but absent from the registry.
71
71
  3. `ensureWorkspaceOwners` gives any ownerless workspace the auth mode's default principal, or throws under authenticated mode where every workspace must have an explicit owner.
72
- 4. `startupBeforeServe` runs the per-workspace pass. Per workspace it provisions the git repo and store, recovers a batch left running by a killed process, subscribes the reactor when the workspace opts in, and fires a catch-up sync for each loader-backed source.
72
+ 4. `startupBeforeServe` runs the per-workspace pass. Per workspace it provisions the git repo and store, recovers a batch left running by a killed process, subscribes the reactor when the workspace opts in, starts the source poller unless the workspace turned polling off, and fires a catch-up sync for each loader-backed source.
73
73
 
74
74
  After `serve()`, the background phase runs cosmetic recovery that need not finish first, via `startupAfterServe`:
75
75
 
@@ -77,6 +77,49 @@ After `serve()`, the background phase runs cosmetic recovery that need not finis
77
77
 
78
78
  Both passes live in `startup.ts`, `startupBeforeServe` before `serve()` and `startupAfterServe` after. A new blocking per-workspace step is added to `startupBeforeServe`, a new background step to `startupAfterServe`. Provisioning tied to one adapter stays next to that adapter's construction. Source loaders take part without a bespoke step, the sync in step 4 fires for any registered loader.
79
79
 
80
+ ## Source Freshness
81
+
82
+ Every sync trigger goes through `SourceSyncService`, which collapses concurrent triggers for one source into a single pass and records the outcome under `artifacts/source-sync-state/`. Calling `SourceLoaderRunner` directly still syncs, but takes no lock and records nothing.
83
+
84
+ A source opts in with `sync: { maxStalenessMs }` in `PRODUCT.md`. Two mechanisms act on that budget, and only the first is load-bearing.
85
+
86
+ - **The guarantee**: `ensureWorkspaceFresh` refreshes stale sources before a skill run reads them. Best effort and time-bounded, so an unreachable remote leaves the run on the previous mirror instead of failing it.
87
+ - **The optimisation**: `SourcePollingService` warms sources between reads, with per-source spread and exponential backoff. Stopping it costs latency, never staleness.
88
+
89
+ `polling: { enabled: false }` kills the poller for a workspace. The guarantee has no switch, since it can never block work.
90
+
91
+ ## Serving Studio
92
+
93
+ Point `BRAID_STUDIO_ROOT` at Studio's built files and this server serves them too. `@braidhq/studio` ships them, and its `assets` entry reports the path. One origin for the UI and the API keeps a deployment out of CORS on the path that matters. Unset changes nothing, which is what a dev install wants.
94
+
95
+ The static handler sits ahead of the auth gate, because the app shell is what a signed-out visitor loads in order to sign in. The API behind it stays gated.
96
+
97
+ ## Deployment
98
+
99
+ `Dockerfile` and `compose.yaml` at the repo root run the server with Studio on one origin. The image installs `git`, `uvx`, and `claude`, all three of which the server shells out to.
100
+
101
+ **Persist `BRAID_HOME`.** It holds the mirrors, the graph, the artifacts, and each workspace's git history. Without a volume every redeploy re-clones and loses the rest.
102
+
103
+ | Variable | Why |
104
+ |---|---|
105
+ | `BRAID_LOCAL_TRUST=false` | Requires a real login. Left true, every caller is trusted |
106
+ | `BRAID_STUDIO_URL` | Where users reach Studio, and the browser origin trusted by default |
107
+ | `BRAID_API_URL` | Where callers reach this API. Unset, it is loopback, and every OAuth redirect points at the deployment's own machine |
108
+ | `BRAID_STUDIO_ROOT` | Serve the UI from this process |
109
+ | `BRAID_GOOGLE_CLIENT_ID` / `_SECRET` | Google sign-in |
110
+ | `BRAID_ALLOWED_DOMAINS` | Restricts sign-in to your domains |
111
+ | `BRAID_ADMIN_EMAILS` | Who may create workspaces and manage the roster |
112
+ | `CLAUDE_CODE_OAUTH_TOKEN` | The agent's credential, from `claude setup-token` |
113
+ | `BRAID_CORS_ORIGINS` | Extra browser origins, only for a Studio served elsewhere |
114
+
115
+ Naming a real `BRAID_STUDIO_URL` stops localhost being trusted, so a dev origin has to be listed in `BRAID_CORS_ORIGINS` to keep working against that server.
116
+
117
+ `BRAID_API_URL` is the address the outside world uses. Both Google redirects derive from it, `/auth/google/callback` for signing in and `/oauth/google/callback` for connecting a Drive source, and each has to be registered in the Google console exactly as derived. Agents and the MCP gateway ignore it and call back on loopback, so a proxy, a split-horizon DNS, or a private certificate never breaks a skill run.
118
+
119
+ `CLAUDE_CODE_OAUTH_TOKEN` is one person's subscription, so every user's runs draw on that seat's limits. A Console API key bills more honestly for a shared server. Do not set `ANTHROPIC_API_KEY` alongside it, the key wins and the subscription goes unused.
120
+
121
+ For the desktop client, `pnpm bundle:remote` builds a shell without the embedded server, which is what someone connecting to a deployed server wants.
122
+
80
123
  ## Auth Mode
81
124
 
82
125
  One axis separates a trusted local install from an authenticated remote server, who the implicit user is. Rather than scatter that decision, an `AuthMode` strategy carries it, and the auth and ownership code reads the strategy, never a hardcoded `local-user`.
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAgC/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,UAAe,GAAG,WAAW,CA8NtF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAgC/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,UAAe,GAAG,WAAW,CA0OtF"}
package/dist/app.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { serveStatic } from '@hono/node-server/serve-static';
1
2
  import { OpenAPIHono } from '@hono/zod-openapi';
2
3
  import { authMiddleware } from './middleware/auth.js';
3
4
  import { corsMiddleware } from './middleware/cors.js';
@@ -32,9 +33,18 @@ import { createWorkspacesRouter } from './routes/workspaces.js';
32
33
  export function createApp(deps, options = {}) {
33
34
  const app = new OpenAPIHono();
34
35
  // Global middleware, every request passes these in order.
35
- app.use('*', options.corsOrigins
36
- ? corsMiddleware({ allowedOrigins: options.corsOrigins })
37
- : corsMiddleware());
36
+ const corsOrigins = deps.corsOrigins ?? options.corsOrigins;
37
+ app.use('*', corsOrigins ? corsMiddleware({ allowedOrigins: corsOrigins }) : corsMiddleware());
38
+ // The app shell is what a signed-out visitor loads in order to sign in,
39
+ // so it mounts before the auth gate.
40
+ // Gating it would leave nobody able to reach the login screen,
41
+ // while the API behind it stays gated. Vite emits `index.html` and `assets/`,
42
+ // neither of which can collide with an API prefix,
43
+ // and a miss falls through to the routes below.
44
+ if (deps.studioRoot) {
45
+ const root = deps.studioRoot;
46
+ app.use('/*', serveStatic({ root, index: 'index.html' }));
47
+ }
38
48
  // Identity and auth gate. Resolves the caller's `userId` from a Bearer session
39
49
  // when auth is enforced, else the `X-Braid-User` header or the default principal.
40
50
  // Non-public routes that lack a required Bearer token are rejected.
@@ -73,6 +83,9 @@ export function createApp(deps, options = {}) {
73
83
  app.route('/workspaces', createWorkspacesRouter({
74
84
  workspaceService: deps.workspaceService,
75
85
  sourceLoaderRunner: deps.sourceLoaderRunner,
86
+ sourceSyncService: deps.sourceSyncService,
87
+ sourcePollingService: deps.sourcePollingService,
88
+ syncStateRepository: deps.syncStateRepository,
76
89
  workspacesRoot: deps.workspacesRoot,
77
90
  pluginRegistry: deps.pluginRegistry,
78
91
  ...(deps.defaultOntologyId ? { defaultOntologyId: deps.defaultOntologyId } : {}),
@@ -95,7 +108,8 @@ export function createApp(deps, options = {}) {
95
108
  if (deps.secretStore) {
96
109
  app.route('/webhooks', createGithubWebhookReceiver({
97
110
  workspaceService: deps.workspaceService,
98
- sourceLoaderRunner: deps.sourceLoaderRunner,
111
+ sourceSyncService: deps.sourceSyncService,
112
+ ...(deps.isWorkspaceBusy ? { isWorkspaceBusy: deps.isWorkspaceBusy } : {}),
99
113
  secretStore: deps.secretStore,
100
114
  pluginRegistry: deps.pluginRegistry,
101
115
  }));
@@ -153,6 +167,7 @@ export function createApp(deps, options = {}) {
153
167
  skillRunner: deps.skillRunner,
154
168
  workspaceRepository: deps.workspaceRepository,
155
169
  sourceUnitObservationService: deps.sourceUnitObservationService,
170
+ sourceSyncService: deps.sourceSyncService,
156
171
  runRepository: deps.runRepository,
157
172
  pluginRegistry: deps.pluginRegistry,
158
173
  }));
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
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, OntologyId } from '@braidhq/schema';
1
+ import type { BatchPlanRepository, ClarificationRepository, Clock, ModelRepository, ModelSerializer, ProposalRepository, ReactorCycleRepository, RunRepository, SkillRegistry, SkillRunner, SourceSyncStateRepository, SourceUnitDigest, SourceUnitObservationRepository, UnitLister, UserDirectory, WorkspaceBootstrapService, WorkspaceEventBus, WorkspaceHistory, WorkspaceRepository } from '@braidhq/core';
2
+ import type { AbsolutePath, OntologyId, WorkspaceId } from '@braidhq/schema';
3
3
  import type { AuthMode } from './authMode.js';
4
4
  import type { AccessPolicy } from './infrastructure/auth/AccessPolicy.js';
5
5
  import type { SessionStore } from './infrastructure/auth/SessionStore.js';
@@ -8,7 +8,7 @@ import type { GoogleOAuth } from './infrastructure/oauth/GoogleOAuth.js';
8
8
  import type { SecretStore } from './infrastructure/secrets/SecretStore.js';
9
9
  import type { UserRegistryFile } from './infrastructure/users/UserRegistryFile.js';
10
10
  import type { WorkspaceRegistryFile } from './infrastructure/workspace/WorkspaceRegistryFile.js';
11
- import { BatchService, HistoryService, HITLService, ModelService, ModelValidationService, PluginRegistry, ReactorService, SourceLoaderRunner, SourceUnitObservationService, WorkspaceService } from '@braidhq/core';
11
+ import { BatchService, HistoryService, HITLService, ModelService, ModelValidationService, PluginRegistry, ReactorService, SourceLoaderRunner, SourcePollingService, SourceSyncService, SourceUnitObservationService, WorkspaceService } from '@braidhq/core';
12
12
  /**
13
13
  * The assembled application, what routes and middleware consume.
14
14
  * A required field is always present.
@@ -21,6 +21,10 @@ export interface AppDependencies {
21
21
  modelService: ModelService;
22
22
  modelValidationService: ModelValidationService;
23
23
  sourceLoaderRunner: SourceLoaderRunner;
24
+ sourceSyncService: SourceSyncService;
25
+ sourcePollingService: SourcePollingService;
26
+ syncStateRepository: SourceSyncStateRepository;
27
+ isWorkspaceBusy?: (workspaceId: WorkspaceId) => boolean;
24
28
  sourceUnitObservationService: SourceUnitObservationService;
25
29
  historyService?: HistoryService;
26
30
  batchService?: BatchService;
@@ -50,6 +54,8 @@ export interface AppDependencies {
50
54
  googleOAuth?: GoogleOAuth;
51
55
  githubOAuth?: GitHubOAuth;
52
56
  studioUrl?: string;
57
+ studioRoot?: string;
58
+ corsOrigins?: readonly string[];
53
59
  }
54
60
  /**
55
61
  * Every field is optional, an unset one falls to an in-memory default.
@@ -66,7 +72,9 @@ export interface ComposeOptions {
66
72
  runRepository?: RunRepository;
67
73
  reactorCycleRepository?: ReactorCycleRepository;
68
74
  sourceUnitObservationRepository?: SourceUnitObservationRepository;
75
+ sourceSyncStateRepository?: SourceSyncStateRepository;
69
76
  batchPlanRepository?: BatchPlanRepository;
77
+ isWorkspaceBusy?: (workspaceId: WorkspaceId) => boolean;
70
78
  unitLister?: UnitLister;
71
79
  sourceUnitDigest?: SourceUnitDigest;
72
80
  reactorToken?: () => Promise<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"composeApp.d.ts","sourceRoot":"","sources":["../src/composeApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,+BAA+B,EAC/B,UAAU,EACV,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAA;AAGhG,OAAO,EACL,YAAY,EAEZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,4BAA4B,EAI5B,gBAAgB,EACjB,MAAM,eAAe,CAAA;AAatB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAE9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAC1B,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,4BAA4B,EAAE,4BAA4B,CAAA;IAG1D,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B,cAAc,CAAC,EAAE,cAAc,CAAA;IAG/B,eAAe,EAAE,eAAe,CAAA;IAChC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,aAAa,EAAE,aAAa,CAAA;IAE5B,sBAAsB,EAAE,sBAAsB,CAAA;IAI9C,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAGnC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IAGpC,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;IAIZ,cAAc,EAAE,YAAY,CAAA;IAI5B,iBAAiB,CAAC,EAAE,UAAU,CAAA;IAC9B,SAAS,CAAC,EAAE,yBAAyB,CAAA;IAMrC,QAAQ,EAAE,QAAQ,CAAA;IAKlB,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B,WAAW,CAAC,EAAE,WAAW,CAAA;IAGzB,WAAW,CAAC,EAAE,WAAW,CAAA;IAGzB,WAAW,CAAC,EAAE,WAAW,CAAA;IAGzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAE7B,KAAK,CAAC,EAAE,KAAK,CAAA;IAGb,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAA;IAG/B,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,+BAA+B,CAAC,EAAE,+BAA+B,CAAA;IACjE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAKzC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAGnC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAGhD,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAA;IAIzB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,CAAA;IAErC,aAAa,CAAC,EAAE,aAAa,CAAA;IAG7B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,cAAc,CAAC,EAAE,YAAY,CAAA;IAG7B,iBAAiB,CAAC,EAAE,UAAU,CAAA;CAC/B;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,eAAe,CAsIxE"}
1
+ {"version":3,"file":"composeApp.d.ts","sourceRoot":"","sources":["../src/composeApp.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { tmpdir } from 'node:os';
2
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';
3
+ import { BatchService, createLogger, HistoryService, HITLService, ModelService, ModelValidationService, PluginRegistry, ReactorService, SourceLoaderRunner, SourcePollingService, SourceSyncService, SourceUnitObservationService, SystemClock, SystemScheduler, TaskCoalescer, WorkspaceLock, WorkspaceService, } from '@braidhq/core';
4
+ import { InMemoryClarificationRepository, InMemoryModelRepository, InMemoryProposalRepository, InMemoryReactorCycleRepository, InMemorySourceSyncStateRepository, InMemorySourceUnitObservationRepository, InMemoryWorkspaceEventBus, InMemoryWorkspaceRepository, NoopRunRepository, } from '@braidhq/core/in-memory';
5
5
  import { localTrust } from './authMode.js';
6
6
  export function composeApp(options = {}) {
7
7
  const clock = options.clock ?? new SystemClock();
@@ -20,6 +20,22 @@ export function composeApp(options = {}) {
20
20
  const modelService = new ModelService({ modelRepository });
21
21
  const modelValidationService = new ModelValidationService({ pluginRegistry });
22
22
  const sourceLoaderRunner = new SourceLoaderRunner({ pluginRegistry, clock, eventBus });
23
+ const syncStateRepository = options.sourceSyncStateRepository ?? new InMemorySourceSyncStateRepository();
24
+ const sourceSyncService = new SourceSyncService({
25
+ sourceLoaderRunner,
26
+ syncStateRepository,
27
+ coalescer: new TaskCoalescer(),
28
+ clock,
29
+ logger: createLogger('source-sync'),
30
+ });
31
+ const sourcePollingService = new SourcePollingService({
32
+ sourceSyncService,
33
+ workspaceService,
34
+ scheduler: new SystemScheduler(),
35
+ clock,
36
+ logger: createLogger('source-polling'),
37
+ ...(options.isWorkspaceBusy ? { isWorkspaceBusy: options.isWorkspaceBusy } : {}),
38
+ });
23
39
  // Shared lock domain so HITL mutations and history restore exclude each other.
24
40
  const workspaceLock = new WorkspaceLock();
25
41
  const hitlService = new HITLService({
@@ -113,6 +129,10 @@ export function composeApp(options = {}) {
113
129
  modelService,
114
130
  modelValidationService,
115
131
  sourceLoaderRunner,
132
+ sourceSyncService,
133
+ sourcePollingService,
134
+ syncStateRepository,
135
+ ...(options.isWorkspaceBusy ? { isWorkspaceBusy: options.isWorkspaceBusy } : {}),
116
136
  eventBus,
117
137
  pluginRegistry,
118
138
  proposalRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"composeApp.js","sourceRoot":"","sources":["../src/composeApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composeApp.js","sourceRoot":"","sources":["../src/composeApp.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { type SecretStore } from './infrastructure/secrets/SecretStore.js';
9
9
  export interface ComposeFsRuntimeOptions {
10
10
  readonly braidHome?: string;
11
11
  readonly apiUrl?: string;
12
+ readonly loopbackApiUrl?: string;
12
13
  readonly storageKind?: StorageKind;
13
14
  readonly agentKind?: AgentKind;
14
15
  readonly agentModel?: string;
@@ -70,4 +71,6 @@ export declare function composeFsApp(options?: ComposeFsOptions): Promise<AppDep
70
71
  * fs unit lister, and every fs repository, and so a batch runs unchanged.
71
72
  */
72
73
  export declare function composeFsAppWithRegistry(buildRegistry: PluginRegistryFactory, options?: ComposeFsRuntimeOptions): Promise<AppDependencies>;
74
+ /** A base URL a path can be appended to, whatever the operator typed. */
75
+ export declare function withoutTrailingSlash(url: string): string;
73
76
  //# sourceMappingURL=composeFsApp.d.ts.map
@@ -1 +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,UAAU,EAAE,WAAW,EAAe,MAAM,iBAAiB,CAAA;AAC9H,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAOtD,OAAO,EAGL,cAAc,EAGf,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAW,SAAS,EAAoC,MAAM,iBAAiB,CAAA;AAgBtF,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAyBzF,MAAM,WAAW,uBAAuB;IAItC,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,iBAAiB,CAAC,EAAE,UAAU,CAAA;CACxC;AAED,MAAM,WAAW,kBAAkB;IAIjC,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,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,kBAAkB,CAAA;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AAE3G;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,kBAAkB,EAAE,CAqCnG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAqBjH;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAE3F;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,qBAAqB,EACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,eAAe,CAAC,CAqP1B"}
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,UAAU,EAAE,WAAW,EAAe,MAAM,iBAAiB,CAAA;AAC9H,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAOtD,OAAO,EAGL,cAAc,EAGf,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAW,SAAS,EAAoC,MAAM,iBAAiB,CAAA;AAiBtF,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAA;AA0BzF,MAAM,WAAW,uBAAuB;IAStC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAIhC,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,iBAAiB,CAAC,EAAE,UAAU,CAAA;CACxC;AAED,MAAM,WAAW,kBAAkB;IAIjC,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,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,kBAAkB,CAAA;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AAE3G;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,kBAAkB,EAAE,CA2CnG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAqBjH;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAE3F;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,qBAAqB,EACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,eAAe,CAAC,CAuQ1B;AAqED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -10,6 +10,7 @@ import { AgentId, AgentKind, StorageKind as StorageKindSchema } from '@braidhq/s
10
10
  import { createGoogleDriveLoader } from '@braidhq/source-loader-gdrive';
11
11
  import { gitLoader } from '@braidhq/source-loader-git';
12
12
  import { createGithubLoader } from '@braidhq/source-loader-github';
13
+ import { createMcpLoader } from '@braidhq/source-loader-mcp';
13
14
  import { kuzuStoragePlugin } from '@braidhq/storage-kuzu';
14
15
  import { authenticated, localTrust } from './authMode.js';
15
16
  import { composeApp } from './composeApp.js';
@@ -30,6 +31,7 @@ import { FsSecretStore } from './infrastructure/secrets/SecretStore.js';
30
31
  import { FsRunRepository } from './infrastructure/skill/FsRunRepository.js';
31
32
  import { BUILTIN_SKILL_NAMESPACE, FsSkillRegistry } from './infrastructure/skill/FsSkillRegistry.js';
32
33
  import { SubprocessSkillRunner } from './infrastructure/skill/SubprocessSkillRunner.js';
34
+ import { FsSourceSyncStateRepository } from './infrastructure/source/FsSourceSyncStateRepository.js';
33
35
  import { FsSourceUnitDigest } from './infrastructure/source/FsSourceUnitDigest.js';
34
36
  import { FsSourceUnitObservationRepository } from './infrastructure/source/FsSourceUnitObservationRepository.js';
35
37
  import { listUnitItems, unitBearingRolesOf } from './infrastructure/source/unitScan.js';
@@ -82,6 +84,12 @@ export function defaultSourceLoaderPlugins(context) {
82
84
  + `Connect it from the source settings in Studio.`),
83
85
  }),
84
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(),
85
93
  ];
86
94
  }
87
95
  /**
@@ -130,7 +138,11 @@ export async function composeFsApp(options = {}) {
130
138
  */
131
139
  export async function composeFsAppWithRegistry(buildRegistry, options = {}) {
132
140
  const braidHome = options.braidHome ?? process.env.BRAID_HOME ?? join(homedir(), '.braid');
133
- const apiUrl = options.apiUrl ?? 'http://localhost:4321';
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);
134
146
  const secretStore = new FsSecretStore(join(braidHome, 'secrets'));
135
147
  const googleClientId = process.env.BRAID_GOOGLE_CLIENT_ID;
136
148
  const googleClientSecret = process.env.BRAID_GOOGLE_CLIENT_SECRET;
@@ -177,19 +189,27 @@ export async function composeFsAppWithRegistry(buildRegistry, options = {}) {
177
189
  accessPolicyConfig.adminEmails = adminEmails;
178
190
  const accessPolicy = new AccessPolicy(join(braidHome, 'access.json'), accessPolicyConfig);
179
191
  // Boot, part one, provision host identity, who may use this server.
192
+ const studioUrl = process.env.BRAID_STUDIO_URL ?? 'http://localhost:5173';
180
193
  // Local trust is the default.
181
194
  // Production sets `BRAID_LOCAL_TRUST=false` to require real authentication.
182
195
  // We do not flip the default when Google OAuth env is present,
183
196
  // those creds also feed the Drive loader,
184
197
  // and a dev pulling from Drive should not hit Login on every reload.
185
- const authMode = parseBoolEnv(process.env.BRAID_LOCAL_TRUST, true) ? localTrust : authenticated;
198
+ const locallyTrusted = parseBoolEnv(process.env.BRAID_LOCAL_TRUST, true);
199
+ assertLocalTrustIsLocal(locallyTrusted, studioUrl);
200
+ const authMode = locallyTrusted ? localTrust : authenticated;
186
201
  // Local trust seeds `local-user`, authenticated mode syncs the login allowlist.
187
202
  await authMode.provision({ userRegistry, accessPolicy });
188
203
  // The reactor is an autonomous component, so it seeds its own service account.
189
204
  // Its kind=service rides onto every proposal it submits,
190
205
  // so the HITL views classify it without a read-time lookup.
191
206
  await ensureServiceAccount(userRegistry, REACTOR_USER_ID, 'Reactor');
192
- const studioUrl = process.env.BRAID_STUDIO_URL ?? 'http://localhost:5173';
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);
193
213
  const workspaceRoots = async () => {
194
214
  const workspaces = await workspaceRepository.list();
195
215
  return new Map(workspaces.map(ws => [ws.id, ws.rootPath]));
@@ -264,11 +284,13 @@ export async function composeFsAppWithRegistry(buildRegistry, options = {}) {
264
284
  skillRegistry,
265
285
  buildAgentBinding: descriptor => pluginRegistry.requireAgentPlugin(descriptor.kind).createBinding(descriptor),
266
286
  defaultAgent,
267
- apiUrl,
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,
268
290
  runRepository,
269
291
  eventBus,
270
292
  ...(uvxBin
271
- ? { coreGateway: { specUrl: `${apiUrl}/openapi.json`, uvxBin } }
293
+ ? { coreGateway: { specUrl: `${loopbackApiUrl}/openapi.json`, uvxBin } }
272
294
  : {}),
273
295
  referenceDirs: [
274
296
  { skillNamespace: BUILTIN_SKILL_NAMESPACE, path: join(builtinSkillsRoot, 'shared') },
@@ -314,6 +336,8 @@ export async function composeFsAppWithRegistry(buildRegistry, options = {}) {
314
336
  // minting a short-lived session so its API calls authenticate.
315
337
  reactorToken: async () => (await sessionStore.issue(REACTOR_USER_ID, { ttlSeconds: 3600 })).token,
316
338
  sourceUnitObservationRepository: new FsSourceUnitObservationRepository({ workspaceRoots }),
339
+ sourceSyncStateRepository: new FsSourceSyncStateRepository({ workspaceRoots }),
340
+ isWorkspaceBusy: workspaceId => skillRunner.hasActiveRun(workspaceId),
317
341
  reactorCycleRepository: new FsReactorCycleRepository({ workspaceRoots }),
318
342
  sourceUnitDigest: new FsSourceUnitDigest(),
319
343
  userDirectory,
@@ -340,6 +364,8 @@ export async function composeFsAppWithRegistry(buildRegistry, options = {}) {
340
364
  sessionStore,
341
365
  accessPolicy,
342
366
  studioUrl,
367
+ ...(studioRoot ? { studioRoot } : {}),
368
+ ...(corsOrigins ? { corsOrigins } : {}),
343
369
  ...(googleOAuth ? { googleOAuth } : {}),
344
370
  ...(githubOAuth ? { githubOAuth } : {}),
345
371
  };
@@ -379,6 +405,66 @@ function makeOAuthTokenResolver(deps) {
379
405
  }
380
406
  };
381
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
+ }
382
468
  function parseCsv(input) {
383
469
  if (!input)
384
470
  return undefined;
@@ -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":"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"}
@@ -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"}