alchemy 0.40.0 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/build-date.d.ts +1 -1
- package/lib/build-date.js +1 -1
- package/lib/cloudflare/bindings.d.ts +2 -1
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bindings.js.map +1 -1
- package/lib/cloudflare/bound.d.ts +2 -1
- package/lib/cloudflare/bound.d.ts.map +1 -1
- package/lib/cloudflare/bundle/bundle-worker-dev.d.ts.map +1 -1
- package/lib/cloudflare/bundle/bundle-worker-dev.js +2 -1
- package/lib/cloudflare/bundle/bundle-worker-dev.js.map +1 -1
- package/lib/cloudflare/bundle/bundle-worker.d.ts.map +1 -1
- package/lib/cloudflare/bundle/bundle-worker.js +2 -1
- package/lib/cloudflare/bundle/bundle-worker.js.map +1 -1
- package/lib/cloudflare/container.d.ts +509 -0
- package/lib/cloudflare/container.d.ts.map +1 -0
- package/lib/cloudflare/container.js +274 -0
- package/lib/cloudflare/container.js.map +1 -0
- package/lib/cloudflare/index.d.ts +1 -0
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +1 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/worker/miniflare-worker-options.d.ts.map +1 -1
- package/lib/cloudflare/worker/miniflare-worker-options.js +28 -0
- package/lib/cloudflare/worker/miniflare-worker-options.js.map +1 -1
- package/lib/cloudflare/worker-metadata.d.ts +3 -0
- package/lib/cloudflare/worker-metadata.d.ts.map +1 -1
- package/lib/cloudflare/worker-metadata.js +22 -3
- package/lib/cloudflare/worker-metadata.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +2 -1
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +39 -3
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.js +11 -0
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/docker/api.d.ts +15 -0
- package/lib/docker/api.d.ts.map +1 -1
- package/lib/docker/api.js +59 -0
- package/lib/docker/api.js.map +1 -1
- package/lib/docker/image.d.ts +22 -4
- package/lib/docker/image.d.ts.map +1 -1
- package/lib/docker/image.js +68 -24
- package/lib/docker/image.js.map +1 -1
- package/lib/github/index.d.ts +1 -0
- package/lib/github/index.d.ts.map +1 -1
- package/lib/github/index.js +1 -0
- package/lib/github/index.js.map +1 -1
- package/lib/github/repository-webhook.d.ts +123 -0
- package/lib/github/repository-webhook.d.ts.map +1 -0
- package/lib/github/repository-webhook.js +146 -0
- package/lib/github/repository-webhook.js.map +1 -0
- package/lib/scope.d.ts +2 -0
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +4 -0
- package/lib/scope.js.map +1 -1
- package/package.json +3 -2
- package/src/build-date.ts +1 -1
- package/src/cloudflare/bindings.ts +2 -0
- package/src/cloudflare/bound.ts +9 -1
- package/src/cloudflare/bundle/bundle-worker-dev.ts +2 -1
- package/src/cloudflare/bundle/bundle-worker.ts +2 -1
- package/src/cloudflare/container.ts +843 -0
- package/src/cloudflare/index.ts +1 -0
- package/src/cloudflare/worker/miniflare-worker-options.ts +28 -0
- package/src/cloudflare/worker-metadata.ts +28 -6
- package/src/cloudflare/worker.ts +67 -16
- package/src/cloudflare/wrangler.json.ts +12 -0
- package/src/docker/api.ts +74 -0
- package/src/docker/image.ts +99 -29
- package/src/github/index.ts +1 -0
- package/src/github/repository-webhook.ts +269 -0
- package/src/scope.ts +5 -0
package/lib/docker/image.js
CHANGED
|
@@ -19,7 +19,7 @@ import { DockerApi } from "./api.js";
|
|
|
19
19
|
* }
|
|
20
20
|
* });
|
|
21
21
|
*/
|
|
22
|
-
export const Image = Resource("docker::Image", async function (
|
|
22
|
+
export const Image = Resource("docker::Image", async function (id, props) {
|
|
23
23
|
// Initialize Docker API client
|
|
24
24
|
const api = new DockerApi();
|
|
25
25
|
if (this.phase === "delete") {
|
|
@@ -30,27 +30,41 @@ export const Image = Resource("docker::Image", async function (_id, props) {
|
|
|
30
30
|
else {
|
|
31
31
|
// Normalize properties
|
|
32
32
|
const tag = props.tag || "latest";
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
const name = props.name || id;
|
|
34
|
+
const imageRef = `${name}:${tag}`;
|
|
35
|
+
let context;
|
|
36
|
+
let dockerfile;
|
|
37
|
+
if (props.build?.dockerfile && props.build?.context) {
|
|
38
|
+
context = path.resolve(props.build.context);
|
|
39
|
+
dockerfile = path.resolve(context, props.build.dockerfile);
|
|
40
|
+
}
|
|
41
|
+
else if (props.build?.dockerfile) {
|
|
42
|
+
context = process.cwd();
|
|
43
|
+
dockerfile = path.resolve(context, props.build.dockerfile);
|
|
44
|
+
}
|
|
45
|
+
else if (props.build?.context) {
|
|
46
|
+
context = path.resolve(props.build.context);
|
|
47
|
+
dockerfile = path.resolve(context, "Dockerfile");
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
context = process.cwd();
|
|
51
|
+
dockerfile = path.resolve(context, "Dockerfile");
|
|
52
|
+
}
|
|
36
53
|
await fs.access(context);
|
|
37
|
-
|
|
38
|
-
const dockerfile = props.build.dockerfile || "Dockerfile";
|
|
39
|
-
const dockerfilePath = path.join(context, dockerfile);
|
|
40
|
-
await fs.access(dockerfilePath);
|
|
54
|
+
await fs.access(dockerfile);
|
|
41
55
|
// Prepare build options
|
|
42
|
-
const buildOptions = props.build
|
|
56
|
+
const buildOptions = props.build?.buildArgs || {};
|
|
43
57
|
// Add platform if specified
|
|
44
58
|
let buildArgs = ["build", "-t", imageRef];
|
|
45
|
-
if (props.build
|
|
59
|
+
if (props.build?.platform) {
|
|
46
60
|
buildArgs.push("--platform", props.build.platform);
|
|
47
61
|
}
|
|
48
62
|
// Add target if specified
|
|
49
|
-
if (props.build
|
|
63
|
+
if (props.build?.target) {
|
|
50
64
|
buildArgs.push("--target", props.build.target);
|
|
51
65
|
}
|
|
52
66
|
// Add cache sources if specified
|
|
53
|
-
if (props.build
|
|
67
|
+
if (props.build?.cacheFrom && props.build.cacheFrom.length > 0) {
|
|
54
68
|
for (const cacheSource of props.build.cacheFrom) {
|
|
55
69
|
buildArgs.push("--cache-from", cacheSource);
|
|
56
70
|
}
|
|
@@ -59,30 +73,60 @@ export const Image = Resource("docker::Image", async function (_id, props) {
|
|
|
59
73
|
for (const [key, value] of Object.entries(buildOptions)) {
|
|
60
74
|
buildArgs.push("--build-arg", `${key}="${value}"`);
|
|
61
75
|
}
|
|
62
|
-
|
|
63
|
-
if (props.build.dockerfile && props.build.dockerfile !== "Dockerfile") {
|
|
64
|
-
buildArgs.push("-f", props.build.dockerfile);
|
|
65
|
-
}
|
|
76
|
+
buildArgs.push("-f", dockerfile);
|
|
66
77
|
// Add context path
|
|
67
|
-
buildArgs.push(
|
|
78
|
+
buildArgs.push(context);
|
|
68
79
|
// Execute build command
|
|
69
|
-
console.log(`Building Docker image: ${imageRef}`);
|
|
70
80
|
const { stdout } = await api.exec(buildArgs);
|
|
71
81
|
// Extract image ID from build output if available
|
|
72
82
|
const imageIdMatch = /Successfully built ([a-f0-9]+)/.exec(stdout);
|
|
73
83
|
const imageId = imageIdMatch ? imageIdMatch[1] : undefined;
|
|
74
|
-
console.log(`Successfully built Docker image: ${imageRef}`);
|
|
75
84
|
// Handle push if required
|
|
76
85
|
let repoDigest;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
86
|
+
let finalImageRef = imageRef;
|
|
87
|
+
if (props.registry && !props.skipPush) {
|
|
88
|
+
const { server, username, password } = props.registry;
|
|
89
|
+
// Ensure the registry server does not have trailing slash
|
|
90
|
+
const registryHost = server.replace(/\/$/, "");
|
|
91
|
+
// Determine if the built image already includes a registry host (e.g. ghcr.io/user/repo)
|
|
92
|
+
const firstSegment = imageRef.split("/")[0];
|
|
93
|
+
const hasRegistryPrefix = firstSegment.includes(".");
|
|
94
|
+
// Compose the target image reference that will be pushed
|
|
95
|
+
const targetImage = hasRegistryPrefix
|
|
96
|
+
? imageRef // already fully-qualified
|
|
97
|
+
: `${registryHost}/${imageRef}`;
|
|
98
|
+
try {
|
|
99
|
+
// Authenticate to registry
|
|
100
|
+
await api.login(registryHost, username, password.unencrypted);
|
|
101
|
+
// Tag local image with fully qualified name if necessary
|
|
102
|
+
if (targetImage !== imageRef) {
|
|
103
|
+
await api.exec(["tag", imageRef, targetImage]);
|
|
104
|
+
}
|
|
105
|
+
// Push the image
|
|
106
|
+
const { stdout: pushOut } = await api.exec(["push", targetImage]);
|
|
107
|
+
// Attempt to extract the repo digest from push output
|
|
108
|
+
const digestMatch = /digest:\s+([a-z0-9]+:[a-f0-9]{64})/.exec(pushOut);
|
|
109
|
+
if (digestMatch) {
|
|
110
|
+
const digestHash = digestMatch[1];
|
|
111
|
+
// Strip tag (anything after last :) to build image@digest reference
|
|
112
|
+
const [repoWithoutTag] = targetImage.split(":").length > 2
|
|
113
|
+
? [targetImage] // unlikely but safety
|
|
114
|
+
: [targetImage.substring(0, targetImage.lastIndexOf(":"))];
|
|
115
|
+
repoDigest = `${repoWithoutTag}@${digestHash}`;
|
|
116
|
+
}
|
|
117
|
+
// Update the final image reference to point at the pushed image
|
|
118
|
+
finalImageRef = targetImage;
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
// Always try to logout – failures are non-fatal
|
|
122
|
+
await api.logout(registryHost);
|
|
123
|
+
}
|
|
81
124
|
}
|
|
82
125
|
// Return the resource using this() to construct output
|
|
83
126
|
return this({
|
|
84
127
|
...props,
|
|
85
|
-
|
|
128
|
+
name,
|
|
129
|
+
imageRef: finalImageRef,
|
|
86
130
|
imageId,
|
|
87
131
|
repoDigest,
|
|
88
132
|
builtAt: Date.now(),
|
package/lib/docker/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/docker/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/docker/image.ts"],"names":[],"mappings":"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"}
|
package/lib/github/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
|
package/lib/github/index.js
CHANGED
package/lib/github/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { Context } from "../context.ts";
|
|
2
|
+
import { Resource } from "../resource.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Properties for creating or updating a GitHub Repository Webhook
|
|
5
|
+
*/
|
|
6
|
+
export interface RepositoryWebhookProps {
|
|
7
|
+
/**
|
|
8
|
+
* Repository owner (user or organization)
|
|
9
|
+
*/
|
|
10
|
+
owner: string;
|
|
11
|
+
/**
|
|
12
|
+
* Repository name
|
|
13
|
+
*/
|
|
14
|
+
repository: string;
|
|
15
|
+
/**
|
|
16
|
+
* The URL to which the payloads will be delivered
|
|
17
|
+
*/
|
|
18
|
+
url: string;
|
|
19
|
+
/**
|
|
20
|
+
* Webhook secret for payload validation
|
|
21
|
+
* @default undefined
|
|
22
|
+
*/
|
|
23
|
+
secret?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The media type used to serialize the payloads
|
|
26
|
+
* @default "application/json"
|
|
27
|
+
*/
|
|
28
|
+
contentType?: "application/json" | "application/x-www-form-urlencoded";
|
|
29
|
+
/**
|
|
30
|
+
* Determines whether the SSL certificate of the host for url will be verified
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
insecureSsl?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Determines if notifications are sent when the webhook is triggered
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
active?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Determines what events the hook is triggered for
|
|
41
|
+
* @default ["push"]
|
|
42
|
+
*/
|
|
43
|
+
events?: string[];
|
|
44
|
+
/**
|
|
45
|
+
* Optional GitHub API token (overrides environment variable)
|
|
46
|
+
* If not provided, will use GITHUB_TOKEN environment variable
|
|
47
|
+
* @default process.env.GITHUB_TOKEN
|
|
48
|
+
*/
|
|
49
|
+
token?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Output returned after Repository Webhook creation/update
|
|
53
|
+
*/
|
|
54
|
+
export interface RepositoryWebhook extends Resource<"github::RepositoryWebhook">, RepositoryWebhookProps {
|
|
55
|
+
/**
|
|
56
|
+
* The ID of the resource
|
|
57
|
+
*/
|
|
58
|
+
id: string;
|
|
59
|
+
/**
|
|
60
|
+
* The numeric ID of the webhook in GitHub
|
|
61
|
+
*/
|
|
62
|
+
webhookId: number;
|
|
63
|
+
/**
|
|
64
|
+
* The webhook URL that was configured
|
|
65
|
+
*/
|
|
66
|
+
url: string;
|
|
67
|
+
/**
|
|
68
|
+
* Time at which the object was created
|
|
69
|
+
*/
|
|
70
|
+
createdAt: string;
|
|
71
|
+
/**
|
|
72
|
+
* Time at which the object was last updated
|
|
73
|
+
*/
|
|
74
|
+
updatedAt: string;
|
|
75
|
+
/**
|
|
76
|
+
* The ping URL for the webhook
|
|
77
|
+
*/
|
|
78
|
+
pingUrl: string;
|
|
79
|
+
/**
|
|
80
|
+
* The test URL for the webhook
|
|
81
|
+
*/
|
|
82
|
+
testUrl: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Resource for managing GitHub repository webhooks
|
|
86
|
+
*
|
|
87
|
+
* Webhooks allow external services to be notified when certain events happen in a repository.
|
|
88
|
+
* This resource manages the full lifecycle of repository webhooks including creation, updates, and deletion.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* // Create a basic webhook for push events
|
|
92
|
+
* const pushWebhook = await RepositoryWebhook("push-webhook", {
|
|
93
|
+
* owner: "my-org",
|
|
94
|
+
* repository: "my-repo",
|
|
95
|
+
* url: "https://my-service.com/github-webhook",
|
|
96
|
+
* events: ["push"]
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* // Create a webhook with secret validation for multiple events
|
|
101
|
+
* const ciWebhook = await RepositoryWebhook("ci-webhook", {
|
|
102
|
+
* owner: "my-org",
|
|
103
|
+
* repository: "my-repo",
|
|
104
|
+
* url: "https://ci.example.com/webhook",
|
|
105
|
+
* secret: "my-webhook-secret",
|
|
106
|
+
* events: ["push", "pull_request", "release"],
|
|
107
|
+
* contentType: "application/json"
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* // Create a webhook for all events with custom SSL settings
|
|
112
|
+
* const monitoringWebhook = await RepositoryWebhook("monitoring-webhook", {
|
|
113
|
+
* owner: "my-org",
|
|
114
|
+
* repository: "my-repo",
|
|
115
|
+
* url: "https://monitoring.internal.com/github",
|
|
116
|
+
* secret: "super-secret-key",
|
|
117
|
+
* events: ["*"], // All events
|
|
118
|
+
* insecureSsl: true, // For internal services with self-signed certs
|
|
119
|
+
* contentType: "application/x-www-form-urlencoded"
|
|
120
|
+
* });
|
|
121
|
+
*/
|
|
122
|
+
export declare const RepositoryWebhook: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<RepositoryWebhook>, _id: string, props: RepositoryWebhookProps) => Promise<RepositoryWebhook>);
|
|
123
|
+
//# sourceMappingURL=repository-webhook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository-webhook.d.ts","sourceRoot":"","sources":["../../src/github/repository-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,GAAG,mCAAmC,CAAC;IAEvE;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBACf,SAAQ,QAAQ,CAAC,2BAA2B,CAAC,EAC3C,sBAAsB;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,iBAAiB,yFAGpB,OAAO,CAAC,iBAAiB,CAAC,OAC3B,MAAM,SACJ,sBAAsB,KAC5B,OAAO,CAAC,iBAAiB,CAAC,CAwH9B,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Resource } from "../resource.js";
|
|
2
|
+
import { logger } from "../util/logger.js";
|
|
3
|
+
import { createGitHubClient, verifyGitHubAuth } from "./client.js";
|
|
4
|
+
/**
|
|
5
|
+
* Resource for managing GitHub repository webhooks
|
|
6
|
+
*
|
|
7
|
+
* Webhooks allow external services to be notified when certain events happen in a repository.
|
|
8
|
+
* This resource manages the full lifecycle of repository webhooks including creation, updates, and deletion.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Create a basic webhook for push events
|
|
12
|
+
* const pushWebhook = await RepositoryWebhook("push-webhook", {
|
|
13
|
+
* owner: "my-org",
|
|
14
|
+
* repository: "my-repo",
|
|
15
|
+
* url: "https://my-service.com/github-webhook",
|
|
16
|
+
* events: ["push"]
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // Create a webhook with secret validation for multiple events
|
|
21
|
+
* const ciWebhook = await RepositoryWebhook("ci-webhook", {
|
|
22
|
+
* owner: "my-org",
|
|
23
|
+
* repository: "my-repo",
|
|
24
|
+
* url: "https://ci.example.com/webhook",
|
|
25
|
+
* secret: "my-webhook-secret",
|
|
26
|
+
* events: ["push", "pull_request", "release"],
|
|
27
|
+
* contentType: "application/json"
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Create a webhook for all events with custom SSL settings
|
|
32
|
+
* const monitoringWebhook = await RepositoryWebhook("monitoring-webhook", {
|
|
33
|
+
* owner: "my-org",
|
|
34
|
+
* repository: "my-repo",
|
|
35
|
+
* url: "https://monitoring.internal.com/github",
|
|
36
|
+
* secret: "super-secret-key",
|
|
37
|
+
* events: ["*"], // All events
|
|
38
|
+
* insecureSsl: true, // For internal services with self-signed certs
|
|
39
|
+
* contentType: "application/x-www-form-urlencoded"
|
|
40
|
+
* });
|
|
41
|
+
*/
|
|
42
|
+
export const RepositoryWebhook = Resource("github::RepositoryWebhook", async function (_id, props) {
|
|
43
|
+
// Create authenticated Octokit client
|
|
44
|
+
const octokit = await createGitHubClient({
|
|
45
|
+
token: props.token,
|
|
46
|
+
});
|
|
47
|
+
// Verify authentication and permissions
|
|
48
|
+
if (!this.quiet) {
|
|
49
|
+
await verifyGitHubAuth(octokit, props.owner, props.repository);
|
|
50
|
+
}
|
|
51
|
+
if (this.phase === "delete") {
|
|
52
|
+
if (this.output?.webhookId) {
|
|
53
|
+
try {
|
|
54
|
+
// Delete the webhook
|
|
55
|
+
await octokit.rest.repos.deleteWebhook({
|
|
56
|
+
owner: props.owner,
|
|
57
|
+
repo: props.repository,
|
|
58
|
+
hook_id: this.output.webhookId,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
// Ignore 404 errors (webhook already deleted)
|
|
63
|
+
if (error.status === 404) {
|
|
64
|
+
logger.log("Webhook doesn't exist, ignoring");
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Return void (a deleted resource has no content)
|
|
72
|
+
return this.destroy();
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const webhookConfig = {
|
|
76
|
+
url: props.url,
|
|
77
|
+
content_type: props.contentType || "application/json",
|
|
78
|
+
insecure_ssl: props.insecureSsl ? "1" : "0",
|
|
79
|
+
...(props.secret && { secret: props.secret }),
|
|
80
|
+
};
|
|
81
|
+
const events = props.events || ["push"];
|
|
82
|
+
const active = props.active !== false; // Default to true
|
|
83
|
+
let webhookData;
|
|
84
|
+
let webhookId;
|
|
85
|
+
if (this.phase === "update" && this.output?.webhookId) {
|
|
86
|
+
// Update existing webhook
|
|
87
|
+
const { data: updatedWebhook } = await octokit.rest.repos.updateWebhook({
|
|
88
|
+
owner: props.owner,
|
|
89
|
+
repo: props.repository,
|
|
90
|
+
hook_id: this.output.webhookId,
|
|
91
|
+
config: webhookConfig,
|
|
92
|
+
events,
|
|
93
|
+
active,
|
|
94
|
+
});
|
|
95
|
+
webhookData = updatedWebhook;
|
|
96
|
+
webhookId = this.output.webhookId;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// Create new webhook
|
|
100
|
+
const { data: createdWebhook } = await octokit.rest.repos.createWebhook({
|
|
101
|
+
owner: props.owner,
|
|
102
|
+
repo: props.repository,
|
|
103
|
+
name: "web", // GitHub webhook type
|
|
104
|
+
config: webhookConfig,
|
|
105
|
+
events,
|
|
106
|
+
active,
|
|
107
|
+
});
|
|
108
|
+
webhookData = createdWebhook;
|
|
109
|
+
webhookId = createdWebhook.id;
|
|
110
|
+
}
|
|
111
|
+
// Return webhook details
|
|
112
|
+
return this({
|
|
113
|
+
id: `${props.owner}/${props.repository}/webhook/${webhookId}`,
|
|
114
|
+
webhookId,
|
|
115
|
+
owner: props.owner,
|
|
116
|
+
repository: props.repository,
|
|
117
|
+
url: props.url,
|
|
118
|
+
secret: props.secret,
|
|
119
|
+
contentType: props.contentType || "application/json",
|
|
120
|
+
insecureSsl: props.insecureSsl,
|
|
121
|
+
active: props.active,
|
|
122
|
+
events: props.events || ["push"],
|
|
123
|
+
token: props.token,
|
|
124
|
+
createdAt: webhookData.created_at,
|
|
125
|
+
updatedAt: webhookData.updated_at,
|
|
126
|
+
pingUrl: webhookData.ping_url,
|
|
127
|
+
testUrl: webhookData.test_url,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
if (error.status === 403 &&
|
|
132
|
+
error.message?.includes("Must have admin rights")) {
|
|
133
|
+
logger.error("\n⚠️ Error creating/updating GitHub webhook: You must have admin rights to the repository.");
|
|
134
|
+
logger.error("Make sure your GitHub token has the required permissions (repo scope for private repos).\n");
|
|
135
|
+
}
|
|
136
|
+
else if (error.status === 422) {
|
|
137
|
+
logger.error("\n⚠️ Error creating/updating GitHub webhook: Invalid webhook configuration.");
|
|
138
|
+
logger.error("Check your webhook URL and event configuration.\n");
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
logger.error("Error creating/updating GitHub webhook:", error.message);
|
|
142
|
+
}
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=repository-webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository-webhook.js","sourceRoot":"","sources":["../../src/github/repository-webhook.ts"],"names":[],"mappings":"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"}
|
package/lib/scope.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import util from "node:util";
|
|
2
3
|
import type { Phase } from "./alchemy.ts";
|
|
3
4
|
import { ResourceID, type PendingResource, type Resource, type ResourceProps } from "./resource.ts";
|
|
4
5
|
import type { StateStore, StateStoreType } from "./state.ts";
|
|
@@ -81,6 +82,7 @@ export declare class Scope {
|
|
|
81
82
|
get<T>(key: string): Promise<T>;
|
|
82
83
|
delete(key: string): Promise<void>;
|
|
83
84
|
run<T>(fn: (scope: Scope) => Promise<T>): Promise<T>;
|
|
85
|
+
[util.inspect.custom](): string;
|
|
84
86
|
[Symbol.asyncDispose](): Promise<void>;
|
|
85
87
|
/**
|
|
86
88
|
* The telemetry client for the root scope.
|
package/lib/scope.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAEL,UAAU,EAIV,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAS,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,qBAAa,0BAA2B,SAAQ,KAAK;;CAIpD;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC,CAAC;AAKH,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,mBAAmB,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,mBAAmB,EAAE,KAAK,EAAE,CAAC;CAClC;AAED,QAAA,MAAM,WAAW,eAA+B,CAAC;AAEjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAElD;AAED,qBAAa,KAAK;IAChB,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ;IAE9B,gBAAuB,IAAI,EAAG,gBAAgB,CAAU;IAExD,OAAc,OAAO,2BACa;IAClC,OAAc,OAAO,EAAE,KAAK,EAAE,CAA2C;WAE3D,QAAQ,IAAI,KAAK,GAAG,SAAS;IAW3C,WAAkB,IAAI,IAAI,KAAK,CAE9B;IAED,WAAkB,OAAO,IAAI,KAAK,CAIjC;IAED,SAAgB,SAAS,wCAA0C;IACnE,SAAgB,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAa;IAC7D,SAAgB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAgB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,KAAK,EAAE,UAAU,CAAC;IAClC,SAAgB,UAAU,EAAE,cAAc,CAAC;IAC3C,SAAgB,KAAK,EAAE,OAAO,CAAC;IAC/B,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,GAAG,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,eAAe,EAAE,gBAAgB,CAAC;IAClD,SAAgB,SAAS,EAAE,UAAU,CAAC;IAEtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,EAAE,YAAY;IAsDjC,IAAW,IAAI,IAAI,KAAK,CAMvB;IAEY,cAAc,CAAC,UAAU,EAAE,UAAU;IAKlD,OAAO,CAAC,IAAI,CAAK;IAEV,GAAG;IAIV,IAAW,KAAK,IAAI,MAAM,EAAE,CAO3B;IAEM,IAAI;IAKE,IAAI;IAIJ,MAAM;IAKZ,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAI1C;;;;;;;OAOG;YACW,cAAc;IA8Cf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,CAAC,MAAM,CAAC,YAAY,CAAC;IAIrB;;;OAGG;IACH,OAAO,KAAK,mBAAmB,GAK9B;IAEY,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IA4ExB,uBAAuB;IAyBpC;;OAEG;IACI,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBjD;;OAEG;IACI,QAAQ;CAQhB;AAED,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,iBAAiB,EAAE,OAAO,KAAK,CAAC;CACrC"}
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
package/lib/scope.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import util from "node:util";
|
|
2
3
|
import { destroy, destroyAll } from "./destroy.js";
|
|
3
4
|
import { FileSystemStateStore } from "./fs/file-system-state-store.js";
|
|
4
5
|
import { ResourceFQN, ResourceID, ResourceKind, ResourceScope, ResourceSeq, } from "./resource.js";
|
|
@@ -197,6 +198,9 @@ export class Scope {
|
|
|
197
198
|
async run(fn) {
|
|
198
199
|
return Scope.storage.run(this, () => fn(this));
|
|
199
200
|
}
|
|
201
|
+
[util.inspect.custom]() {
|
|
202
|
+
return `Scope(${this.chain.join("/")})`;
|
|
203
|
+
}
|
|
200
204
|
[Symbol.asyncDispose]() {
|
|
201
205
|
return this.finalize();
|
|
202
206
|
}
|
package/lib/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GAIZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3C,CAAC;CACF;AAqBD,wBAAwB;AACxB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;AAO7E,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEjD,MAAM,UAAU,OAAO,CAAC,KAAU;IAChC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AACjE,CAAC;AAED,MAAM,OAAO,KAAK;IACP,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAEvB,MAAM,CAAU,IAAI,GAAG,gBAAyB,CAAC;IAEjD,MAAM,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,mBAAmB;QACrD,IAAI,iBAAiB,EAAS,CAAC,CAAC;IAC3B,MAAM,CAAC,OAAO,GAAY,CAAC,UAAU,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IAElE,MAAM,CAAC,QAAQ;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,KAAK,IAAI;QACpB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5B,CAAC;IAEM,MAAM,KAAK,OAAO;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAEe,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IACnD,QAAQ,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC7C,OAAO,CAAqB;IAC5B,KAAK,CAAS;IACd,SAAS,CAAgB;IACzB,MAAM,CAAoB;IAC1B,QAAQ,CAAqB;IAC7B,KAAK,CAAa;IAClB,UAAU,CAAiB;IAC3B,KAAK,CAAU;IACf,KAAK,CAAQ;IACb,GAAG,CAAW;IACd,MAAM,CAAY;IAClB,eAAe,CAAmB;IAClC,SAAS,CAAa;IAE9B,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAE9B,QAAQ,GAA2B,EAAE,CAAC;IAE9C,YAAY,OAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,CAAC,SAAS,+BAA+B,CAC5D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,aAAa,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,iBAAiB,EAAE;YACrB,CAAC,CAAC,oBAAoB,CAClB;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;aAC5B,EACD,OAAO,CAAC,MAAM,CACf,CAAC;QAEN,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC;QAEpD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,+GAA+G,CAChH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU;YACb,OAAO,CAAC,UAAU;gBAClB,IAAI,CAAC,MAAM,EAAE,UAAU;gBACvB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,eAAe;YAClB,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE,eAAgB,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,IAAW,IAAI;QACb,IAAI,IAAI,GAAU,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,UAAsB;QAChD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAEO,IAAI,GAAG,CAAC,CAAC;IAEV,GAAG;QACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IAAW,KAAK;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IAChC,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IAC9B,CAAC;IAEM,GAAG,CAAC,UAAsB;QAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc,CAC1B,EAKe;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpC,iCAAiC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,0BAA0B,EAAE,CAAC;YACzC,CAAC;YAED,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7D,MAAM,KAAK,GACT,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,MAAM;oBACL,CAAC,CAAC;wBACE,kEAAkE;wBAClE,IAAI,EAAE,gBAAgB;wBACtB,EAAE,EAAE,IAAI,CAAC,SAAU;wBACnB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAU,CAAC;wBACnC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;wBACf,MAAM,EAAE,SAAS;wBACjB,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE;4BACN,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAU;4BAC7B,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAU,CAAC;4BAC7C,CAAC,YAAY,CAAC,EAAE,gBAAgB;4BAChC,CAAC,aAAa,CAAC,EAAE,IAAI;4BACrB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE;yBAC1B;wBACD,KAAK,EAAE,EAAE;qBACV;oBACH,CAAC,CAAC,SAAS,CAAC,CAAC;YAEjB,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,0BAA0B,EAAE,CAAC;YAEnD,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAU,EAAE,OAAO,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QACvC,OAAO,IAAI,CAAC,cAAc,CAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAI,GAAW;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAI,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAI,EAAgC;QAClD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,CAAC,MAAM,CAAC,YAAY,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,IAAY,mBAAmB;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAe;QACnC,MAAM,WAAW,GACf,KAAK;YACL,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,IAAI,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;aAC5C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,0CAA0C;QAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,yCAAyC;YACzC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAC1B,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAC9C,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACrC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC5B,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAE,CAAC,MAAM,CAAC,CAChE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACjB,OAAO,CAAC,MAAM,CACZ,CAAC,MAAM,EAAE,EAAE;YACT,oDAAoD;YACpD,CAAC,CACC,MAAM,CAAC,YAAY,CAAC,KAAK,gBAAgB;gBACzC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAClD,CACJ,CACF,CAAC;YACF,MAAM,UAAU,CAAC,OAAO,EAAE;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;aAC5C,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,CAAC;gBAChC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;aAC5C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,uBAAuB;QAClC,MAAM,gBAAgB,GACpB,CAAC,MAAM,IAAI,CAAC,GAAG,CAAmB,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAChE,IAAI,CAAC,YAAY,0BAA0B,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,gBAAgB,EAAE,CAAC;gBACtD,6DAA6D;gBAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAE,CAAC;gBAC/D,QAAQ,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;gBAChE,MAAM,OAAO,CAAC,QAAQ,EAAE;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE;wBACP,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,QAAQ;qBACjB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAI,EAAoB;QAClC,IAAI,QAA4B,CAAC;QACjC,IAAI,OAA+B,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,QAAQ,GAAG,OAAO,CAAC;YACnB,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,2CAA2C;YAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO;UACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;eACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACzB,IAAI,CAAC,OAAO,CAAC;EAChB,CAAC;IACD,CAAC;;AASH,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./lib/index.js",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -169,6 +169,7 @@
|
|
|
169
169
|
"@aws-sdk/client-s3": "3.726.1",
|
|
170
170
|
"@biomejs/biome": "^1.9.4",
|
|
171
171
|
"@clack/prompts": "^0.11.0",
|
|
172
|
+
"@cloudflare/containers": "^0.0.13",
|
|
172
173
|
"@cloudflare/puppeteer": "^1.0.2",
|
|
173
174
|
"@cloudflare/workers-types": "^4.20250620.0",
|
|
174
175
|
"@iarna/toml": "^2.2.5",
|
|
@@ -191,7 +192,7 @@
|
|
|
191
192
|
"fs-extra": "^11.3.0",
|
|
192
193
|
"globby": "^14.1.0",
|
|
193
194
|
"libsodium-wrappers": "^0.7.15",
|
|
194
|
-
"miniflare": "^4.20250617.
|
|
195
|
+
"miniflare": "^4.20250617.4",
|
|
195
196
|
"nitro-cloudflare-dev": "^0.2.2",
|
|
196
197
|
"openpgp": "^6.1.0",
|
|
197
198
|
"picocolors": "^1.1.1",
|
package/src/build-date.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type { Assets } from "./assets.ts";
|
|
|
11
11
|
import type { Bound } from "./bound.ts";
|
|
12
12
|
import type { BrowserRendering } from "./browser-rendering.ts";
|
|
13
13
|
import type { R2BucketResource } from "./bucket.ts";
|
|
14
|
+
import type { Container } from "./container.ts";
|
|
14
15
|
import type { D1DatabaseResource } from "./d1-database.ts";
|
|
15
16
|
import type { DispatchNamespaceResource } from "./dispatch-namespace.ts";
|
|
16
17
|
import type { DurableObjectNamespace } from "./durable-object-namespace.ts";
|
|
@@ -44,6 +45,7 @@ export type Binding =
|
|
|
44
45
|
| Ai
|
|
45
46
|
| AiGatewayResource
|
|
46
47
|
| Assets
|
|
48
|
+
| Container
|
|
47
49
|
| CloudflareSecret
|
|
48
50
|
| D1DatabaseResource
|
|
49
51
|
| DispatchNamespaceResource
|
package/src/cloudflare/bound.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { Assets } from "./assets.ts";
|
|
|
7
7
|
import type { Binding, Json, Self } from "./bindings.ts";
|
|
8
8
|
import type { BrowserRendering } from "./browser-rendering.ts";
|
|
9
9
|
import type { R2BucketResource as _R2Bucket } from "./bucket.ts";
|
|
10
|
+
import type { Container as _Container } from "./container.ts";
|
|
10
11
|
import type { D1DatabaseResource } from "./d1-database.ts";
|
|
11
12
|
import type { DispatchNamespaceResource } from "./dispatch-namespace.ts";
|
|
12
13
|
import type { DurableObjectNamespace as _DurableObjectNamespace } from "./durable-object-namespace.ts";
|
|
@@ -87,4 +88,11 @@ export type Bound<T extends Binding> = T extends _DurableObjectNamespace<
|
|
|
87
88
|
? Service
|
|
88
89
|
: T extends Json<infer T>
|
|
89
90
|
? T
|
|
90
|
-
:
|
|
91
|
+
: T extends _Container<
|
|
92
|
+
infer Obj
|
|
93
|
+
>
|
|
94
|
+
? DurableObjectNamespace<
|
|
95
|
+
Obj &
|
|
96
|
+
Rpc.DurableObjectBranded
|
|
97
|
+
>
|
|
98
|
+
: Service;
|