@kya-os/create-molti 0.1.0-canary.3 → 0.1.0-canary.5
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/dist/helpers/generate-molti-project.js +1 -1
- package/dist/helpers/generate-molti-project.js.map +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/templates/github-workflow.d.ts +8 -4
- package/dist/templates/github-workflow.d.ts.map +1 -1
- package/dist/templates/github-workflow.js +37 -12
- package/dist/templates/github-workflow.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/helpers/generate-molti-project.ts +1 -1
- package/src/helpers/index.ts +1 -0
- package/src/templates/github-workflow.ts +61 -12
- package/src/types.ts +7 -0
|
@@ -130,7 +130,7 @@ export async function generateMoltiProject(options) {
|
|
|
130
130
|
// GitHub Actions
|
|
131
131
|
files.push({
|
|
132
132
|
path: '.github/workflows/deploy.yml',
|
|
133
|
-
content: generateDeployWorkflow(),
|
|
133
|
+
content: generateDeployWorkflow({ aiProvider: options.aiProvider }),
|
|
134
134
|
encoding: 'utf-8',
|
|
135
135
|
});
|
|
136
136
|
// Identity file (public, safe to commit)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-molti-project.js","sourceRoot":"","sources":["../../src/helpers/generate-molti-project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate-molti-project.js","sourceRoot":"","sources":["../../src/helpers/generate-molti-project.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { generateMoltiProject } from './generate-molti-project.js';
|
|
8
8
|
export { generateIdentity, isValidDIDKey } from './generate-identity.js';
|
|
9
|
-
export type { MoltiProjectOptions, MoltiGenerateResult, MoltiIdentity, GeneratedFile, } from '../types.js';
|
|
9
|
+
export type { MoltiProjectOptions, MoltiGenerateResult, MoltiIdentity, GeneratedFile, AiProvider, } from '../types.js';
|
|
10
10
|
export { validateProjectName, type ValidationResult } from './validate-name.js';
|
|
11
11
|
export { getPackageVersions, clearVersionCache, type MoltiPackageVersions } from './get-package-versions.js';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGzE,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGzE,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iBAAiB;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iBAAiB;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAWzE,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAyB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAA6B,MAAM,2BAA2B,CAAC"}
|
|
@@ -3,9 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generates the deploy.yml for CI/CD to Cloudflare.
|
|
5
5
|
* Only required secrets are uploaded in the deploy step.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* GitHub Secrets to avoid "Value not found in environment" errors.
|
|
6
|
+
* AI provider keys are conditionally included based on the
|
|
7
|
+
* provider selected during deployment.
|
|
9
8
|
*/
|
|
10
|
-
export
|
|
9
|
+
export type AiProvider = 'anthropic' | 'openai' | 'none';
|
|
10
|
+
export interface DeployWorkflowOptions {
|
|
11
|
+
/** Which AI provider key to include in the workflow. Defaults to 'none' (commented out). */
|
|
12
|
+
aiProvider?: AiProvider;
|
|
13
|
+
}
|
|
14
|
+
export declare function generateDeployWorkflow(options?: DeployWorkflowOptions): string;
|
|
11
15
|
//# sourceMappingURL=github-workflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-workflow.d.ts","sourceRoot":"","sources":["../../src/templates/github-workflow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"github-workflow.d.ts","sourceRoot":"","sources":["../../src/templates/github-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CA0F9E"}
|
|
@@ -3,11 +3,40 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generates the deploy.yml for CI/CD to Cloudflare.
|
|
5
5
|
* Only required secrets are uploaded in the deploy step.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* GitHub Secrets to avoid "Value not found in environment" errors.
|
|
6
|
+
* AI provider keys are conditionally included based on the
|
|
7
|
+
* provider selected during deployment.
|
|
9
8
|
*/
|
|
10
|
-
export function generateDeployWorkflow() {
|
|
9
|
+
export function generateDeployWorkflow(options) {
|
|
10
|
+
const aiProvider = options?.aiProvider ?? 'none';
|
|
11
|
+
// Build the secrets and env blocks based on selected AI provider
|
|
12
|
+
const aiSecretLines = [];
|
|
13
|
+
const aiEnvLines = [];
|
|
14
|
+
if (aiProvider === 'anthropic') {
|
|
15
|
+
aiSecretLines.push(' ANTHROPIC_API_KEY');
|
|
16
|
+
aiEnvLines.push(' ANTHROPIC_API_KEY: \\${{ secrets.ANTHROPIC_API_KEY }}');
|
|
17
|
+
aiEnvLines.push(' # OPENAI_API_KEY: \\${{ secrets.OPENAI_API_KEY }}');
|
|
18
|
+
}
|
|
19
|
+
else if (aiProvider === 'openai') {
|
|
20
|
+
aiSecretLines.push(' OPENAI_API_KEY');
|
|
21
|
+
aiEnvLines.push(' # ANTHROPIC_API_KEY: \\${{ secrets.ANTHROPIC_API_KEY }}');
|
|
22
|
+
aiEnvLines.push(' OPENAI_API_KEY: \\${{ secrets.OPENAI_API_KEY }}');
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// No provider selected — both commented out
|
|
26
|
+
aiEnvLines.push(' # Uncomment the AI provider you use (at least one is required):');
|
|
27
|
+
aiEnvLines.push(' # ANTHROPIC_API_KEY: \\${{ secrets.ANTHROPIC_API_KEY }}');
|
|
28
|
+
aiEnvLines.push(' # OPENAI_API_KEY: \\${{ secrets.OPENAI_API_KEY }}');
|
|
29
|
+
}
|
|
30
|
+
const secretsBlock = [
|
|
31
|
+
' MCP_IDENTITY_PRIVATE_KEY',
|
|
32
|
+
' AGENTSHIELD_API_KEY',
|
|
33
|
+
...aiSecretLines,
|
|
34
|
+
].join('\n');
|
|
35
|
+
const envBlock = [
|
|
36
|
+
' MCP_IDENTITY_PRIVATE_KEY: \\${{ secrets.MCP_IDENTITY_PRIVATE_KEY }}',
|
|
37
|
+
' AGENTSHIELD_API_KEY: \\${{ secrets.AGENTSHIELD_API_KEY }}',
|
|
38
|
+
...aiEnvLines,
|
|
39
|
+
].join('\n');
|
|
11
40
|
return `name: Deploy to Cloudflare
|
|
12
41
|
|
|
13
42
|
on:
|
|
@@ -39,20 +68,16 @@ jobs:
|
|
|
39
68
|
uses: cloudflare/wrangler-action@v3
|
|
40
69
|
with:
|
|
41
70
|
apiToken: \${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
71
|
+
# Required when your API token has access to multiple CF accounts.
|
|
72
|
+
accountId: \${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
42
73
|
# Secrets listed here are uploaded as Wrangler secrets.
|
|
43
74
|
# IMPORTANT: Every secret listed MUST exist in your GitHub
|
|
44
75
|
# repository's Settings > Secrets. Remove or comment out
|
|
45
76
|
# any line for a secret you haven't added yet.
|
|
46
77
|
secrets: |
|
|
47
|
-
|
|
48
|
-
AGENTSHIELD_API_KEY
|
|
49
|
-
ANTHROPIC_API_KEY
|
|
78
|
+
${secretsBlock}
|
|
50
79
|
env:
|
|
51
|
-
|
|
52
|
-
AGENTSHIELD_API_KEY: \${{ secrets.AGENTSHIELD_API_KEY }}
|
|
53
|
-
ANTHROPIC_API_KEY: \${{ secrets.ANTHROPIC_API_KEY }}
|
|
54
|
-
# Uncomment the provider you use (at least one is required):
|
|
55
|
-
# OPENAI_API_KEY: \${{ secrets.OPENAI_API_KEY }}
|
|
80
|
+
${envBlock}
|
|
56
81
|
`;
|
|
57
82
|
}
|
|
58
83
|
//# sourceMappingURL=github-workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-workflow.js","sourceRoot":"","sources":["../../src/templates/github-workflow.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"github-workflow.js","sourceRoot":"","sources":["../../src/templates/github-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,UAAU,sBAAsB,CAAC,OAA+B;IACpE,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC;IAEjD,iEAAiE;IACjE,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,aAAa,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACpD,UAAU,CAAC,IAAI,CACb,iEAAiE,CAClE,CAAC;QACF,UAAU,CAAC,IAAI,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACjD,UAAU,CAAC,IAAI,CACb,mEAAmE,CACpE,CAAC;QACF,UAAU,CAAC,IAAI,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,4CAA4C;QAC5C,UAAU,CAAC,IAAI,CACb,2EAA2E,CAC5E,CAAC;QACF,UAAU,CAAC,IAAI,CACb,mEAAmE,CACpE,CAAC;QACF,UAAU,CAAC,IAAI,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,sCAAsC;QACtC,iCAAiC;QACjC,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG;QACf,+EAA+E;QAC/E,qEAAqE;QACrE,GAAG,UAAU;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCP,YAAY;;EAEZ,QAAQ;CACT,CAAC;AACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ export interface GeneratedFile {
|
|
|
15
15
|
/** Encoding type */
|
|
16
16
|
encoding: 'utf-8' | 'base64';
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* AI provider selection for the deploy workflow
|
|
20
|
+
*/
|
|
21
|
+
export type AiProvider = 'anthropic' | 'openai' | 'none';
|
|
18
22
|
/**
|
|
19
23
|
* Options for generating a Molti project
|
|
20
24
|
*/
|
|
@@ -35,6 +39,8 @@ export interface MoltiProjectOptions {
|
|
|
35
39
|
instanceType?: 'lite' | 'basic' | 'standard-1' | 'standard-2' | 'standard-3' | 'standard-4';
|
|
36
40
|
/** Skip identity generation (for testing) */
|
|
37
41
|
skipIdentity?: boolean;
|
|
42
|
+
/** AI provider to include in the deploy workflow (defaults to 'none') */
|
|
43
|
+
aiProvider?: AiProvider;
|
|
38
44
|
}
|
|
39
45
|
/**
|
|
40
46
|
* Generated identity from Ed25519 keypair
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IAC5F,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IAC5F,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,qCAAqC;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC"}
|
package/package.json
CHANGED
|
@@ -163,7 +163,7 @@ export async function generateMoltiProject(
|
|
|
163
163
|
// GitHub Actions
|
|
164
164
|
files.push({
|
|
165
165
|
path: '.github/workflows/deploy.yml',
|
|
166
|
-
content: generateDeployWorkflow(),
|
|
166
|
+
content: generateDeployWorkflow({ aiProvider: options.aiProvider }),
|
|
167
167
|
encoding: 'utf-8',
|
|
168
168
|
});
|
|
169
169
|
|
package/src/helpers/index.ts
CHANGED
|
@@ -3,12 +3,65 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generates the deploy.yml for CI/CD to Cloudflare.
|
|
5
5
|
* Only required secrets are uploaded in the deploy step.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* GitHub Secrets to avoid "Value not found in environment" errors.
|
|
6
|
+
* AI provider keys are conditionally included based on the
|
|
7
|
+
* provider selected during deployment.
|
|
9
8
|
*/
|
|
10
9
|
|
|
11
|
-
export
|
|
10
|
+
export type AiProvider = 'anthropic' | 'openai' | 'none';
|
|
11
|
+
|
|
12
|
+
export interface DeployWorkflowOptions {
|
|
13
|
+
/** Which AI provider key to include in the workflow. Defaults to 'none' (commented out). */
|
|
14
|
+
aiProvider?: AiProvider;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function generateDeployWorkflow(options?: DeployWorkflowOptions): string {
|
|
18
|
+
const aiProvider = options?.aiProvider ?? 'none';
|
|
19
|
+
|
|
20
|
+
// Build the secrets and env blocks based on selected AI provider
|
|
21
|
+
const aiSecretLines: string[] = [];
|
|
22
|
+
const aiEnvLines: string[] = [];
|
|
23
|
+
|
|
24
|
+
if (aiProvider === 'anthropic') {
|
|
25
|
+
aiSecretLines.push(' ANTHROPIC_API_KEY');
|
|
26
|
+
aiEnvLines.push(
|
|
27
|
+
' ANTHROPIC_API_KEY: \\${{ secrets.ANTHROPIC_API_KEY }}'
|
|
28
|
+
);
|
|
29
|
+
aiEnvLines.push(
|
|
30
|
+
' # OPENAI_API_KEY: \\${{ secrets.OPENAI_API_KEY }}'
|
|
31
|
+
);
|
|
32
|
+
} else if (aiProvider === 'openai') {
|
|
33
|
+
aiSecretLines.push(' OPENAI_API_KEY');
|
|
34
|
+
aiEnvLines.push(
|
|
35
|
+
' # ANTHROPIC_API_KEY: \\${{ secrets.ANTHROPIC_API_KEY }}'
|
|
36
|
+
);
|
|
37
|
+
aiEnvLines.push(
|
|
38
|
+
' OPENAI_API_KEY: \\${{ secrets.OPENAI_API_KEY }}'
|
|
39
|
+
);
|
|
40
|
+
} else {
|
|
41
|
+
// No provider selected — both commented out
|
|
42
|
+
aiEnvLines.push(
|
|
43
|
+
' # Uncomment the AI provider you use (at least one is required):'
|
|
44
|
+
);
|
|
45
|
+
aiEnvLines.push(
|
|
46
|
+
' # ANTHROPIC_API_KEY: \\${{ secrets.ANTHROPIC_API_KEY }}'
|
|
47
|
+
);
|
|
48
|
+
aiEnvLines.push(
|
|
49
|
+
' # OPENAI_API_KEY: \\${{ secrets.OPENAI_API_KEY }}'
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const secretsBlock = [
|
|
54
|
+
' MCP_IDENTITY_PRIVATE_KEY',
|
|
55
|
+
' AGENTSHIELD_API_KEY',
|
|
56
|
+
...aiSecretLines,
|
|
57
|
+
].join('\n');
|
|
58
|
+
|
|
59
|
+
const envBlock = [
|
|
60
|
+
' MCP_IDENTITY_PRIVATE_KEY: \\${{ secrets.MCP_IDENTITY_PRIVATE_KEY }}',
|
|
61
|
+
' AGENTSHIELD_API_KEY: \\${{ secrets.AGENTSHIELD_API_KEY }}',
|
|
62
|
+
...aiEnvLines,
|
|
63
|
+
].join('\n');
|
|
64
|
+
|
|
12
65
|
return `name: Deploy to Cloudflare
|
|
13
66
|
|
|
14
67
|
on:
|
|
@@ -40,19 +93,15 @@ jobs:
|
|
|
40
93
|
uses: cloudflare/wrangler-action@v3
|
|
41
94
|
with:
|
|
42
95
|
apiToken: \${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
96
|
+
# Required when your API token has access to multiple CF accounts.
|
|
97
|
+
accountId: \${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
43
98
|
# Secrets listed here are uploaded as Wrangler secrets.
|
|
44
99
|
# IMPORTANT: Every secret listed MUST exist in your GitHub
|
|
45
100
|
# repository's Settings > Secrets. Remove or comment out
|
|
46
101
|
# any line for a secret you haven't added yet.
|
|
47
102
|
secrets: |
|
|
48
|
-
|
|
49
|
-
AGENTSHIELD_API_KEY
|
|
50
|
-
ANTHROPIC_API_KEY
|
|
103
|
+
${secretsBlock}
|
|
51
104
|
env:
|
|
52
|
-
|
|
53
|
-
AGENTSHIELD_API_KEY: \${{ secrets.AGENTSHIELD_API_KEY }}
|
|
54
|
-
ANTHROPIC_API_KEY: \${{ secrets.ANTHROPIC_API_KEY }}
|
|
55
|
-
# Uncomment the provider you use (at least one is required):
|
|
56
|
-
# OPENAI_API_KEY: \${{ secrets.OPENAI_API_KEY }}
|
|
105
|
+
${envBlock}
|
|
57
106
|
`;
|
|
58
107
|
}
|
package/src/types.ts
CHANGED
|
@@ -17,6 +17,11 @@ export interface GeneratedFile {
|
|
|
17
17
|
encoding: 'utf-8' | 'base64';
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* AI provider selection for the deploy workflow
|
|
22
|
+
*/
|
|
23
|
+
export type AiProvider = 'anthropic' | 'openai' | 'none';
|
|
24
|
+
|
|
20
25
|
/**
|
|
21
26
|
* Options for generating a Molti project
|
|
22
27
|
*/
|
|
@@ -37,6 +42,8 @@ export interface MoltiProjectOptions {
|
|
|
37
42
|
instanceType?: 'lite' | 'basic' | 'standard-1' | 'standard-2' | 'standard-3' | 'standard-4';
|
|
38
43
|
/** Skip identity generation (for testing) */
|
|
39
44
|
skipIdentity?: boolean;
|
|
45
|
+
/** AI provider to include in the deploy workflow (defaults to 'none') */
|
|
46
|
+
aiProvider?: AiProvider;
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
/**
|