canopycms 0.0.11 → 0.0.12

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 (94) hide show
  1. package/README.md +24 -27
  2. package/dist/ai/handler.d.ts +3 -3
  3. package/dist/ai/handler.d.ts.map +1 -1
  4. package/dist/ai/handler.js +6 -9
  5. package/dist/ai/handler.js.map +1 -1
  6. package/dist/ai/resolve-branch.d.ts +1 -2
  7. package/dist/ai/resolve-branch.d.ts.map +1 -1
  8. package/dist/ai/resolve-branch.js +8 -9
  9. package/dist/ai/resolve-branch.js.map +1 -1
  10. package/dist/api/branch.js +2 -2
  11. package/dist/api/branch.js.map +1 -1
  12. package/dist/api/github-sync.js +0 -2
  13. package/dist/api/github-sync.js.map +1 -1
  14. package/dist/api/settings-helpers.d.ts +3 -5
  15. package/dist/api/settings-helpers.d.ts.map +1 -1
  16. package/dist/api/settings-helpers.js +6 -19
  17. package/dist/api/settings-helpers.js.map +1 -1
  18. package/dist/auth/caching-auth-plugin.d.ts +7 -1
  19. package/dist/auth/caching-auth-plugin.d.ts.map +1 -1
  20. package/dist/auth/caching-auth-plugin.js +31 -3
  21. package/dist/auth/caching-auth-plugin.js.map +1 -1
  22. package/dist/auth/plugin.d.ts +1 -1
  23. package/dist/authorization/types.d.ts +1 -1
  24. package/dist/branch-registry.js +1 -1
  25. package/dist/branch-registry.js.map +1 -1
  26. package/dist/branch-schema-cache.d.ts +8 -13
  27. package/dist/branch-schema-cache.d.ts.map +1 -1
  28. package/dist/branch-schema-cache.js +55 -44
  29. package/dist/branch-schema-cache.js.map +1 -1
  30. package/dist/cli/cli.d.ts +20 -0
  31. package/dist/cli/cli.d.ts.map +1 -0
  32. package/dist/cli/cli.js +196 -0
  33. package/dist/cli/cli.js.map +1 -0
  34. package/dist/cli/generate-ai-content.js +1501 -723
  35. package/dist/cli/init.d.ts +2 -3
  36. package/dist/cli/init.d.ts.map +1 -1
  37. package/dist/cli/init.js +258 -2861
  38. package/dist/cli/init.js.map +1 -1
  39. package/dist/cli/sync.d.ts +33 -0
  40. package/dist/cli/sync.d.ts.map +1 -0
  41. package/dist/cli/sync.js +510 -0
  42. package/dist/cli/sync.js.map +1 -0
  43. package/dist/config/schemas/config.d.ts +5 -5
  44. package/dist/config/schemas/config.d.ts.map +1 -1
  45. package/dist/config/schemas/config.js +1 -1
  46. package/dist/config/schemas/config.js.map +1 -1
  47. package/dist/config-test.d.ts.map +1 -1
  48. package/dist/config-test.js +0 -1
  49. package/dist/config-test.js.map +1 -1
  50. package/dist/content-reader.js +1 -1
  51. package/dist/content-reader.js.map +1 -1
  52. package/dist/editor/BranchManager.d.ts.map +1 -1
  53. package/dist/editor/BranchManager.js +1 -3
  54. package/dist/editor/BranchManager.js.map +1 -1
  55. package/dist/git-manager.d.ts +2 -3
  56. package/dist/git-manager.d.ts.map +1 -1
  57. package/dist/git-manager.js +12 -4
  58. package/dist/git-manager.js.map +1 -1
  59. package/dist/operating-mode/client-safe-strategy.d.ts +1 -12
  60. package/dist/operating-mode/client-safe-strategy.d.ts.map +1 -1
  61. package/dist/operating-mode/client-safe-strategy.js +5 -42
  62. package/dist/operating-mode/client-safe-strategy.js.map +1 -1
  63. package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
  64. package/dist/operating-mode/client-unsafe-strategy.js +10 -68
  65. package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
  66. package/dist/operating-mode/index.d.ts +3 -3
  67. package/dist/operating-mode/index.d.ts.map +1 -1
  68. package/dist/operating-mode/index.js +2 -2
  69. package/dist/operating-mode/types.d.ts +2 -6
  70. package/dist/operating-mode/types.d.ts.map +1 -1
  71. package/dist/services.d.ts +6 -0
  72. package/dist/services.d.ts.map +1 -1
  73. package/dist/services.js +52 -40
  74. package/dist/services.js.map +1 -1
  75. package/dist/settings-branch-utils.d.ts +2 -2
  76. package/dist/settings-branch-utils.js +3 -3
  77. package/dist/settings-branch-utils.js.map +1 -1
  78. package/dist/settings-workspace.d.ts +1 -2
  79. package/dist/settings-workspace.d.ts.map +1 -1
  80. package/dist/settings-workspace.js +1 -2
  81. package/dist/settings-workspace.js.map +1 -1
  82. package/dist/utils/fs.d.ts +3 -0
  83. package/dist/utils/fs.d.ts.map +1 -0
  84. package/dist/utils/fs.js +15 -0
  85. package/dist/utils/fs.js.map +1 -0
  86. package/dist/utils/git.d.ts +7 -0
  87. package/dist/utils/git.d.ts.map +1 -0
  88. package/dist/utils/git.js +17 -0
  89. package/dist/utils/git.js.map +1 -0
  90. package/dist/worker/task-queue-config.d.ts +2 -4
  91. package/dist/worker/task-queue-config.d.ts.map +1 -1
  92. package/dist/worker/task-queue-config.js +3 -7
  93. package/dist/worker/task-queue-config.js.map +1 -1
  94. package/package.json +4 -2
package/README.md CHANGED
@@ -19,10 +19,10 @@ CanopyCMS is a schema-driven, branch-aware CMS for websites that store their con
19
19
 
20
20
  ## Branch roots
21
21
 
22
- - Workspaces resolve per mode: `prod` uses `$CANOPYCMS_WORKSPACE_ROOT/branches` (default: `/mnt/efs/workspace/branches`), `prod-sim` uses `.canopy-prod-sim/branches/<branch>`, and `dev` works directly in the current checkout (no extra clone).
23
- - For `prod` mode, you must set `defaultRemoteUrl`. For `prod-sim`, `defaultRemoteUrl` is **optional** - if omitted, a local simulated remote is auto-created at `.canopy-prod-sim/remote.git`.
22
+ - Workspaces resolve per mode: `prod` uses `$CANOPYCMS_WORKSPACE_ROOT/content-branches` (default: `/mnt/efs/workspace/content-branches`), `dev` uses `.canopy-dev/content-branches/<branch>`.
23
+ - For `prod` mode, you must set `defaultRemoteUrl`. For `dev`, `defaultRemoteUrl` is **optional** - if omitted, a local remote is auto-created at `.canopy-dev/remote.git`.
24
24
  - Optionally configure `defaultRemoteName` (default: `origin`) and `defaultBaseBranch` (default: `main`).
25
- - Git author identity is required for all modes except `dev`: set `gitBotAuthorName` and `gitBotAuthorEmail` so bot commits can be created reliably.
25
+ - Git author identity is required for `prod` mode: set `gitBotAuthorName` and `gitBotAuthorEmail` so bot commits can be created reliably.
26
26
  - Branch names are sanitized and traversal is blocked before creating directories.
27
27
  - Metadata lives at `<workspace>/.canopy-meta/branch.json`; the registry lives at `<branchesRoot>/branches.json` and records the workspaceRoot for each branch.
28
28
  - `BranchWorkspaceManager` + `loadBranchState` keep metadata and registry entries in sync so APIs read/write against the correct workspace root.
@@ -47,7 +47,7 @@ When a user makes an edit in CanopyCMS, they do so on a branch they choose (or a
47
47
  import { defineCanopyConfig } from 'canopycms'
48
48
 
49
49
  export default defineCanopyConfig({
50
- mode: 'dev', // or prod-sim/prod
50
+ mode: 'dev', // or 'prod'
51
51
  gitBotAuthorName: 'Canopy Bot',
52
52
  gitBotAuthorEmail: 'canopy@example.com',
53
53
  editor: {
@@ -59,7 +59,7 @@ export default defineCanopyConfig({
59
59
  // previewBase: { 'content/posts': '/blog' }, // optional overrides
60
60
  },
61
61
  // For prod mode, defaultRemoteUrl is required.
62
- // For prod-sim, it's optional - if omitted, uses auto-initialized local remote at .canopy-prod-sim/remote.git
62
+ // For dev, it's optional - if omitted, uses auto-initialized local remote at .canopy-dev/remote.git
63
63
  // defaultRemoteUrl: 'https://github.com/your/repo.git',
64
64
  defaultBranchAccess: 'allow',
65
65
  // Optional: contentRoot defaults to "content"
@@ -301,48 +301,45 @@ The `isLoading` object mirrors your data structure:
301
301
 
302
302
  ## Modes (pick per environment)
303
303
 
304
- - **`dev`** (default): Work in the current repo checkout; fastest to start. No remote required.
305
- - **`prod-sim`**: Uses `.canopy-prod-sim/branches/` for per-branch clones to mimic production behavior.
306
- - **Auto-initialization**: If no `defaultRemoteUrl` is configured, CanopyCMS automatically creates a local simulated remote at `.canopy-prod-sim/remote.git` and seeds it with your current `baseBranch` (e.g., `main`). This allows fully local testing of branching and submission workflows without requiring an external GitHub remote.
304
+ - **`dev`** (default): Full-featured local development with branching and git ops. Uses `.canopy-dev/content-branches/` for per-branch clones.
305
+ - **Auto-initialization**: If no `defaultRemoteUrl` is configured, CanopyCMS automatically creates a local remote at `.canopy-dev/remote.git` and seeds it with your current `baseBranch` (e.g., `main`). This allows fully local testing of branching and submission workflows without requiring an external GitHub remote.
307
306
  - **Manual remote**: You can still provide an explicit `defaultRemoteUrl` to use a real remote or custom local path.
307
+ - Use `npx canopycms sync` to push/pull content between your working tree and the CMS.
308
308
  - **`prod`**: EFS-backed roots under `$CANOPYCMS_WORKSPACE_ROOT` (default: `/mnt/efs/workspace`). Requires `defaultRemoteUrl`.
309
309
 
310
310
  Branch metadata lives in `.canopy-meta/branch.json`; registry in `branches.json` at the branches root. Content APIs resolve the workspace root from branch state + mode instead of relying on `process.cwd()`.
311
311
 
312
- ### Local Production Simulation Mode
313
-
314
- The `prod-sim` mode is ideal for testing the full CanopyCMS workflow locally before deploying:
312
+ ### Dev Mode Setup
315
313
 
316
314
  **Basic setup (auto-initialization):**
317
315
 
318
316
  ```ts
319
317
  // canopycms.config.ts
320
318
  export default defineCanopyConfig({
321
- mode: 'prod-sim',
319
+ mode: 'dev',
322
320
  gitBotAuthorName: 'Canopy Bot',
323
321
  gitBotAuthorEmail: 'bot@example.com',
324
- // No defaultRemoteUrl needed - auto-creates .canopy-prod-sim/remote.git
322
+ // No defaultRemoteUrl needed - auto-creates .canopy-dev/remote.git
325
323
  })
326
324
  ```
327
325
 
328
326
  **How it works:**
329
327
 
330
- 1. When you create your first branch, CanopyCMS automatically creates a bare git repository at `.canopy-prod-sim/remote.git`
328
+ 1. When you create your first branch, CanopyCMS automatically creates a bare git repository at `.canopy-dev/remote.git`
331
329
  2. Your current `baseBranch` (default: `main`) is pushed to this local remote
332
- 3. Branch workspaces are cloned from this local remote into `.canopy-prod-sim/branches/<branch-name>/`
330
+ 3. Branch workspaces are cloned from this local remote into `.canopy-dev/content-branches/<branch-name>/`
333
331
  4. All git operations (push, fetch, etc.) work against the local remote
334
332
 
335
333
  **Requirements:**
336
334
 
337
335
  - Your project must be a git repository with at least one commit
338
336
  - The `baseBranch` (e.g., `main`) must exist locally
339
- - Git author identity must be configured (`gitBotAuthorName` and `gitBotAuthorEmail`)
340
337
 
341
- **Resetting the simulation:**
338
+ **Resetting dev state:**
342
339
  If you change the `defaultBaseBranch` in your config or want to start fresh:
343
340
 
344
341
  ```bash
345
- rm -rf .canopy-prod-sim/
342
+ rm -rf .canopy-dev/
346
343
  npm run dev # Restart the server
347
344
  ```
348
345
 
@@ -350,12 +347,12 @@ This will reinitialize the local remote with the new base branch.
350
347
 
351
348
  **Using in a monorepo:**
352
349
 
353
- If your CanopyCMS config is in a subdirectory of a larger monorepo, set `sourceRoot` to tell CanopyCMS which directory to use as the source for the simulated remote:
350
+ If your CanopyCMS config is in a subdirectory of a larger monorepo, set `sourceRoot` to tell CanopyCMS which directory to use as the source for the local remote:
354
351
 
355
352
  ```ts
356
353
  // packages/my-app/canopycms.config.ts
357
354
  export default defineCanopyConfig({
358
- mode: 'prod-sim',
355
+ mode: 'dev',
359
356
  sourceRoot: 'packages/my-app', // Path relative to git repository root
360
357
  gitBotAuthorName: 'Canopy Bot',
361
358
  gitBotAuthorEmail: 'bot@example.com',
@@ -365,29 +362,29 @@ export default defineCanopyConfig({
365
362
 
366
363
  This ensures that:
367
364
 
368
- - Only the `packages/my-app` directory is pushed to the simulated remote (not the entire monorepo)
365
+ - Only the `packages/my-app` directory is pushed to the local remote (not the entire monorepo)
369
366
  - Branch clones contain only your app's directory structure
370
367
  - Content paths resolve correctly (e.g., `content/home` works as expected)
371
368
 
372
369
  **How it works:**
373
370
 
374
371
  1. When `sourceRoot` is set, CanopyCMS resolves it relative to the git repository root (where `process.cwd()` returns)
375
- 2. The simulated remote is created at `<sourceRoot>/.canopy-prod-sim/remote.git`
372
+ 2. The local remote is created at `<sourceRoot>/.canopy-dev/remote.git`
376
373
  3. Only the `sourceRoot` directory is pushed to the remote using git subtree (using the baseBranch)
377
374
  4. Branch workspaces are cloned from this remote and contain only the source directory
378
375
 
379
376
  **When to use `sourceRoot`:**
380
377
 
381
- - Your config is in a monorepo subdirectory (e.g., `packages/my-app/`)
382
- - You're developing/testing CanopyCMS examples within the CanopyCMS repo itself
383
- - Your config is at the root of a standalone repository (omit `sourceRoot` - defaults to git root)
378
+ - Your config is in a monorepo subdirectory (e.g., `packages/my-app/`)
379
+ - You're developing/testing CanopyCMS examples within the CanopyCMS repo itself
380
+ - Not needed if your config is at the root of a standalone repository (omit `sourceRoot` - defaults to git root)
384
381
 
385
382
  **Using a real remote:**
386
383
  You can still provide an explicit remote URL if you want to test against a real repository:
387
384
 
388
385
  ```ts
389
386
  export default defineCanopyConfig({
390
- mode: 'prod-sim',
387
+ mode: 'dev',
391
388
  defaultRemoteUrl: 'https://github.com/your/repo.git',
392
389
  // ... or use a local bare repo at a custom path
393
390
  })
@@ -397,7 +394,7 @@ export default defineCanopyConfig({
397
394
 
398
395
  - Public build: ships only your site/pages; reads main/default branch content.
399
396
  - Editor build: ships the editor UI + CanopyCMS API routes; handles branch create/switch/save/submit and asset uploads.
400
- - Modes map to environments: dev for quick dev, prod-sim to mimic prod clone behavior, prod on EFS. More deployment guidance will be documented as the branch-rooted APIs and submission flow land.
397
+ - Modes map to environments: dev for local development, prod on EFS. More deployment guidance will be documented as the branch-rooted APIs and submission flow land.
401
398
 
402
399
  ## Assets
403
400
 
@@ -26,9 +26,9 @@ export interface AIContentHandlerOptions {
26
26
  * Returns a function compatible with Next.js route handlers.
27
27
  *
28
28
  * Caching strategy:
29
- * - Dev mode: regenerates on every request (picks up content changes immediately)
30
- * - Prod/prod-sim: generates once per process lifetime (Lambda instances are recycled
31
- * on deploy, so content changes via merge → deploy → new instance with fresh cache)
29
+ * - Dev mode: regenerates on every request (content changes without deploys)
30
+ * - Prod: generates once per process lifetime (Lambda instances are recycled on deploy,
31
+ * so content changes via merge → deploy → new instance with fresh cache)
32
32
  */
33
33
  export declare function createAIContentHandler(options: AIContentHandlerOptions): (req: Request, ctx: {
34
34
  params: Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/ai/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,CAAA;IACpB,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAgFnF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/ai/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,CAAA;IACpB,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,CA6EnF"}
@@ -21,9 +21,9 @@ import { resolveBranchRoot } from './resolve-branch';
21
21
  * Returns a function compatible with Next.js route handlers.
22
22
  *
23
23
  * Caching strategy:
24
- * - Dev mode: regenerates on every request (picks up content changes immediately)
25
- * - Prod/prod-sim: generates once per process lifetime (Lambda instances are recycled
26
- * on deploy, so content changes via merge → deploy → new instance with fresh cache)
24
+ * - Dev mode: regenerates on every request (content changes without deploys)
25
+ * - Prod: generates once per process lifetime (Lambda instances are recycled on deploy,
26
+ * so content changes via merge → deploy → new instance with fresh cache)
27
27
  */
28
28
  export function createAIContentHandler(options) {
29
29
  const { config, entrySchemaRegistry, aiConfig, _testFlatSchema } = options;
@@ -31,10 +31,7 @@ export function createAIContentHandler(options) {
31
31
  let cachedResult = null;
32
32
  const generate = async () => {
33
33
  // In dev mode, always regenerate (content changes without deploys)
34
- if (config.mode === 'dev') {
35
- if (!_testFlatSchema) {
36
- await schemaCache.clearAll();
37
- }
34
+ if (config.mode !== 'prod') {
38
35
  cachedResult = null;
39
36
  }
40
37
  if (cachedResult)
@@ -67,7 +64,7 @@ export function createAIContentHandler(options) {
67
64
  return new Response(result.files.get('manifest.json'), {
68
65
  headers: {
69
66
  'Content-Type': 'application/json; charset=utf-8',
70
- 'Cache-Control': config.mode === 'dev' ? 'no-cache' : 'public, max-age=60',
67
+ 'Cache-Control': config.mode !== 'prod' ? 'no-cache' : 'public, max-age=60',
71
68
  },
72
69
  });
73
70
  }
@@ -77,7 +74,7 @@ export function createAIContentHandler(options) {
77
74
  return new Response(content, {
78
75
  headers: {
79
76
  'Content-Type': 'text/markdown; charset=utf-8',
80
- 'Cache-Control': config.mode === 'dev' ? 'no-cache' : 'public, max-age=60',
77
+ 'Cache-Control': config.mode !== 'prod' ? 'no-cache' : 'public, max-age=60',
81
78
  },
82
79
  });
83
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/ai/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/ai/handler.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,8 @@ import type { CanopyConfig } from '../config';
6
6
  /**
7
7
  * Resolve the branch root directory for reading content.
8
8
  *
9
- * - Dev mode: current working directory (content is in the checkout)
10
9
  * - Static deployment: current working directory (content is in the checkout)
11
- * - Prod/prod-sim server: load the default base branch context
10
+ * - Server (prod/dev): load or create the default base branch workspace
12
11
  */
13
12
  export declare function resolveBranchRoot(config: CanopyConfig): Promise<string>;
14
13
  //# sourceMappingURL=resolve-branch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-branch.d.ts","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7E"}
1
+ {"version":3,"file":"resolve-branch.d.ts","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB7E"}
@@ -2,28 +2,27 @@
2
2
  * Shared branch root resolution for AI content generation.
3
3
  * Used by both the route handler and build utility.
4
4
  */
5
- import { loadBranchContext } from '../branch-metadata';
5
+ import { loadOrCreateBranchContext } from '../branch-workspace';
6
6
  import { isDeployedStatic } from '../build-mode';
7
7
  /**
8
8
  * Resolve the branch root directory for reading content.
9
9
  *
10
- * - Dev mode: current working directory (content is in the checkout)
11
10
  * - Static deployment: current working directory (content is in the checkout)
12
- * - Prod/prod-sim server: load the default base branch context
11
+ * - Server (prod/dev): load or create the default base branch workspace
13
12
  */
14
13
  export async function resolveBranchRoot(config) {
15
- if (config.mode === 'dev' || isDeployedStatic(config)) {
14
+ // Static deployments read content directly from the checkout — no branch workspace needed
15
+ if (isDeployedStatic(config)) {
16
16
  return process.cwd();
17
17
  }
18
18
  const baseBranch = config.defaultBaseBranch ?? 'main';
19
- const context = await loadBranchContext({
19
+ const context = await loadOrCreateBranchContext({
20
+ config,
20
21
  branchName: baseBranch,
21
22
  mode: config.mode,
23
+ createdBy: 'canopycms-ai',
24
+ remoteUrl: config.defaultRemoteUrl,
22
25
  });
23
- if (!context) {
24
- throw new Error(`Could not load branch context for "${baseBranch}". ` +
25
- 'Ensure the branch exists and has been initialized.');
26
- }
27
26
  return context.branchRoot;
28
27
  }
29
28
  //# sourceMappingURL=resolve-branch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-branch.js","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAoB;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,UAAU,KAAK;YACnD,oDAAoD,CACvD,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"resolve-branch.js","sourceRoot":"","sources":["../../src/ai/resolve-branch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAoB;IAC1D,0FAA0F;IAC1F,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAA;IACrD,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;QAC9C,MAAM;QACN,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,MAAM,CAAC,gBAAgB;KACnC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,UAAU,CAAA;AAC3B,CAAC"}
@@ -125,7 +125,7 @@ export const listBranchesHandler = async (ctx, req) => {
125
125
  return {
126
126
  ok: false,
127
127
  status: 400,
128
- error: 'Branch operations not available in dev mode',
128
+ error: 'Branch registry not initialized ensure the workspace has been initialized',
129
129
  };
130
130
  }
131
131
  const allBranches = await ctx.services.registry.list();
@@ -232,7 +232,7 @@ export const deleteBranchHandler = async (ctx, req, params) => {
232
232
  return {
233
233
  ok: false,
234
234
  status: 400,
235
- error: 'Branch operations not available in dev mode',
235
+ error: 'Branch registry not initialized ensure the workspace has been initialized',
236
236
  };
237
237
  }
238
238
  await ctx.services.registry.invalidate();
@@ -1 +1 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/api/branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/api/branch.ts"],"names":[],"mappings":"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"}
@@ -102,8 +102,6 @@ export async function syncConvertToDraft(ctx, context) {
102
102
  */
103
103
  async function enqueueGitHubTask(ctx, context, task) {
104
104
  const taskDir = getTaskQueueDir(ctx.services.config);
105
- if (!taskDir)
106
- return {};
107
105
  try {
108
106
  await enqueueTask(taskDir, task);
109
107
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"github-sync.js","sourceRoot":"","sources":["../../src/api/github-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAY3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAe,EACf,OAAsB;IAEtB,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAA;IACtC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAA;IAE/C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,sDAAsD;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACrC,MAAM,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;oBACtE,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;iBACb,CAAC,CAAA;gBACF,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBAC/E,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;oBACb,MAAM,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBACtE,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;oBACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB;oBAC1C,UAAU,EAAE,QAAQ;iBACrB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC;oBACnD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;oBAC/B,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,KAAK;iBACb,CAAC,CAAA;gBACF,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,QAAQ,EAAE,MAAM,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ;iBACrB,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;YACpE,OAAO,CAAC,KAAK,CAAC,6CAA6C,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;YAC3F,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;gBACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB;gBAC1C,UAAU,EAAE,aAAa;aAC1B,CAAA;QACH,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB;QACtF,OAAO,EAAE;YACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YAC3B,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM;YAC3D,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB;SACpD;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAe,EAAE,OAAsB;IAC9E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAAE,OAAM;IAE7C,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAA;IAEtC,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;YACpE,OAAO,CAAC,KAAK,CAAC,gDAAgD,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;QAChG,CAAC;QACD,OAAM;IACR,CAAC;IAED,mBAAmB;IACnB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAA;IACrC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACzD,MAAM,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE;YACpC,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBAC3B,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB;aACpD;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAe,EACf,OAAsB,EACtB,IAA8D;IAE9D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAEvB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAChC,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;YACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB;YAC1C,UAAU,EAAE,cAAc;SAC3B,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;QACpE,OAAO,CAAC,KAAK,CAAC,yCAAyC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;QACvF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"github-sync.js","sourceRoot":"","sources":["../../src/api/github-sync.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,7 @@ import type { ApiContext } from './types';
2
2
  import type { OperatingMode } from '../operating-mode';
3
3
  /**
4
4
  * Get the appropriate root path for settings (permissions/groups).
5
- * In dev mode, returns the main branch root (.canopy-dev/settings/).
6
- * In prod/prod-sim modes, returns the settings root (settings/).
5
+ * Returns the settings root managed by the settings workspace.
7
6
  */
8
7
  export declare function getSettingsBranchContext(ctx: ApiContext): Promise<{
9
8
  context: {
@@ -17,9 +16,8 @@ export declare function getSettingsBranchContext(ctx: ApiContext): Promise<{
17
16
  }>;
18
17
  /**
19
18
  * Commit and push settings changes based on the mode.
20
- * In dev mode, does nothing (no git operations).
21
- * In prod mode, uses commitToSettingsBranch.
22
- * In prod-sim mode, uses regular commitFiles.
19
+ * Both prod and dev use commitToSettingsBranch.
20
+ * In dev mode, commits to the settings branch but does not create a PR.
23
21
  */
24
22
  export declare function commitSettings(ctx: ApiContext, options: {
25
23
  context: {
@@ -1 +1 @@
1
- {"version":3,"file":"settings-helpers.d.ts","sourceRoot":"","sources":["../../src/api/settings-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,GACd,OAAO,CACN;IAAE,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CACpC,CA6BA;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE;IACP,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,aAAa,CAAA;CACpB,GACA,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"settings-helpers.d.ts","sourceRoot":"","sources":["../../src/api/settings-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGtD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,GACd,OAAO,CACN;IAAE,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CACpC,CAiBA;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE;IACP,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,aAAa,CAAA;CACpB,GACA,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -1,8 +1,7 @@
1
1
  import { operatingStrategy } from '../operating-mode';
2
2
  /**
3
3
  * Get the appropriate root path for settings (permissions/groups).
4
- * In dev mode, returns the main branch root (.canopy-dev/settings/).
5
- * In prod/prod-sim modes, returns the settings root (settings/).
4
+ * Returns the settings root managed by the settings workspace.
6
5
  */
7
6
  export async function getSettingsBranchContext(ctx) {
8
7
  const mode = ctx.services.config.mode;
@@ -12,30 +11,18 @@ export async function getSettingsBranchContext(ctx) {
12
11
  settingsBranch: ctx.services.config.settingsBranch,
13
12
  defaultBaseBranch: ctx.services.config.defaultBaseBranch,
14
13
  });
15
- // For modes with separate settings branch, use settings root
16
- if (strategy.usesSeparateSettingsBranch()) {
17
- // Get settings root and ensure workspace exists
18
- const settingsRoot = await ctx.services.getSettingsBranchRoot();
19
- return {
20
- context: { branchRoot: settingsRoot },
21
- mode,
22
- branchName,
23
- };
24
- }
25
- // For dev mode, settings are stored in .canopy-dev/settings/
26
- // We need to pass the workspace root, not a branch root
27
- const workspaceRoot = ctx.services.config.sourceRoot ?? process.cwd();
14
+ // Both prod and dev use a separate settings branch
15
+ const settingsRoot = await ctx.services.getSettingsBranchRoot();
28
16
  return {
29
- context: { branchRoot: workspaceRoot },
17
+ context: { branchRoot: settingsRoot },
30
18
  mode,
31
19
  branchName,
32
20
  };
33
21
  }
34
22
  /**
35
23
  * Commit and push settings changes based on the mode.
36
- * In dev mode, does nothing (no git operations).
37
- * In prod mode, uses commitToSettingsBranch.
38
- * In prod-sim mode, uses regular commitFiles.
24
+ * Both prod and dev use commitToSettingsBranch.
25
+ * In dev mode, commits to the settings branch but does not create a PR.
39
26
  */
40
27
  export async function commitSettings(ctx, options) {
41
28
  const strategy = operatingStrategy(options.mode);
@@ -1 +1 @@
1
- {"version":3,"file":"settings-helpers.js","sourceRoot":"","sources":["../../src/api/settings-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAe;IAKf,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAA;IACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAExC,0DAA0D;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC;QAChD,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;QAClD,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB;KACzD,CAAC,CAAA;IAEF,6DAA6D;IAC7D,IAAI,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QAC1C,gDAAgD;QAChD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAA;QAC/D,OAAO;YACL,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;YACrC,IAAI;YACJ,UAAU;SACX,CAAA;IACH,CAAC;IAED,6DAA6D;IAC7D,wDAAwD;IACxD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACrE,OAAO;QACL,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;QACtC,IAAI;QACJ,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,OAMC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhD,oDAAoD;IACpD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACvD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,QAAQ;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAAC;gBACxC,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB;aAC/D,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"settings-helpers.js","sourceRoot":"","sources":["../../src/api/settings-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAe;IAKf,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAA;IACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAExC,0DAA0D;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC;QAChD,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;QAClD,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB;KACzD,CAAC,CAAA;IAEF,mDAAmD;IACnD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAA;IAC/D,OAAO;QACL,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;QACrC,IAAI;QACJ,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,OAMC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhD,oDAAoD;IACpD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,yEAAyE;IACzE,IAAI,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACvD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,QAAQ;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAAC;gBACxC,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB;aAC/D,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -28,11 +28,17 @@ export type TokenVerifier = (context: unknown) => Promise<{
28
28
  * (e.g., Lambda with no internet). JWT verification is done locally,
29
29
  * and user/group metadata comes from a cache populated externally
30
30
  * (e.g., by an EC2 worker).
31
+ *
32
+ * In dev mode, an optional `lazyRefresher` can be provided to auto-populate
33
+ * the cache on first request, eliminating the need to run `worker run-once` manually.
31
34
  */
32
35
  export declare class CachingAuthPlugin implements AuthPlugin {
33
36
  private readonly verifyToken;
34
37
  private readonly cache;
35
- constructor(verifyToken: TokenVerifier, cache: AuthCacheProvider);
38
+ private readonly lazyRefresher?;
39
+ private refreshPromise;
40
+ constructor(verifyToken: TokenVerifier, cache: AuthCacheProvider, lazyRefresher?: (() => Promise<unknown>) | undefined);
41
+ private ensureCachePopulated;
36
42
  authenticate(context: unknown): Promise<AuthenticationResult>;
37
43
  searchUsers(query: string, limit?: number): Promise<UserSearchResult[]>;
38
44
  getUserMetadata(userId: CanopyUserId): Promise<UserSearchResult | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"caching-auth-plugin.d.ts","sourceRoot":"","sources":["../../src/auth/caching-auth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAK3D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAC/D,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC1C,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACxC,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;CACtE;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CAAC,CAAA;AAE1F;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAEhD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,WAAW,EAAE,aAAa,EAC1B,KAAK,EAAE,iBAAiB;IAGrC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoC7D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAenE,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIvE,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAIvE,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAQvD"}
1
+ {"version":3,"file":"caching-auth-plugin.d.ts","sourceRoot":"","sources":["../../src/auth/caching-auth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAK3D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAC/D,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC1C,YAAY,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACxC,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;CACtE;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAIhD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IALjC,OAAO,CAAC,cAAc,CAA6B;gBAGhC,WAAW,EAAE,aAAa,EAC1B,KAAK,EAAE,iBAAiB,EACxB,aAAa,CAAC,GAAE,MAAM,OAAO,CAAC,OAAO,CAAC,aAAA;YAG3C,oBAAoB;IAY5B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsC7D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAenE,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAQvE,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAQvE,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAQvD"}
@@ -7,17 +7,35 @@ const log = createDebugLogger({ prefix: 'CachingAuthPlugin' });
7
7
  * (e.g., Lambda with no internet). JWT verification is done locally,
8
8
  * and user/group metadata comes from a cache populated externally
9
9
  * (e.g., by an EC2 worker).
10
+ *
11
+ * In dev mode, an optional `lazyRefresher` can be provided to auto-populate
12
+ * the cache on first request, eliminating the need to run `worker run-once` manually.
10
13
  */
11
14
  export class CachingAuthPlugin {
12
- constructor(verifyToken, cache) {
15
+ constructor(verifyToken, cache, lazyRefresher) {
13
16
  this.verifyToken = verifyToken;
14
17
  this.cache = cache;
18
+ this.lazyRefresher = lazyRefresher;
19
+ this.refreshPromise = null;
20
+ }
21
+ async ensureCachePopulated() {
22
+ if (!this.lazyRefresher)
23
+ return;
24
+ // Use a shared promise so concurrent callers coalesce into a single refresh
25
+ this.refreshPromise ??= this.lazyRefresher()
26
+ .then(() => log.debug('auth', 'Lazy cache refresh completed'))
27
+ .catch((err) => {
28
+ log.debug('auth', 'Lazy cache refresh failed', { error: String(err) });
29
+ this.refreshPromise = null; // allow retry on next call
30
+ });
31
+ await this.refreshPromise;
15
32
  }
16
33
  async authenticate(context) {
17
34
  const identity = await this.verifyToken(context);
18
35
  if (!identity) {
19
36
  return { success: false, error: 'No valid authentication token' };
20
37
  }
38
+ await this.ensureCachePopulated();
21
39
  try {
22
40
  const user = await this.cache.getUser(identity.userId);
23
41
  const externalGroups = await this.cache.getUserExternalGroups(identity.userId);
@@ -60,10 +78,20 @@ export class CachingAuthPlugin {
60
78
  }
61
79
  }
62
80
  async getUserMetadata(userId) {
63
- return this.cache.getUser(userId);
81
+ try {
82
+ return await this.cache.getUser(userId);
83
+ }
84
+ catch {
85
+ return null;
86
+ }
64
87
  }
65
88
  async getGroupMetadata(groupId) {
66
- return this.cache.getGroup(groupId);
89
+ try {
90
+ return await this.cache.getGroup(groupId);
91
+ }
92
+ catch {
93
+ return null;
94
+ }
67
95
  }
68
96
  async listGroups(limit = 50) {
69
97
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"caching-auth-plugin.js","sourceRoot":"","sources":["../../src/auth/caching-auth-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"caching-auth-plugin.js","sourceRoot":"","sources":["../../src/auth/caching-auth-plugin.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export interface AuthPlugin {
43
43
  /**
44
44
  * Optional: lightweight token-only verification (no user metadata lookup, no network).
45
45
  * When present, createNextCanopyContext automatically wraps this plugin with
46
- * CachingAuthPlugin in prod/prod-sim modes. The cache is populated by the worker daemon.
46
+ * CachingAuthPlugin in prod/dev modes. The cache is populated by the worker daemon.
47
47
  */
48
48
  verifyTokenOnly?(context: unknown): Promise<{
49
49
  userId: CanopyUserId;
@@ -47,7 +47,7 @@ export interface ContentAccessDeps {
47
47
  mode: import('../operating-mode').OperatingMode;
48
48
  /**
49
49
  * Get the settings branch root path for loading centralized permissions.
50
- * Only used in prod/prod-sim modes.
50
+ * Used in modes with a separate settings branch.
51
51
  * Must throw if settings branch cannot be loaded.
52
52
  */
53
53
  getSettingsBranchRoot?: () => Promise<string>;