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.
- package/README.md +24 -27
- package/dist/ai/handler.d.ts +3 -3
- package/dist/ai/handler.d.ts.map +1 -1
- package/dist/ai/handler.js +6 -9
- package/dist/ai/handler.js.map +1 -1
- package/dist/ai/resolve-branch.d.ts +1 -2
- package/dist/ai/resolve-branch.d.ts.map +1 -1
- package/dist/ai/resolve-branch.js +8 -9
- package/dist/ai/resolve-branch.js.map +1 -1
- package/dist/api/branch.js +2 -2
- package/dist/api/branch.js.map +1 -1
- package/dist/api/github-sync.js +0 -2
- package/dist/api/github-sync.js.map +1 -1
- package/dist/api/settings-helpers.d.ts +3 -5
- package/dist/api/settings-helpers.d.ts.map +1 -1
- package/dist/api/settings-helpers.js +6 -19
- package/dist/api/settings-helpers.js.map +1 -1
- package/dist/auth/caching-auth-plugin.d.ts +7 -1
- package/dist/auth/caching-auth-plugin.d.ts.map +1 -1
- package/dist/auth/caching-auth-plugin.js +31 -3
- package/dist/auth/caching-auth-plugin.js.map +1 -1
- package/dist/auth/plugin.d.ts +1 -1
- package/dist/authorization/types.d.ts +1 -1
- package/dist/branch-registry.js +1 -1
- package/dist/branch-registry.js.map +1 -1
- package/dist/branch-schema-cache.d.ts +8 -13
- package/dist/branch-schema-cache.d.ts.map +1 -1
- package/dist/branch-schema-cache.js +55 -44
- package/dist/branch-schema-cache.js.map +1 -1
- package/dist/cli/cli.d.ts +20 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +196 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/generate-ai-content.js +1501 -723
- package/dist/cli/init.d.ts +2 -3
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +258 -2861
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/sync.d.ts +33 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +510 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/config/schemas/config.d.ts +5 -5
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +1 -1
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config-test.d.ts.map +1 -1
- package/dist/config-test.js +0 -1
- package/dist/config-test.js.map +1 -1
- package/dist/content-reader.js +1 -1
- package/dist/content-reader.js.map +1 -1
- package/dist/editor/BranchManager.d.ts.map +1 -1
- package/dist/editor/BranchManager.js +1 -3
- package/dist/editor/BranchManager.js.map +1 -1
- package/dist/git-manager.d.ts +2 -3
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +12 -4
- package/dist/git-manager.js.map +1 -1
- package/dist/operating-mode/client-safe-strategy.d.ts +1 -12
- package/dist/operating-mode/client-safe-strategy.d.ts.map +1 -1
- package/dist/operating-mode/client-safe-strategy.js +5 -42
- package/dist/operating-mode/client-safe-strategy.js.map +1 -1
- package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
- package/dist/operating-mode/client-unsafe-strategy.js +10 -68
- package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
- package/dist/operating-mode/index.d.ts +3 -3
- package/dist/operating-mode/index.d.ts.map +1 -1
- package/dist/operating-mode/index.js +2 -2
- package/dist/operating-mode/types.d.ts +2 -6
- package/dist/operating-mode/types.d.ts.map +1 -1
- package/dist/services.d.ts +6 -0
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +52 -40
- package/dist/services.js.map +1 -1
- package/dist/settings-branch-utils.d.ts +2 -2
- package/dist/settings-branch-utils.js +3 -3
- package/dist/settings-branch-utils.js.map +1 -1
- package/dist/settings-workspace.d.ts +1 -2
- package/dist/settings-workspace.d.ts.map +1 -1
- package/dist/settings-workspace.js +1 -2
- package/dist/settings-workspace.js.map +1 -1
- package/dist/utils/fs.d.ts +3 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +15 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/git.d.ts +7 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +17 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/worker/task-queue-config.d.ts +2 -4
- package/dist/worker/task-queue-config.d.ts.map +1 -1
- package/dist/worker/task-queue-config.js +3 -7
- package/dist/worker/task-queue-config.js.map +1 -1
- package/package.json +4 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* These classes inherit all client-safe methods and add client-unsafe functionality.
|
|
8
8
|
*/
|
|
9
9
|
import path from 'node:path';
|
|
10
|
-
import { ProdClientSafeStrategy,
|
|
10
|
+
import { ProdClientSafeStrategy, DevClientSafeStrategy } from './client-safe-strategy';
|
|
11
11
|
import { DEFAULT_PROD_WORKSPACE } from '../config';
|
|
12
12
|
// ============================================================================
|
|
13
13
|
// Production Mode - Full Strategy
|
|
@@ -74,12 +74,12 @@ class ProdStrategy extends ProdClientSafeStrategy {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
// ============================================================================
|
|
77
|
-
//
|
|
77
|
+
// Dev Mode - Full Strategy
|
|
78
78
|
// ============================================================================
|
|
79
|
-
class
|
|
80
|
-
// Inherits client-safe methods from
|
|
79
|
+
class DevStrategy extends DevClientSafeStrategy {
|
|
80
|
+
// Inherits client-safe methods from DevClientSafeStrategy
|
|
81
81
|
getWorkspaceRoot(sourceRoot) {
|
|
82
|
-
return path.resolve(sourceRoot ?? process.cwd(), '.canopy-
|
|
82
|
+
return path.resolve(sourceRoot ?? process.cwd(), '.canopy-dev');
|
|
83
83
|
}
|
|
84
84
|
getContentRoot(sourceRoot) {
|
|
85
85
|
return path.resolve(sourceRoot ?? process.cwd(), 'content');
|
|
@@ -102,7 +102,7 @@ class LocalProdSimStrategy extends LocalProdSimClientSafeStrategy {
|
|
|
102
102
|
getRemoteUrlConfig() {
|
|
103
103
|
return {
|
|
104
104
|
shouldAutoInitLocal: true,
|
|
105
|
-
defaultRemotePath: '.canopy-
|
|
105
|
+
defaultRemotePath: '.canopy-dev/remote.git',
|
|
106
106
|
envVarName: 'CANOPYCMS_REMOTE_URL',
|
|
107
107
|
};
|
|
108
108
|
}
|
|
@@ -112,7 +112,7 @@ class LocalProdSimStrategy extends LocalProdSimClientSafeStrategy {
|
|
|
112
112
|
getSettingsBranchName(config) {
|
|
113
113
|
if (config.settingsBranch)
|
|
114
114
|
return config.settingsBranch;
|
|
115
|
-
const deploymentName = config.deploymentName ?? '
|
|
115
|
+
const deploymentName = config.deploymentName ?? 'local';
|
|
116
116
|
return `canopycms-settings-${deploymentName}`;
|
|
117
117
|
}
|
|
118
118
|
getSettingsRoot(sourceRoot) {
|
|
@@ -122,65 +122,10 @@ class LocalProdSimStrategy extends LocalProdSimClientSafeStrategy {
|
|
|
122
122
|
return true;
|
|
123
123
|
}
|
|
124
124
|
validateConfig(_config) {
|
|
125
|
-
// No special validation for
|
|
126
|
-
}
|
|
127
|
-
shouldCreateSettingsPR(_config) {
|
|
128
|
-
return false; // No real GitHub in simulation
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
// ============================================================================
|
|
132
|
-
// Local Simple Mode - Full Strategy
|
|
133
|
-
// ============================================================================
|
|
134
|
-
class LocalSimpleStrategy extends LocalSimpleClientSafeStrategy {
|
|
135
|
-
// Inherits: supportsBranching() returns false, getPermissionsFileName() returns 'permissions.local.json'
|
|
136
|
-
getWorkspaceRoot(sourceRoot) {
|
|
137
|
-
return path.resolve(sourceRoot ?? process.cwd(), '.canopy-dev');
|
|
138
|
-
}
|
|
139
|
-
getContentRoot(sourceRoot) {
|
|
140
|
-
return path.resolve(sourceRoot ?? process.cwd(), 'content');
|
|
141
|
-
}
|
|
142
|
-
getContentBranchesRoot(_sourceRoot) {
|
|
143
|
-
throw new Error('No branching in dev mode');
|
|
144
|
-
}
|
|
145
|
-
getContentBranchRoot(_branchName, _sourceRoot) {
|
|
146
|
-
throw new Error('No branching in dev mode');
|
|
147
|
-
}
|
|
148
|
-
getGitExcludePattern() {
|
|
149
|
-
return '.canopy-meta/';
|
|
150
|
-
}
|
|
151
|
-
getPermissionsFilePath(root) {
|
|
152
|
-
// Returns: {projectRoot}/.canopy-dev/settings/permissions.json
|
|
153
|
-
return path.join(this.getWorkspaceRoot(root), 'settings', 'permissions.json');
|
|
154
|
-
}
|
|
155
|
-
getGroupsFilePath(root) {
|
|
156
|
-
// Returns: {projectRoot}/.canopy-dev/settings/groups.json
|
|
157
|
-
return path.join(this.getWorkspaceRoot(root), 'settings', 'groups.json');
|
|
158
|
-
}
|
|
159
|
-
getRemoteUrlConfig() {
|
|
160
|
-
return {
|
|
161
|
-
shouldAutoInitLocal: false,
|
|
162
|
-
defaultRemotePath: '',
|
|
163
|
-
envVarName: 'CANOPYCMS_REMOTE_URL',
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
requiresExistingRepo() {
|
|
167
|
-
return true; // Must have existing repo
|
|
168
|
-
}
|
|
169
|
-
getSettingsBranchName(config) {
|
|
170
|
-
// Use main branch for settings in dev (no separate settings branch)
|
|
171
|
-
return config.defaultBaseBranch ?? 'main';
|
|
172
|
-
}
|
|
173
|
-
getSettingsRoot(sourceRoot) {
|
|
174
|
-
return path.join(this.getWorkspaceRoot(sourceRoot), 'settings');
|
|
175
|
-
}
|
|
176
|
-
usesSeparateSettingsBranch() {
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
validateConfig(_config) {
|
|
180
|
-
// No special validation for dev
|
|
125
|
+
// No special validation for dev mode
|
|
181
126
|
}
|
|
182
127
|
shouldCreateSettingsPR(_config) {
|
|
183
|
-
return false; // No GitHub in dev
|
|
128
|
+
return false; // No real GitHub in local dev mode
|
|
184
129
|
}
|
|
185
130
|
}
|
|
186
131
|
// ============================================================================
|
|
@@ -207,11 +152,8 @@ export function operatingStrategy(mode) {
|
|
|
207
152
|
case 'prod':
|
|
208
153
|
strategy = new ProdStrategy();
|
|
209
154
|
break;
|
|
210
|
-
case 'prod-sim':
|
|
211
|
-
strategy = new LocalProdSimStrategy();
|
|
212
|
-
break;
|
|
213
155
|
case 'dev':
|
|
214
|
-
strategy = new
|
|
156
|
+
strategy = new DevStrategy();
|
|
215
157
|
break;
|
|
216
158
|
default: {
|
|
217
159
|
// Exhaustiveness check - TypeScript will error if a mode is not handled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-unsafe-strategy.js","sourceRoot":"","sources":["../../src/operating-mode/client-unsafe-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"client-unsafe-strategy.js","sourceRoot":"","sources":["../../src/operating-mode/client-unsafe-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
* import { operatingStrategy } from '@/operating-mode'
|
|
17
17
|
* const strategy = operatingStrategy(mode)
|
|
18
18
|
* const contentRoot = strategy.getContentRoot()
|
|
19
|
-
* const branchesRoot = strategy.getContentBranchesRoot()
|
|
20
|
-
* const branchRoot = strategy.getContentBranchRoot('my-branch')
|
|
19
|
+
* const branchesRoot = strategy.getContentBranchesRoot()
|
|
20
|
+
* const branchRoot = strategy.getContentBranchRoot('my-branch')
|
|
21
21
|
* const settingsRoot = strategy.getSettingsRoot()
|
|
22
22
|
* if (strategy.supportsBranching()) { ... } // can also use client-safe methods
|
|
23
23
|
*/
|
|
24
24
|
export { clientOperatingStrategy, clearClientStrategyCache } from './client-safe-strategy';
|
|
25
25
|
export { operatingStrategy, clearStrategyCache } from './client-unsafe-strategy';
|
|
26
|
-
export type OperatingMode = 'prod' | '
|
|
26
|
+
export type OperatingMode = 'prod' | 'dev';
|
|
27
27
|
export type { ClientSafeStrategy, ClientUnsafeStrategy, ResolveRemoteUrlOptions } from './types';
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operating-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAG1F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operating-mode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAG1F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,CAAA;AAG1C,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* import { operatingStrategy } from '@/operating-mode'
|
|
17
17
|
* const strategy = operatingStrategy(mode)
|
|
18
18
|
* const contentRoot = strategy.getContentRoot()
|
|
19
|
-
* const branchesRoot = strategy.getContentBranchesRoot()
|
|
20
|
-
* const branchRoot = strategy.getContentBranchRoot('my-branch')
|
|
19
|
+
* const branchesRoot = strategy.getContentBranchesRoot()
|
|
20
|
+
* const branchRoot = strategy.getContentBranchRoot('my-branch')
|
|
21
21
|
* const settingsRoot = strategy.getSettingsRoot()
|
|
22
22
|
* if (strategy.supportsBranching()) { ... } // can also use client-safe methods
|
|
23
23
|
*/
|
|
@@ -74,27 +74,24 @@ export interface ClientUnsafeStrategy extends ClientSafeStrategy {
|
|
|
74
74
|
* Get the root directory for this mode's workspace.
|
|
75
75
|
* All mode-specific subdirectories (content-branches, settings, .cache, etc.) live under this.
|
|
76
76
|
* - prod: CANOPYCMS_WORKSPACE_ROOT ?? /mnt/efs/workspace
|
|
77
|
-
* - prod-sim: {sourceRoot ?? cwd}/.canopy-prod-sim
|
|
78
77
|
* - dev: {sourceRoot ?? cwd}/.canopy-dev
|
|
79
78
|
*/
|
|
80
79
|
getWorkspaceRoot(sourceRoot?: string): string;
|
|
81
80
|
/**
|
|
82
81
|
* Get the content directory path (at project/workspace root).
|
|
83
|
-
* - dev
|
|
82
|
+
* - dev: {cwd}/content
|
|
84
83
|
* - prod (in workspaces): {workspaceRoot}/content
|
|
85
84
|
*/
|
|
86
85
|
getContentRoot(sourceRoot?: string): string;
|
|
87
86
|
/**
|
|
88
87
|
* Get the parent directory of all content branch workspaces (contains branches.json and branch directories).
|
|
89
|
-
* -
|
|
88
|
+
* - dev: {cwd}/.canopy-dev/content-branches
|
|
90
89
|
* - prod: $CANOPYCMS_WORKSPACE_ROOT/content-branches or /mnt/efs/workspace/content-branches
|
|
91
|
-
* @throws Error in dev mode (no branching)
|
|
92
90
|
*/
|
|
93
91
|
getContentBranchesRoot(sourceRoot?: string): string;
|
|
94
92
|
/**
|
|
95
93
|
* Get individual content branch workspace directory.
|
|
96
94
|
* Returns: {contentBranchesRoot}/{branchName}
|
|
97
|
-
* @throws Error in dev mode (no branching)
|
|
98
95
|
*/
|
|
99
96
|
getContentBranchRoot(branchName: string, sourceRoot?: string): string;
|
|
100
97
|
/**
|
|
@@ -122,7 +119,6 @@ export interface ClientUnsafeStrategy extends ClientSafeStrategy {
|
|
|
122
119
|
/**
|
|
123
120
|
* Get the root directory for settings storage.
|
|
124
121
|
* - prod: $CANOPYCMS_WORKSPACE_ROOT/settings or /mnt/efs/workspace/settings
|
|
125
|
-
* - prod-sim: {cwd}/.canopy-prod-sim/settings
|
|
126
122
|
* - dev: {cwd}/.canopy-dev/settings
|
|
127
123
|
*/
|
|
128
124
|
getSettingsRoot(sourceRoot?: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/operating-mode/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,GAAG,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,MAAM,MAAM,aAAa,GAAG,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IACzB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAM5B,4DAA4D;IAC5D,iBAAiB,IAAI,OAAO,CAAA;IAE5B,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAA;IAE9B,0DAA0D;IAC1D,gBAAgB,IAAI,OAAO,CAAA;IAE3B,kDAAkD;IAClD,oBAAoB,IAAI,OAAO,CAAA;IAM/B,2FAA2F;IAC3F,sBAAsB,IAAI,MAAM,CAAA;IAEhC,4EAA4E;IAC5E,iBAAiB,IAAI,MAAM,CAAA;IAE3B,sDAAsD;IACtD,YAAY,IAAI,OAAO,CAAA;IAEvB,qDAAqD;IACrD,UAAU,IAAI,OAAO,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAK9D
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/operating-mode/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,GAAG,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,MAAM,MAAM,aAAa,GAAG,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IACzB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAM5B,4DAA4D;IAC5D,iBAAiB,IAAI,OAAO,CAAA;IAE5B,yCAAyC;IACzC,mBAAmB,IAAI,OAAO,CAAA;IAE9B,0DAA0D;IAC1D,gBAAgB,IAAI,OAAO,CAAA;IAE3B,kDAAkD;IAClD,oBAAoB,IAAI,OAAO,CAAA;IAM/B,2FAA2F;IAC3F,sBAAsB,IAAI,MAAM,CAAA;IAEhC,4EAA4E;IAC5E,iBAAiB,IAAI,MAAM,CAAA;IAE3B,sDAAsD;IACtD,YAAY,IAAI,OAAO,CAAA;IAEvB,qDAAqD;IACrD,UAAU,IAAI,OAAO,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAK9D;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE7C;;;;OAIG;IACH,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE3C;;;;OAIG;IACH,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEnD;;;OAGG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAErE;;;OAGG;IACH,oBAAoB,IAAI,MAAM,CAAA;IAM9B,gDAAgD;IAChD,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAE5C,2CAA2C;IAC3C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAMvC,kFAAkF;IAClF,kBAAkB,IAAI,eAAe,CAAA;IAErC,4DAA4D;IAC5D,oBAAoB,IAAI,OAAO,CAAA;IAM/B;;;OAGG;IACH,qBAAqB,CAAC,MAAM,EAAE;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,GAAG,MAAM,CAAA;IAEV;;;;OAIG;IACH,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE5C,6DAA6D;IAC7D,0BAA0B,IAAI,OAAO,CAAA;IAMrC,2CAA2C;IAC3C,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAMnD,wEAAwE;IACxE,sBAAsB,CAAC,MAAM,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAA;CAC5E"}
|
package/dist/services.d.ts
CHANGED
|
@@ -71,6 +71,12 @@ export interface CreateCanopyServicesOptions {
|
|
|
71
71
|
* @internal
|
|
72
72
|
*/
|
|
73
73
|
branchSchemaCache?: BranchSchemaCache;
|
|
74
|
+
/**
|
|
75
|
+
* Test-only: Override for getSettingsBranchRoot.
|
|
76
|
+
* When provided, bypasses the real git workspace setup for settings.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
getSettingsBranchRoot?: () => Promise<string>;
|
|
74
80
|
}
|
|
75
81
|
/**
|
|
76
82
|
* Create reusable helpers from a validated CanopyConfig.
|
package/dist/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
package/dist/services.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
1
2
|
import { getConfigDefaults } from './config';
|
|
2
3
|
import { createCheckPathAccess, createCheckBranchAccess, createCheckContentAccess, loadPathPermissions, } from './authorization';
|
|
3
4
|
import { GitManager } from './git-manager';
|
|
@@ -9,6 +10,19 @@ import { operatingStrategy } from './operating-mode';
|
|
|
9
10
|
import { BranchSchemaCache } from './branch-schema-cache';
|
|
10
11
|
import { enqueueTask } from './worker/task-queue';
|
|
11
12
|
import { getTaskQueueDir } from './worker/task-queue-config';
|
|
13
|
+
import { detectHeadBranch } from './utils/git';
|
|
14
|
+
/**
|
|
15
|
+
* In dev mode, auto-detect the current HEAD branch if defaultBaseBranch is not set.
|
|
16
|
+
* Eliminates the need to manually update defaultBaseBranch when working on a feature branch.
|
|
17
|
+
*/
|
|
18
|
+
async function detectDevBaseBranch(config) {
|
|
19
|
+
if (config.defaultBaseBranch)
|
|
20
|
+
return config.defaultBaseBranch;
|
|
21
|
+
if (config.mode !== 'dev')
|
|
22
|
+
return config.defaultBaseBranch ?? 'main';
|
|
23
|
+
const repoRoot = config.sourceRoot ? path.resolve(config.sourceRoot) : process.cwd();
|
|
24
|
+
return detectHeadBranch(repoRoot);
|
|
25
|
+
}
|
|
12
26
|
/**
|
|
13
27
|
* Parse bootstrap admin IDs from environment variable.
|
|
14
28
|
* These users are always treated as Admins regardless of group membership.
|
|
@@ -53,36 +67,36 @@ async function _createCanopyServicesInternal(config, options) {
|
|
|
53
67
|
// Validate mode-specific requirements (e.g., prod requires git bot credentials for GitHub)
|
|
54
68
|
const strategy = operatingStrategy(config.mode);
|
|
55
69
|
strategy.validateConfig(config);
|
|
70
|
+
// In dev mode, auto-detect the current git branch if defaultBaseBranch is not set.
|
|
71
|
+
// Bake the result into config so all downstream code (BranchWorkspaceManager, GitManager)
|
|
72
|
+
// uses the same detected value without re-detecting (avoids race if HEAD changes mid-request).
|
|
73
|
+
const effectiveBaseBranch = await detectDevBaseBranch(config);
|
|
74
|
+
config = { ...config, defaultBaseBranch: effectiveBaseBranch };
|
|
56
75
|
// Load bootstrap admin IDs from environment
|
|
57
76
|
const bootstrapAdminIds = getBootstrapAdminIds();
|
|
58
77
|
// Create per-branch schema cache (or use provided one for testing)
|
|
59
78
|
const branchSchemaCache = options.branchSchemaCache ?? new BranchSchemaCache(config.mode);
|
|
60
79
|
const checkBranchAccess = createCheckBranchAccess(config.defaultBranchAccess ?? 'deny');
|
|
61
|
-
// Path permissions are loaded dynamically from settings branch
|
|
80
|
+
// Path permissions are loaded dynamically from the settings branch at request time.
|
|
62
81
|
// At the service level, we bind with empty rules for direct path checks.
|
|
63
82
|
const checkPathAccess = createCheckPathAccess([], config.defaultPathAccess ?? 'deny');
|
|
64
|
-
// Content access loads permissions dynamically from settings
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
settingsRoot
|
|
80
|
-
branchName,
|
|
81
|
-
mode: config.mode,
|
|
82
|
-
remoteUrl: config.defaultRemoteUrl,
|
|
83
|
+
// Content access loads permissions dynamically from the settings branch (orphan git branch)
|
|
84
|
+
const getSettingsBranchRoot = options.getSettingsBranchRoot ??
|
|
85
|
+
(async () => {
|
|
86
|
+
const strategy = operatingStrategy(config.mode);
|
|
87
|
+
const settingsRoot = strategy.getSettingsRoot();
|
|
88
|
+
const branchName = strategy.getSettingsBranchName(config);
|
|
89
|
+
// Use SettingsWorkspaceManager to ensure git workspace for settings
|
|
90
|
+
// This is Lambda-safe because the lock is in-memory per process
|
|
91
|
+
const manager = new SettingsWorkspaceManager(config);
|
|
92
|
+
await manager.ensureGitWorkspace({
|
|
93
|
+
settingsRoot,
|
|
94
|
+
branchName,
|
|
95
|
+
mode: config.mode,
|
|
96
|
+
remoteUrl: config.defaultRemoteUrl,
|
|
97
|
+
});
|
|
98
|
+
return settingsRoot;
|
|
83
99
|
});
|
|
84
|
-
return settingsRoot;
|
|
85
|
-
};
|
|
86
100
|
const checkContentAccess = createCheckContentAccess({
|
|
87
101
|
checkBranchAccess,
|
|
88
102
|
loadPathPermissions,
|
|
@@ -93,7 +107,7 @@ async function _createCanopyServicesInternal(config, options) {
|
|
|
93
107
|
const configDefaults = getConfigDefaults();
|
|
94
108
|
const createGitManagerFor = (repoPath, opts) => new GitManager({
|
|
95
109
|
repoPath,
|
|
96
|
-
baseBranch: opts?.baseBranch ??
|
|
110
|
+
baseBranch: opts?.baseBranch ?? effectiveBaseBranch,
|
|
97
111
|
remote: opts?.remote ?? config.defaultRemoteName ?? configDefaults.remoteName,
|
|
98
112
|
});
|
|
99
113
|
const commitFiles = async (options) => {
|
|
@@ -195,23 +209,21 @@ async function _createCanopyServicesInternal(config, options) {
|
|
|
195
209
|
}
|
|
196
210
|
// Async path: queue task for worker (prod Lambda has no internet)
|
|
197
211
|
const taskDir = getTaskQueueDir(config);
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
return { committed: true, pushed: true, syncStatus: 'sync-failed' };
|
|
214
|
-
}
|
|
212
|
+
try {
|
|
213
|
+
await enqueueTask(taskDir, {
|
|
214
|
+
action: 'push-and-create-or-update-pr',
|
|
215
|
+
payload: {
|
|
216
|
+
branch: settingsBranch,
|
|
217
|
+
baseBranch: config.defaultBaseBranch ?? 'main',
|
|
218
|
+
title: 'Update permissions and groups',
|
|
219
|
+
body: 'Automated PR for permission and group changes. Changes are already active in the CMS and will be persisted when this PR is merged.',
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
return { committed: true, pushed: true, syncStatus: 'pending-sync' };
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
console.warn('Failed to enqueue settings PR task:', err);
|
|
226
|
+
return { committed: true, pushed: true, syncStatus: 'sync-failed' };
|
|
215
227
|
}
|
|
216
228
|
}
|
|
217
229
|
return { committed: true, pushed: true };
|
package/dist/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ export declare const isSettingsBranch: (branchName: string, config: {
|
|
|
9
9
|
defaultBaseBranch?: string;
|
|
10
10
|
}) => boolean;
|
|
11
11
|
/**
|
|
12
|
-
* Get the settings branch name for the current configuration
|
|
13
|
-
* Returns null if operating mode doesn't use separate settings branch
|
|
12
|
+
* Get the settings branch name for the current configuration.
|
|
13
|
+
* Returns null if operating mode doesn't use a separate settings branch.
|
|
14
14
|
*/
|
|
15
15
|
export declare const getSettingsBranchName: (config: {
|
|
16
16
|
mode: OperatingMode;
|
|
@@ -4,7 +4,7 @@ import { operatingStrategy } from './operating-mode';
|
|
|
4
4
|
*/
|
|
5
5
|
export const isSettingsBranch = (branchName, config) => {
|
|
6
6
|
const strategy = operatingStrategy(config.mode);
|
|
7
|
-
//
|
|
7
|
+
// Check if mode uses a separate settings branch (both prod and dev do)
|
|
8
8
|
if (!strategy.usesSeparateSettingsBranch()) {
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
@@ -16,8 +16,8 @@ export const isSettingsBranch = (branchName, config) => {
|
|
|
16
16
|
return branchName === settingsBranchName;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
* Get the settings branch name for the current configuration
|
|
20
|
-
* Returns null if operating mode doesn't use separate settings branch
|
|
19
|
+
* Get the settings branch name for the current configuration.
|
|
20
|
+
* Returns null if operating mode doesn't use a separate settings branch.
|
|
21
21
|
*/
|
|
22
22
|
export const getSettingsBranchName = (config) => {
|
|
23
23
|
const strategy = operatingStrategy(config.mode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-branch-utils.js","sourceRoot":"","sources":["../src/settings-branch-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAAkB,EAClB,MAKC,EACQ,EAAE;IACX,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE/C,
|
|
1
|
+
{"version":3,"file":"settings-branch-utils.js","sourceRoot":"","sources":["../src/settings-branch-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAAkB,EAClB,MAKC,EACQ,EAAE;IACX,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE/C,uEAAuE;IACvE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;QACxD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;KAC5C,CAAC,CAAA;IAEF,OAAO,UAAU,KAAK,kBAAkB,CAAA;AAC1C,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAKrC,EAAiB,EAAE;IAClB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE/C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,QAAQ,CAAC,qBAAqB,CAAC;QACpC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;KAC5C,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -10,8 +10,7 @@ export interface EnsureSettingsWorkspaceOptions {
|
|
|
10
10
|
* Manages settings filesystem workspace and git operations.
|
|
11
11
|
*
|
|
12
12
|
* Settings are stored separately from content branches:
|
|
13
|
-
* - prod/
|
|
14
|
-
* - dev: Regular directory (no git)
|
|
13
|
+
* - prod/dev: Orphan git branches (no shared history with content)
|
|
15
14
|
*
|
|
16
15
|
* Unlike BranchWorkspaceManager, this does not:
|
|
17
16
|
* - Create or manage metadata files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-workspace.d.ts","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAcrD,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0DD
|
|
1
|
+
{"version":3,"file":"settings-workspace.d.ts","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAcrD,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0DD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,YAAY;IAI1B,kBAAkB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;CAoDjF"}
|
|
@@ -67,8 +67,7 @@ async function releaseFileLock(lockPath) {
|
|
|
67
67
|
* Manages settings filesystem workspace and git operations.
|
|
68
68
|
*
|
|
69
69
|
* Settings are stored separately from content branches:
|
|
70
|
-
* - prod/
|
|
71
|
-
* - dev: Regular directory (no git)
|
|
70
|
+
* - prod/dev: Orphan git branches (no shared history with content)
|
|
72
71
|
*
|
|
73
72
|
* Unlike BranchWorkspaceManager, this does not:
|
|
74
73
|
* - Create or manage metadata files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-workspace.js","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAE9D,yFAAyF;AACzF,sEAAsE;AACtE,IAAI,gBAAgB,GAAyB,IAAI,CAAA;AAEjD,sEAAsE;AACtE,MAAM,aAAa,GAAG,MAAM,CAAA;AAS5B;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAA;IACxC,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QACvC,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;YAC1B,kDAAkD;YAClD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,0DAA0D;QAC1D,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,mCAAmC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACtE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,IAAI,iBAAiB,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7C,MAAM,QAAQ,CAAA;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"settings-workspace.js","sourceRoot":"","sources":["../src/settings-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE"}
|
package/dist/utils/fs.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { isNotFoundError } from './error';
|
|
3
|
+
/** Check if a path exists on disk. */
|
|
4
|
+
export async function filePathExists(filePath) {
|
|
5
|
+
try {
|
|
6
|
+
await fs.stat(filePath);
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
catch (err) {
|
|
10
|
+
if (isNotFoundError(err))
|
|
11
|
+
return false;
|
|
12
|
+
throw err;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACtC,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect the current HEAD branch name for a given repository root.
|
|
3
|
+
* Returns the branch name, or the provided fallback (default 'main')
|
|
4
|
+
* if detection fails or HEAD is detached.
|
|
5
|
+
*/
|
|
6
|
+
export declare function detectHeadBranch(repoRoot: string, fallback?: string): Promise<string>;
|
|
7
|
+
//# sourceMappingURL=git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CAQjB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { simpleGit } from 'simple-git';
|
|
2
|
+
/**
|
|
3
|
+
* Detect the current HEAD branch name for a given repository root.
|
|
4
|
+
* Returns the branch name, or the provided fallback (default 'main')
|
|
5
|
+
* if detection fails or HEAD is detached.
|
|
6
|
+
*/
|
|
7
|
+
export async function detectHeadBranch(repoRoot, fallback = 'main') {
|
|
8
|
+
try {
|
|
9
|
+
const git = simpleGit({ baseDir: repoRoot });
|
|
10
|
+
const head = (await git.revparse(['--abbrev-ref', 'HEAD'])).trim();
|
|
11
|
+
return head && head !== 'HEAD' ? head : fallback;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return fallback;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,WAAmB,MAAM;IAEzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAClE,OAAO,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import type { CanopyConfig } from '../config';
|
|
2
2
|
/**
|
|
3
3
|
* Get the task queue directory for async worker operations.
|
|
4
|
-
* Returns null if the mode doesn't support task queuing (e.g., dev mode).
|
|
5
4
|
*
|
|
6
5
|
* In prod mode: {CANOPYCMS_WORKSPACE_ROOT}/.tasks
|
|
7
|
-
* In
|
|
8
|
-
* In dev mode: null (no task queue needed)
|
|
6
|
+
* In dev mode: {cwd}/.canopy-dev/.tasks
|
|
9
7
|
*/
|
|
10
|
-
export declare function getTaskQueueDir(config: Pick<CanopyConfig, 'mode'>): string
|
|
8
|
+
export declare function getTaskQueueDir(config: Pick<CanopyConfig, 'mode'>): string;
|
|
11
9
|
//# sourceMappingURL=task-queue-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-queue-config.d.ts","sourceRoot":"","sources":["../../src/worker/task-queue-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C
|
|
1
|
+
{"version":3,"file":"task-queue-config.d.ts","sourceRoot":"","sources":["../../src/worker/task-queue-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,MAAM,CAU1E"}
|