alchemy 0.1.13 → 0.1.14
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 +12 -2
- package/lib/aws/account-id.d.ts +5 -0
- package/lib/aws/account-id.d.ts.map +1 -0
- package/lib/aws/account-id.js +10 -0
- package/lib/aws/account-id.js.map +1 -0
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.d.ts.map +1 -1
- package/lib/aws/index.js +1 -0
- package/lib/aws/index.js.map +1 -1
- package/lib/aws/oidc/github-oidc-provider.d.ts +11 -0
- package/lib/aws/oidc/github-oidc-provider.d.ts.map +1 -0
- package/lib/aws/oidc/github-oidc-provider.js +22 -0
- package/lib/aws/oidc/github-oidc-provider.js.map +1 -0
- package/lib/aws/oidc/index.d.ts +3 -0
- package/lib/aws/oidc/index.d.ts.map +1 -0
- package/lib/aws/oidc/index.js +3 -0
- package/lib/aws/oidc/index.js.map +1 -0
- package/lib/aws/oidc/oidc-provider.d.ts +60 -0
- package/lib/aws/oidc/oidc-provider.d.ts.map +1 -0
- package/lib/aws/oidc/oidc-provider.js +140 -0
- package/lib/aws/oidc/oidc-provider.js.map +1 -0
- package/lib/aws/queue.d.ts +24 -0
- package/lib/aws/queue.d.ts.map +1 -1
- package/lib/aws/queue.js +6 -1
- package/lib/aws/queue.js.map +1 -1
- package/lib/aws/role.d.ts.map +1 -1
- package/lib/aws/role.js +49 -1
- package/lib/aws/role.js.map +1 -1
- package/lib/aws/ses.d.ts.map +1 -1
- package/lib/aws/ses.js +20 -28
- package/lib/aws/ses.js.map +1 -1
- package/lib/aws/table.d.ts.map +1 -1
- package/lib/aws/table.js +95 -73
- package/lib/aws/table.js.map +1 -1
- package/lib/cloudflare/bindings.d.ts +7 -2
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/durable-object-namespace.d.ts +2 -5
- package/lib/cloudflare/durable-object-namespace.d.ts.map +1 -1
- package/lib/cloudflare/durable-object-namespace.js +1 -6
- package/lib/cloudflare/durable-object-namespace.js.map +1 -1
- package/lib/cloudflare/kv-namespace.d.ts +3 -0
- package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
- package/lib/cloudflare/kv-namespace.js +4 -0
- package/lib/cloudflare/kv-namespace.js.map +1 -1
- package/lib/cloudflare/static-site.d.ts.map +1 -1
- package/lib/cloudflare/static-site.js +12 -30
- package/lib/cloudflare/static-site.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +6 -3
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +41 -15
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/github/client.d.ts +34 -0
- package/lib/github/client.d.ts.map +1 -0
- package/lib/github/client.js +91 -0
- package/lib/github/client.js.map +1 -0
- package/lib/github/index.d.ts +2 -0
- package/lib/github/index.d.ts.map +1 -0
- package/lib/github/index.js +2 -0
- package/lib/github/index.js.map +1 -0
- package/lib/github/secret.d.ts +46 -0
- package/lib/github/secret.d.ts.map +1 -0
- package/lib/github/secret.js +103 -0
- package/lib/github/secret.js.map +1 -0
- package/lib/utils/retry.d.ts +13 -0
- package/lib/utils/retry.d.ts.map +1 -0
- package/lib/utils/retry.js +31 -0
- package/lib/utils/retry.js.map +1 -0
- package/package.json +10 -2
- package/src/aws/account-id.ts +11 -0
- package/src/aws/index.ts +1 -0
- package/src/aws/oidc/github-oidc-provider.ts +34 -0
- package/src/aws/oidc/index.ts +2 -0
- package/src/aws/oidc/oidc-provider.ts +253 -0
- package/src/aws/queue.ts +23 -1
- package/src/aws/role.ts +69 -0
- package/src/aws/ses.ts +27 -31
- package/src/aws/table.ts +113 -82
- package/src/cloudflare/bindings.ts +8 -2
- package/src/cloudflare/durable-object-namespace.ts +4 -10
- package/src/cloudflare/kv-namespace.ts +11 -0
- package/src/cloudflare/static-site.ts +13 -32
- package/src/cloudflare/worker.ts +52 -22
- package/src/github/client.ts +115 -0
- package/src/github/index.ts +1 -0
- package/src/github/secret.ts +172 -0
- package/src/utils/retry.ts +36 -0
package/lib/aws/ses.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CreateConfigurationSetCommand, CreateEmailIdentityCommand, DeleteConfigurationSetCommand, DeleteEmailIdentityCommand, GetConfigurationSetCommand, GetEmailIdentityCommand, NotFoundException, PutConfigurationSetDeliveryOptionsCommand, PutConfigurationSetReputationOptionsCommand, PutConfigurationSetSendingOptionsCommand, PutConfigurationSetSuppressionOptionsCommand, PutConfigurationSetTrackingOptionsCommand, PutEmailIdentityDkimAttributesCommand, SESv2Client, } from "@aws-sdk/client-sesv2";
|
|
2
2
|
import { ignore } from "../error";
|
|
3
3
|
import { Resource } from "../resource";
|
|
4
4
|
/**
|
|
@@ -25,10 +25,7 @@ export class SES extends Resource("aws::SES", async (ctx, props) => {
|
|
|
25
25
|
})));
|
|
26
26
|
}
|
|
27
27
|
// Return empty output for delete
|
|
28
|
-
return
|
|
29
|
-
...props,
|
|
30
|
-
id,
|
|
31
|
-
};
|
|
28
|
+
return;
|
|
32
29
|
}
|
|
33
30
|
// Created resources
|
|
34
31
|
let configurationSetArn;
|
|
@@ -39,51 +36,52 @@ export class SES extends Resource("aws::SES", async (ctx, props) => {
|
|
|
39
36
|
if (props.configurationSetName) {
|
|
40
37
|
try {
|
|
41
38
|
// Check if configuration set exists
|
|
42
|
-
let
|
|
39
|
+
let configSetExists = false;
|
|
43
40
|
try {
|
|
44
|
-
|
|
41
|
+
await client.send(new GetConfigurationSetCommand({
|
|
45
42
|
ConfigurationSetName: props.configurationSetName,
|
|
46
43
|
}));
|
|
44
|
+
configSetExists = true;
|
|
47
45
|
}
|
|
48
46
|
catch (error) {
|
|
49
47
|
if (error instanceof NotFoundException) {
|
|
50
|
-
|
|
48
|
+
configSetExists = false;
|
|
51
49
|
}
|
|
52
50
|
else {
|
|
53
51
|
throw error;
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
|
-
if (
|
|
57
|
-
//
|
|
58
|
-
// since there's no unified UpdateConfigurationSetCommand
|
|
54
|
+
if (configSetExists) {
|
|
55
|
+
// Update existing configuration set using appropriate update commands
|
|
59
56
|
if (props.sendingOptions) {
|
|
60
|
-
await client.send(new
|
|
57
|
+
await client.send(new PutConfigurationSetSendingOptionsCommand({
|
|
61
58
|
ConfigurationSetName: props.configurationSetName,
|
|
62
|
-
|
|
59
|
+
SendingEnabled: props.sendingOptions.SendingEnabled,
|
|
63
60
|
}));
|
|
64
61
|
}
|
|
65
62
|
if (props.reputationOptions) {
|
|
66
|
-
await client.send(new
|
|
63
|
+
await client.send(new PutConfigurationSetReputationOptionsCommand({
|
|
67
64
|
ConfigurationSetName: props.configurationSetName,
|
|
68
|
-
|
|
65
|
+
ReputationMetricsEnabled: props.reputationOptions.ReputationMetricsEnabled,
|
|
69
66
|
}));
|
|
70
67
|
}
|
|
71
68
|
if (props.trackingOptions) {
|
|
72
|
-
await client.send(new
|
|
69
|
+
await client.send(new PutConfigurationSetTrackingOptionsCommand({
|
|
73
70
|
ConfigurationSetName: props.configurationSetName,
|
|
74
|
-
|
|
71
|
+
CustomRedirectDomain: props.trackingOptions.CustomRedirectDomain,
|
|
75
72
|
}));
|
|
76
73
|
}
|
|
77
74
|
if (props.suppressionOptions) {
|
|
78
|
-
await client.send(new
|
|
75
|
+
await client.send(new PutConfigurationSetSuppressionOptionsCommand({
|
|
79
76
|
ConfigurationSetName: props.configurationSetName,
|
|
80
|
-
|
|
77
|
+
SuppressedReasons: props.suppressionOptions.SuppressedReasons,
|
|
81
78
|
}));
|
|
82
79
|
}
|
|
83
80
|
if (props.deliveryOptions) {
|
|
84
|
-
await client.send(new
|
|
81
|
+
await client.send(new PutConfigurationSetDeliveryOptionsCommand({
|
|
85
82
|
ConfigurationSetName: props.configurationSetName,
|
|
86
|
-
|
|
83
|
+
TlsPolicy: props.deliveryOptions.TlsPolicy,
|
|
84
|
+
SendingPoolName: props.deliveryOptions.SendingPoolName,
|
|
87
85
|
}));
|
|
88
86
|
}
|
|
89
87
|
// In SESv2, the ARN isn't directly returned in the response
|
|
@@ -108,13 +106,7 @@ export class SES extends Resource("aws::SES", async (ctx, props) => {
|
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
108
|
catch (error) {
|
|
111
|
-
|
|
112
|
-
// If it already exists but we couldn't get it (permissions issue), continue
|
|
113
|
-
console.warn(`Configuration set ${props.configurationSetName} already exists but cannot be retrieved`);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
109
|
+
throw error;
|
|
118
110
|
}
|
|
119
111
|
}
|
|
120
112
|
// Create or verify email identity if specified
|
package/lib/aws/ses.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ses.js","sourceRoot":"","sources":["../../src/aws/ses.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"ses.js","sourceRoot":"","sources":["../../src/aws/ses.ts"],"names":[],"mappings":"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"}
|
package/lib/aws/table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/aws/table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/aws/table.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;KACvB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;;AAED,qBAAa,KAAM,SAAQ,UAsK1B;CAAG"}
|
package/lib/aws/table.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CreateTableCommand, DeleteTableCommand, DescribeTableCommand, DynamoDBClient, ResourceInUseException, ResourceNotFoundException, } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import { ignore } from "../error";
|
|
3
3
|
import { Resource } from "../resource";
|
|
4
|
+
import { withExponentialBackoff } from "../utils/retry";
|
|
4
5
|
export class Table extends Resource("dynamo::Table", async (ctx, props) => {
|
|
5
6
|
const client = new DynamoDBClient({});
|
|
6
7
|
if (ctx.event === "delete") {
|
|
@@ -26,59 +27,83 @@ export class Table extends Resource("dynamo::Table", async (ctx, props) => {
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
|
-
return
|
|
30
|
-
...props,
|
|
31
|
-
id: props.tableName,
|
|
32
|
-
arn: `arn:aws:dynamodb:${client.config.region}:${process.env.AWS_ACCOUNT_ID}:table/${props.tableName}`,
|
|
33
|
-
tableId: "",
|
|
34
|
-
};
|
|
30
|
+
return;
|
|
35
31
|
}
|
|
36
32
|
else {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
33
|
+
// Setup for table creation
|
|
34
|
+
const attributeDefinitions = [
|
|
35
|
+
{
|
|
36
|
+
AttributeName: props.partitionKey.name,
|
|
37
|
+
AttributeType: props.partitionKey.type,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
const keySchema = [
|
|
41
|
+
{
|
|
42
|
+
AttributeName: props.partitionKey.name,
|
|
43
|
+
KeyType: "HASH",
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
if (props.sortKey) {
|
|
47
|
+
attributeDefinitions.push({
|
|
48
|
+
AttributeName: props.sortKey.name,
|
|
49
|
+
AttributeType: props.sortKey.type,
|
|
50
|
+
});
|
|
51
|
+
keySchema.push({
|
|
52
|
+
AttributeName: props.sortKey.name,
|
|
53
|
+
KeyType: "RANGE",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// Attempt to create the table with exponential backoff for ResourceInUseException
|
|
57
|
+
await withExponentialBackoff(async () => {
|
|
58
|
+
try {
|
|
59
|
+
// First check if table already exists
|
|
60
|
+
const describeResponse = await client.send(new DescribeTableCommand({
|
|
61
|
+
TableName: props.tableName,
|
|
62
|
+
}));
|
|
63
|
+
// If table exists and is ACTIVE, no need to create it
|
|
64
|
+
if (describeResponse.Table?.TableStatus === "ACTIVE") {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// If table exists but not ACTIVE, wait for it in the polling loop below
|
|
68
|
+
if (describeResponse.Table) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
59
71
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
72
|
+
catch (error) {
|
|
73
|
+
if (error instanceof ResourceNotFoundException) {
|
|
74
|
+
// Table doesn't exist, try to create it
|
|
75
|
+
await client.send(new CreateTableCommand({
|
|
76
|
+
TableName: props.tableName,
|
|
77
|
+
AttributeDefinitions: attributeDefinitions,
|
|
78
|
+
KeySchema: keySchema,
|
|
79
|
+
BillingMode: props.billingMode || "PAY_PER_REQUEST",
|
|
80
|
+
ProvisionedThroughput: props.billingMode === "PROVISIONED"
|
|
81
|
+
? {
|
|
82
|
+
ReadCapacityUnits: props.readCapacity || 5,
|
|
83
|
+
WriteCapacityUnits: props.writeCapacity || 5,
|
|
84
|
+
}
|
|
85
|
+
: undefined,
|
|
86
|
+
Tags: props.tags
|
|
87
|
+
? Object.entries(props.tags).map(([Key, Value]) => ({
|
|
88
|
+
Key,
|
|
89
|
+
Value,
|
|
90
|
+
}))
|
|
91
|
+
: undefined,
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}, (error) => error instanceof ResourceInUseException, 10, // Max attempts
|
|
99
|
+
200);
|
|
100
|
+
// Wait for table to be active with timeout
|
|
101
|
+
let tableActive = false;
|
|
102
|
+
let tableDescription;
|
|
103
|
+
let retryCount = 0;
|
|
104
|
+
const maxRetries = 60; // Wait up to 60 seconds
|
|
105
|
+
while (!tableActive && retryCount < maxRetries) {
|
|
106
|
+
try {
|
|
82
107
|
const response = await client.send(new DescribeTableCommand({
|
|
83
108
|
TableName: props.tableName,
|
|
84
109
|
}));
|
|
@@ -87,33 +112,30 @@ export class Table extends Resource("dynamo::Table", async (ctx, props) => {
|
|
|
87
112
|
tableDescription = response.Table;
|
|
88
113
|
}
|
|
89
114
|
else {
|
|
90
|
-
|
|
115
|
+
retryCount++;
|
|
116
|
+
// Increasing delay for each retry with some jitter
|
|
117
|
+
const delay = Math.min(1000 * (1 + 0.1 * Math.random()), 5000);
|
|
118
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
91
119
|
}
|
|
92
120
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
if (error instanceof ResourceInUseException) {
|
|
103
|
-
// Table already exists, get its details
|
|
104
|
-
const response = await client.send(new DescribeTableCommand({
|
|
105
|
-
TableName: props.tableName,
|
|
106
|
-
}));
|
|
107
|
-
return {
|
|
108
|
-
...props,
|
|
109
|
-
id: props.tableName,
|
|
110
|
-
arn: response.Table.TableArn,
|
|
111
|
-
streamArn: response.Table.LatestStreamArn,
|
|
112
|
-
tableId: response.Table.TableId,
|
|
113
|
-
};
|
|
121
|
+
catch (error) {
|
|
122
|
+
retryCount++;
|
|
123
|
+
if (!(error instanceof ResourceNotFoundException)) {
|
|
124
|
+
throw error;
|
|
125
|
+
}
|
|
126
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
114
127
|
}
|
|
115
|
-
throw error;
|
|
116
128
|
}
|
|
129
|
+
if (!tableActive) {
|
|
130
|
+
throw new Error(`Timed out waiting for table ${props.tableName} to become active`);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
...props,
|
|
134
|
+
id: props.tableName,
|
|
135
|
+
arn: tableDescription.TableArn,
|
|
136
|
+
streamArn: tableDescription.LatestStreamArn,
|
|
137
|
+
tableId: tableDescription.TableId,
|
|
138
|
+
};
|
|
117
139
|
}
|
|
118
140
|
}) {
|
|
119
141
|
}
|
package/lib/aws/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/aws/table.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EAEd,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/aws/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,15 @@
|
|
|
4
4
|
* https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
|
|
5
5
|
*/
|
|
6
6
|
import type { DurableObjectNamespace } from "./durable-object-namespace";
|
|
7
|
+
import type { KVNamespace } from "./kv-namespace";
|
|
8
|
+
import type { Worker } from "./worker";
|
|
9
|
+
export type Bindings = {
|
|
10
|
+
[bindingName: string]: Binding;
|
|
11
|
+
};
|
|
7
12
|
/**
|
|
8
|
-
*
|
|
13
|
+
* L2 Binding Resources.
|
|
9
14
|
*/
|
|
10
|
-
export type
|
|
15
|
+
export type Binding = DurableObjectNamespace | KVNamespace | Worker | string;
|
|
11
16
|
/**
|
|
12
17
|
* Union type for all Worker binding types (API spec)
|
|
13
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bindings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/cloudflare/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Resolved } from "../output";
|
|
2
2
|
export interface DurableObjectNamespaceInput {
|
|
3
|
-
bindingName: string;
|
|
4
3
|
className: string;
|
|
5
4
|
scriptName?: string | undefined;
|
|
6
5
|
environment?: string | undefined;
|
|
7
6
|
sqlite?: boolean | undefined;
|
|
8
7
|
namespaceId?: string | undefined;
|
|
9
8
|
}
|
|
10
|
-
export declare function isDurableObjectNamespace(binding:
|
|
9
|
+
export declare function isDurableObjectNamespace(binding: any): binding is Resolved<DurableObjectNamespace>;
|
|
11
10
|
export declare class DurableObjectNamespace implements DurableObjectNamespaceInput {
|
|
12
11
|
readonly id: string;
|
|
13
12
|
readonly type: "durable_object_namespace";
|
|
14
|
-
readonly name: string;
|
|
15
|
-
readonly bindingName: string;
|
|
16
13
|
readonly className: string;
|
|
17
14
|
readonly scriptName?: string | undefined;
|
|
18
15
|
readonly environment?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"durable-object-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,GAAG,GACX,OAAO,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAI7C;AAED,qBAAa,sBAAuB,YAAW,2BAA2B;aAUtD,EAAE,EAAE,MAAM;IAT5B,SAAgB,IAAI,EAAG,0BAA0B,CAAU;IAE3D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAgB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,SAAgB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG/B,EAAE,EAAE,MAAM,EAC1B,KAAK,EAAE,2BAA2B;CAOrC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export function isDurableObjectNamespace(binding) {
|
|
2
|
-
return (binding.type === "durable_object_namespace"
|
|
3
|
-
typeof binding.bindingName === "string");
|
|
2
|
+
return (typeof binding === "object" && binding.type === "durable_object_namespace");
|
|
4
3
|
}
|
|
5
4
|
export class DurableObjectNamespace {
|
|
6
5
|
id;
|
|
7
6
|
type = "durable_object_namespace";
|
|
8
7
|
// alias for bindingName to be consistent with other bindings
|
|
9
|
-
name;
|
|
10
|
-
bindingName;
|
|
11
8
|
className;
|
|
12
9
|
scriptName;
|
|
13
10
|
environment;
|
|
@@ -15,8 +12,6 @@ export class DurableObjectNamespace {
|
|
|
15
12
|
namespaceId;
|
|
16
13
|
constructor(id, input) {
|
|
17
14
|
this.id = id;
|
|
18
|
-
this.bindingName = input.bindingName;
|
|
19
|
-
this.name = this.bindingName;
|
|
20
15
|
this.className = input.className;
|
|
21
16
|
this.scriptName = input.scriptName;
|
|
22
17
|
this.environment = input.environment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durable-object-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/durable-object-namespace.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,wBAAwB,CACtC,OAAY;IAEZ,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,0BAA0B,CAC3E,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IAUf;IATF,IAAI,GAAG,0BAAmC,CAAC;IAC3D,6DAA6D;IAC7C,SAAS,CAAS;IAClB,UAAU,CAAsB;IAChC,WAAW,CAAsB;IACjC,MAAM,CAAuB;IAC7B,WAAW,CAAsB;IAEjD,YACkB,EAAU,EAC1B,KAAkC;QADlB,OAAE,GAAF,EAAE,CAAQ;QAG1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Resolved } from "../output";
|
|
1
2
|
/**
|
|
2
3
|
* Properties for creating or updating a KV Namespace
|
|
3
4
|
*/
|
|
@@ -41,6 +42,7 @@ export interface KVPair {
|
|
|
41
42
|
* Output returned after KV Namespace creation/update
|
|
42
43
|
*/
|
|
43
44
|
export interface KVNamespaceOutput extends KVNamespaceProps {
|
|
45
|
+
type: "kv_namespace";
|
|
44
46
|
/**
|
|
45
47
|
* The ID of the namespace
|
|
46
48
|
*/
|
|
@@ -54,6 +56,7 @@ export interface KVNamespaceOutput extends KVNamespaceProps {
|
|
|
54
56
|
*/
|
|
55
57
|
modifiedAt: number;
|
|
56
58
|
}
|
|
59
|
+
export declare function isKVNamespace(resource: any): resource is Resolved<KVNamespace>;
|
|
57
60
|
declare const KVNamespace_base: import("../resource").Provider<"cloudflare::KVNamespace", [props: KVNamespaceProps], KVNamespaceOutput>;
|
|
58
61
|
export declare class KVNamespace extends KVNamespace_base {
|
|
59
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kv-namespace.d.ts","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,cAAc,CAAC;IACrB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,CAInC;;AAED,qBAAa,WAAY,SAAQ,gBA8HhC;CAAG"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Resource } from "../resource";
|
|
2
2
|
import { createCloudflareApi } from "./api";
|
|
3
|
+
export function isKVNamespace(resource) {
|
|
4
|
+
return (resource && typeof resource === "object" && resource.type === "kv_namespace");
|
|
5
|
+
}
|
|
3
6
|
export class KVNamespace extends Resource("cloudflare::KVNamespace", async (ctx, props) => {
|
|
4
7
|
// Create Cloudflare API client with automatic account discovery
|
|
5
8
|
const api = await createCloudflareApi();
|
|
@@ -80,6 +83,7 @@ export class KVNamespace extends Resource("cloudflare::KVNamespace", async (ctx,
|
|
|
80
83
|
const now = Date.now();
|
|
81
84
|
// Construct the output
|
|
82
85
|
const output = {
|
|
86
|
+
type: "kv_namespace",
|
|
83
87
|
id: namespaceId,
|
|
84
88
|
title: props.title,
|
|
85
89
|
values: props.values,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kv-namespace.js","sourceRoot":"","sources":["../../src/cloudflare/kv-namespace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-site.d.ts","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,WAAW,CAAC,EAAE;YACZ;;;eAGG;YACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YAEzB;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YAE3B;;eAEG;YACH,YAAY,EAAE,MAAM,CAAC;YAErB;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;KACL,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EACH,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAEN,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EACH,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAEN;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;;AAED,qBAAa,UAAW,SAAQ,
|
|
1
|
+
{"version":3,"file":"static-site.d.ts","sourceRoot":"","sources":["../../src/cloudflare/static-site.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,WAAW,CAAC,EAAE;YACZ;;;eAGG;YACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YAEzB;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;YAE3B;;eAEG;YACH,YAAY,EAAE,MAAM,CAAC;YAErB;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,EAAE,CAAC;KACL,CAAC;IAEF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EACH,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAEN,KAAK,CAAC,EAAE;QACN;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EACH,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAEN;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;;AAED,qBAAa,UAAW,SAAQ,eAqK/B;CAAG"}
|
|
@@ -65,11 +65,11 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
65
65
|
// Create Cloudflare API client with automatic account discovery
|
|
66
66
|
const api = await createCloudflareApi();
|
|
67
67
|
// Step 1: Create or get the KV namespace for assets
|
|
68
|
-
const
|
|
68
|
+
const kv = new KVNamespace("assets", {
|
|
69
69
|
title: `${siteName}-assets`,
|
|
70
70
|
});
|
|
71
71
|
const [{ id: kvNamespaceId }, assetManifest] = await Promise.all([
|
|
72
|
-
apply(
|
|
72
|
+
apply(kv, {
|
|
73
73
|
quiet: ctx.quiet,
|
|
74
74
|
}),
|
|
75
75
|
generateAssetManifest(props.dir),
|
|
@@ -77,37 +77,19 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
77
77
|
// Step 3: Upload assets to KV
|
|
78
78
|
await uploadAssetManifest(api, kvNamespaceId, assetManifest);
|
|
79
79
|
// Prepare the bindings for the worker
|
|
80
|
-
const bindings =
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{
|
|
87
|
-
name: "INDEX_PAGE",
|
|
88
|
-
type: "plain_text",
|
|
89
|
-
text: indexPage,
|
|
90
|
-
},
|
|
91
|
-
];
|
|
92
|
-
// Add error page binding if specified
|
|
93
|
-
if (props.errorPage) {
|
|
94
|
-
bindings.push({
|
|
95
|
-
name: "ERROR_PAGE",
|
|
96
|
-
type: "plain_text",
|
|
97
|
-
text: props.errorPage,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
80
|
+
const bindings = {
|
|
81
|
+
ASSETS: kv,
|
|
82
|
+
INDEX_PAGE: indexPage,
|
|
83
|
+
// Add error page binding if specified
|
|
84
|
+
...(props.errorPage ? { ERROR_PAGE: props.errorPage } : {}),
|
|
85
|
+
};
|
|
100
86
|
const routes = {};
|
|
101
87
|
// Create backend worker if configured
|
|
102
88
|
if (props.routes) {
|
|
103
|
-
for (const [path,
|
|
89
|
+
for (const [path, worker] of Object.entries(props.routes)) {
|
|
104
90
|
// @ts-ignore - TODO: need to use Resolved<Worker> to get the string ...
|
|
105
|
-
routes[path] =
|
|
106
|
-
bindings.
|
|
107
|
-
type: "service",
|
|
108
|
-
name: `ROUTE_${entrypoint.id}`,
|
|
109
|
-
service: entrypoint.id,
|
|
110
|
-
});
|
|
91
|
+
routes[path] = worker.id;
|
|
92
|
+
bindings[`ROUTE_${worker.id}`] = worker;
|
|
111
93
|
}
|
|
112
94
|
}
|
|
113
95
|
// Create asset manifest banner for static site router
|
|
@@ -142,7 +124,7 @@ export class StaticSite extends Resource("cloudflare::StaticSite", {
|
|
|
142
124
|
},
|
|
143
125
|
},
|
|
144
126
|
// place a dependency on the namespace
|
|
145
|
-
|
|
127
|
+
kv.id);
|
|
146
128
|
// Get current timestamp
|
|
147
129
|
const now = Date.now();
|
|
148
130
|
// Construct the output
|