@crossplane-org/function-sdk-typescript 0.3.0 → 0.3.1-20260224103702-ef31d4b67ab1
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 +5 -5
- package/dist/request/request.d.ts +2 -4
- package/dist/request/request.d.ts.map +1 -1
- package/dist/resource/resource.d.ts +26 -24
- package/dist/resource/resource.d.ts.map +1 -1
- package/dist/resource/resource.js +20 -0
- package/dist/resource/resource.js.map +1 -1
- package/dist/response/response.d.ts +4 -12
- package/dist/response/response.d.ts.map +1 -1
- package/dist/response/response.js.map +1 -1
- package/package.json +2 -2
- package/dist/example-function.d.ts +0 -11
- package/dist/example-function.d.ts.map +0 -1
- package/dist/example-function.js +0 -93
- package/dist/example-function.js.map +0 -1
- package/dist/main.d.ts +0 -3
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js +0 -68
- package/dist/main.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Crossplane Function SDK for TypeScript
|
|
2
2
|
|
|
3
|
-
A TypeScript SDK for building [Crossplane Composition Functions](https://docs.crossplane.io/latest/
|
|
3
|
+
A TypeScript SDK for building [Crossplane Composition Functions](https://docs.crossplane.io/latest/composition/compositions/). This SDK provides type-safe interfaces and utilities for creating functions that generate and manage Crossplane resources.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
@@ -391,7 +391,7 @@ If you're developing a function based on this SDK and need to containerize it:
|
|
|
391
391
|
2. Build the image with your function code
|
|
392
392
|
3. Package as a Crossplane function package
|
|
393
393
|
|
|
394
|
-
See the [Crossplane
|
|
394
|
+
See the Crossplane docs [Releasing Crossplane Extensions](https://docs.crossplane.io/latest/guides/extensions-release-process/) for details on building and packaging functions.
|
|
395
395
|
|
|
396
396
|
## Development
|
|
397
397
|
|
|
@@ -667,9 +667,9 @@ Apache 2.0
|
|
|
667
667
|
### Crossplane Documentation
|
|
668
668
|
|
|
669
669
|
- [Crossplane Documentation](https://docs.crossplane.io)
|
|
670
|
-
- [Composition Functions](https://docs.crossplane.io/latest/
|
|
671
|
-
- [
|
|
672
|
-
|
|
670
|
+
- [Composition Functions](https://docs.crossplane.io/latest/composition/compositions/#use-a-function-in-a-composition)
|
|
671
|
+
- [Releasing Crossplane Extensions](https://docs.crossplane.io/latest/guides/extensions-release-process/)
|
|
672
|
+
|
|
673
673
|
|
|
674
674
|
### SDK Documentation
|
|
675
675
|
|
|
@@ -105,9 +105,7 @@ export declare function getObservedComposedResources(req: RunFunctionRequest): {
|
|
|
105
105
|
* }
|
|
106
106
|
* ```
|
|
107
107
|
*/
|
|
108
|
-
export declare function getInput(req: RunFunctionRequest):
|
|
109
|
-
[key: string]: any;
|
|
110
|
-
} | undefined;
|
|
108
|
+
export declare function getInput(req: RunFunctionRequest): Record<string, unknown> | undefined;
|
|
111
109
|
/**
|
|
112
110
|
* Get a value from the request context by key.
|
|
113
111
|
*
|
|
@@ -130,7 +128,7 @@ export declare function getInput(req: RunFunctionRequest): {
|
|
|
130
128
|
* }
|
|
131
129
|
* ```
|
|
132
130
|
*/
|
|
133
|
-
export declare function getContextKey(req: RunFunctionRequest, key: string): [
|
|
131
|
+
export declare function getContextKey(req: RunFunctionRequest, key: string): [unknown, boolean];
|
|
134
132
|
/**
|
|
135
133
|
* Get required resources from the request.
|
|
136
134
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAEzF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAE1F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAKhG;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAKjG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAEzF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAE1F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAKhG;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAKjG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAErF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAKtF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAE1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAEvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAMjF"}
|
|
@@ -32,50 +32,56 @@ export declare function newDesiredComposed(): DesiredComposed;
|
|
|
32
32
|
* Convert a protobuf Struct to a Kubernetes object (plain JavaScript object)
|
|
33
33
|
* This is a more efficient conversion that avoids JSON round-trips when possible
|
|
34
34
|
*
|
|
35
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
36
|
+
* In TypeScript, this is a pass-through operation since JavaScript objects
|
|
37
|
+
* work directly with the protobuf library. This function may be deprecated
|
|
38
|
+
* in a future version once usage patterns are better understood.
|
|
39
|
+
*
|
|
35
40
|
* @param struct - The protobuf Struct to convert
|
|
36
41
|
* @returns A plain JavaScript object representing the Kubernetes resource
|
|
37
42
|
*/
|
|
38
|
-
export declare function asObject(struct:
|
|
39
|
-
[key: string]: any;
|
|
40
|
-
} | undefined): {
|
|
41
|
-
[key: string]: any;
|
|
42
|
-
};
|
|
43
|
+
export declare function asObject(struct: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
43
44
|
/**
|
|
44
45
|
* Convert a Kubernetes object to a protobuf Struct
|
|
45
46
|
* This is used when creating Resource objects from plain JavaScript objects
|
|
46
47
|
*
|
|
48
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
49
|
+
* In TypeScript, this is a pass-through operation since JavaScript objects
|
|
50
|
+
* work directly with the protobuf library. This function may be deprecated
|
|
51
|
+
* in a future version once usage patterns are better understood.
|
|
52
|
+
*
|
|
47
53
|
* @param obj - The plain JavaScript object to convert
|
|
48
54
|
* @returns A protobuf Struct representation
|
|
49
55
|
*/
|
|
50
|
-
export declare function asStruct(obj:
|
|
51
|
-
[key: string]: any;
|
|
52
|
-
}): {
|
|
53
|
-
[key: string]: any;
|
|
54
|
-
};
|
|
56
|
+
export declare function asStruct(obj: Record<string, unknown>): Record<string, unknown>;
|
|
55
57
|
/**
|
|
56
58
|
* Helper function for tests: Convert an object to a Struct, panics on failure
|
|
57
59
|
* Only use this in test code
|
|
58
60
|
*
|
|
61
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
62
|
+
* In TypeScript, this simply calls asStruct() which is a pass-through operation.
|
|
63
|
+
* This function may be deprecated in a future version once usage patterns are
|
|
64
|
+
* better understood.
|
|
65
|
+
*
|
|
59
66
|
* @param obj - The object to convert
|
|
60
67
|
* @returns A Struct representation
|
|
61
68
|
* @throws Error if conversion fails
|
|
62
69
|
*/
|
|
63
|
-
export declare function mustStructObject(obj:
|
|
64
|
-
[key: string]: any;
|
|
65
|
-
}): {
|
|
66
|
-
[key: string]: any;
|
|
67
|
-
};
|
|
70
|
+
export declare function mustStructObject(obj: Record<string, unknown>): Record<string, unknown>;
|
|
68
71
|
/**
|
|
69
72
|
* Helper function for tests: Parse a JSON string into a Struct, panics on failure
|
|
70
73
|
* Only use this in test code
|
|
71
74
|
*
|
|
75
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
76
|
+
* In TypeScript, this parses JSON and calls asStruct() which is a pass-through operation.
|
|
77
|
+
* Consider using JSON.parse() directly. This function may be deprecated in a future
|
|
78
|
+
* version once usage patterns are better understood.
|
|
79
|
+
*
|
|
72
80
|
* @param json - The JSON string to parse
|
|
73
81
|
* @returns A Struct representation
|
|
74
82
|
* @throws Error if parsing or conversion fails
|
|
75
83
|
*/
|
|
76
|
-
export declare function mustStructJSON(json: string):
|
|
77
|
-
[key: string]: any;
|
|
78
|
-
};
|
|
84
|
+
export declare function mustStructJSON(json: string): Record<string, unknown>;
|
|
79
85
|
/**
|
|
80
86
|
* Create a Resource from a plain JavaScript object
|
|
81
87
|
* This is a convenience wrapper around Resource.fromJSON
|
|
@@ -85,9 +91,7 @@ export declare function mustStructJSON(json: string): {
|
|
|
85
91
|
* @param ready - Optional ready status
|
|
86
92
|
* @returns A Resource
|
|
87
93
|
*/
|
|
88
|
-
export declare function fromObject(obj:
|
|
89
|
-
[key: string]: any;
|
|
90
|
-
}, connectionDetails?: ConnectionDetails, ready?: Ready): Resource;
|
|
94
|
+
export declare function fromObject(obj: Record<string, unknown>, connectionDetails?: ConnectionDetails, ready?: Ready): Resource;
|
|
91
95
|
/**
|
|
92
96
|
* Get the resource object from a Resource
|
|
93
97
|
* This extracts the plain JavaScript object from the Resource wrapper
|
|
@@ -95,7 +99,5 @@ export declare function fromObject(obj: {
|
|
|
95
99
|
* @param resource - The Resource to extract from
|
|
96
100
|
* @returns The plain JavaScript object, or undefined if not present
|
|
97
101
|
*/
|
|
98
|
-
export declare function toObject(resource: Resource):
|
|
99
|
-
[key: string]: any;
|
|
100
|
-
} | undefined;
|
|
102
|
+
export declare function toObject(resource: Resource): Record<string, unknown> | undefined;
|
|
101
103
|
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ7F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,KAAK,CAAC,EAAE,KAAK,GACZ,QAAQ,CAMV;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEhF"}
|
|
@@ -13,6 +13,11 @@ export function newDesiredComposed() {
|
|
|
13
13
|
* Convert a protobuf Struct to a Kubernetes object (plain JavaScript object)
|
|
14
14
|
* This is a more efficient conversion that avoids JSON round-trips when possible
|
|
15
15
|
*
|
|
16
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
17
|
+
* In TypeScript, this is a pass-through operation since JavaScript objects
|
|
18
|
+
* work directly with the protobuf library. This function may be deprecated
|
|
19
|
+
* in a future version once usage patterns are better understood.
|
|
20
|
+
*
|
|
16
21
|
* @param struct - The protobuf Struct to convert
|
|
17
22
|
* @returns A plain JavaScript object representing the Kubernetes resource
|
|
18
23
|
*/
|
|
@@ -28,6 +33,11 @@ export function asObject(struct) {
|
|
|
28
33
|
* Convert a Kubernetes object to a protobuf Struct
|
|
29
34
|
* This is used when creating Resource objects from plain JavaScript objects
|
|
30
35
|
*
|
|
36
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
37
|
+
* In TypeScript, this is a pass-through operation since JavaScript objects
|
|
38
|
+
* work directly with the protobuf library. This function may be deprecated
|
|
39
|
+
* in a future version once usage patterns are better understood.
|
|
40
|
+
*
|
|
31
41
|
* @param obj - The plain JavaScript object to convert
|
|
32
42
|
* @returns A protobuf Struct representation
|
|
33
43
|
*/
|
|
@@ -40,6 +50,11 @@ export function asStruct(obj) {
|
|
|
40
50
|
* Helper function for tests: Convert an object to a Struct, panics on failure
|
|
41
51
|
* Only use this in test code
|
|
42
52
|
*
|
|
53
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
54
|
+
* In TypeScript, this simply calls asStruct() which is a pass-through operation.
|
|
55
|
+
* This function may be deprecated in a future version once usage patterns are
|
|
56
|
+
* better understood.
|
|
57
|
+
*
|
|
43
58
|
* @param obj - The object to convert
|
|
44
59
|
* @returns A Struct representation
|
|
45
60
|
* @throws Error if conversion fails
|
|
@@ -56,6 +71,11 @@ export function mustStructObject(obj) {
|
|
|
56
71
|
* Helper function for tests: Parse a JSON string into a Struct, panics on failure
|
|
57
72
|
* Only use this in test code
|
|
58
73
|
*
|
|
74
|
+
* Note: This function is ported from the Go SDK for API compatibility.
|
|
75
|
+
* In TypeScript, this parses JSON and calls asStruct() which is a pass-through operation.
|
|
76
|
+
* Consider using JSON.parse() directly. This function may be deprecated in a future
|
|
77
|
+
* version once usage patterns are better understood.
|
|
78
|
+
*
|
|
59
79
|
* @param json - The JSON string to parse
|
|
60
80
|
* @returns A Struct representation
|
|
61
81
|
* @throws Error if parsing or conversion fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA8B3D;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,KAAK,EAAE,KAAK,CAAC,iBAAiB;KAC/B,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA8B3D;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,KAAK,EAAE,KAAK,CAAC,iBAAiB;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,MAA2C;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,wEAAwE;IACxE,sDAAsD;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,GAA4B;IACnD,uEAAuE;IACvE,oEAAoE;IACpE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAA4B;IAC3D,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,GAA4B,EAC5B,iBAAqC,EACrC,KAAa;IAEb,OAAO,QAAQ,CAAC,QAAQ,CAAC;QACvB,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,iBAAiB,IAAI,EAAE;QAC1C,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB;KAC7D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAkB;IACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC;AAC3B,CAAC"}
|
|
@@ -184,11 +184,7 @@ export declare function setDesiredComposedResources(rsp: RunFunctionResponse, dc
|
|
|
184
184
|
* });
|
|
185
185
|
* ```
|
|
186
186
|
*/
|
|
187
|
-
export declare function setDesiredResources(rsp: RunFunctionResponse, resources:
|
|
188
|
-
[key: string]: {
|
|
189
|
-
[key: string]: any;
|
|
190
|
-
};
|
|
191
|
-
}): RunFunctionResponse;
|
|
187
|
+
export declare function setDesiredResources(rsp: RunFunctionResponse, resources: Record<string, Record<string, unknown>>): RunFunctionResponse;
|
|
192
188
|
/**
|
|
193
189
|
* Update a resource by merging source into target.
|
|
194
190
|
*
|
|
@@ -236,9 +232,7 @@ export declare function update(src: Resource, tgt: Resource): Resource;
|
|
|
236
232
|
*/
|
|
237
233
|
export declare function setDesiredCompositeStatus({ rsp, status, }: {
|
|
238
234
|
rsp: RunFunctionResponse;
|
|
239
|
-
status:
|
|
240
|
-
[key: string]: any;
|
|
241
|
-
};
|
|
235
|
+
status: Record<string, unknown>;
|
|
242
236
|
}): RunFunctionResponse;
|
|
243
237
|
/**
|
|
244
238
|
* Set a context key in the response.
|
|
@@ -259,7 +253,7 @@ export declare function setDesiredCompositeStatus({ rsp, status, }: {
|
|
|
259
253
|
* rsp = setContextKey(rsp, "connection-config", { host: "db.example.com", port: 5432 });
|
|
260
254
|
* ```
|
|
261
255
|
*/
|
|
262
|
-
export declare function setContextKey(rsp: RunFunctionResponse, key: string, value:
|
|
256
|
+
export declare function setContextKey(rsp: RunFunctionResponse, key: string, value: unknown): RunFunctionResponse;
|
|
263
257
|
/**
|
|
264
258
|
* Set the desired composite resource in the response.
|
|
265
259
|
*
|
|
@@ -305,7 +299,5 @@ export declare function setDesiredCompositeResource(rsp: RunFunctionResponse, re
|
|
|
305
299
|
* });
|
|
306
300
|
* ```
|
|
307
301
|
*/
|
|
308
|
-
export declare function setOutput(rsp: RunFunctionResponse, output:
|
|
309
|
-
[key: string]: any;
|
|
310
|
-
}): RunFunctionResponse;
|
|
302
|
+
export declare function setOutput(rsp: RunFunctionResponse, output: Record<string, unknown>): RunFunctionResponse;
|
|
311
303
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EAEnB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAGhE;;;GAGG;AACH,QAAA,MAAM,WAAW,EAAE,QAAoC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAsB/E;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,EAChC,GAAG,EAAE,aAAa,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAG7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAQpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAO/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAOhE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAChC,mBAAmB,CAYrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EAEnB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAGhE;;;GAGG;AACH,QAAA,MAAM,WAAW,EAAE,QAAoC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAsB/E;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,EAChC,GAAG,EAAE,aAAa,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAG7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAQpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAO/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAOhE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAChC,mBAAmB,CAYrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,mBAAmB,CAkBrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAE7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,EACH,MAAM,GACP,EAAE;IACD,GAAG,EAAE,mBAAmB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,GAAG,mBAAmB,CAsBtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,mBAAmB,CAMrB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,KAAK,GACZ,mBAAmB,CAcrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,mBAAmB,CAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossplane-org/function-sdk-typescript",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1-20260224103702-ef31d4b67ab1",
|
|
4
4
|
"description": "A Crossplane Function SDK for Typescript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"crossplane",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
],
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "github.com/
|
|
12
|
+
"url": "https://github.com/crossplane/function-sdk-typescript"
|
|
13
13
|
},
|
|
14
14
|
"license": "Apache-2.0",
|
|
15
15
|
"author": "Steven Borrelli",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { RunFunctionRequest, RunFunctionResponse } from './proto/run_function.js';
|
|
2
|
-
import type { Logger } from 'pino';
|
|
3
|
-
import type { FunctionHandler } from './function/function.js';
|
|
4
|
-
/**
|
|
5
|
-
* ExampleFunction is a sample implementation showing how to use the SDK
|
|
6
|
-
* This creates a Deployment and Pod as example resources
|
|
7
|
-
*/
|
|
8
|
-
export declare class ExampleFunction implements FunctionHandler {
|
|
9
|
-
RunFunction(req: RunFunctionRequest, logger?: Logger): Promise<RunFunctionResponse>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=example-function.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"example-function.d.ts","sourceRoot":"","sources":["../src/example-function.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA+FpF"}
|
package/dist/example-function.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
// Example function implementation demonstrating how to use the SDK
|
|
2
|
-
import { Resource, RunFunctionRequest, RunFunctionResponse } from './proto/run_function.js';
|
|
3
|
-
import { Pod } from 'kubernetes-models/v1';
|
|
4
|
-
import { fatal, normal, setDesiredComposedResources, to } from './response/response.js';
|
|
5
|
-
import { getDesiredComposedResources, getDesiredCompositeResource, getObservedCompositeResource, } from './request/request.js';
|
|
6
|
-
/**
|
|
7
|
-
* ExampleFunction is a sample implementation showing how to use the SDK
|
|
8
|
-
* This creates a Deployment and Pod as example resources
|
|
9
|
-
*/
|
|
10
|
-
export class ExampleFunction {
|
|
11
|
-
RunFunction(req, logger) {
|
|
12
|
-
const startTime = Date.now();
|
|
13
|
-
// Set up a minimal response from the request
|
|
14
|
-
let rsp = to(req);
|
|
15
|
-
try {
|
|
16
|
-
// Get our Observed Composite
|
|
17
|
-
const oxr = getObservedCompositeResource(req);
|
|
18
|
-
logger?.debug({ oxr }, 'Observed composite resource');
|
|
19
|
-
// Get our Desired Composite
|
|
20
|
-
const dxr = getDesiredCompositeResource(req);
|
|
21
|
-
logger?.debug({ dxr }, 'Desired composite resource');
|
|
22
|
-
// List the Desired Composed resources
|
|
23
|
-
const dcds = getDesiredComposedResources(req);
|
|
24
|
-
// Create resource from a JSON object
|
|
25
|
-
dcds['deployment'] = Resource.fromJSON({
|
|
26
|
-
resource: {
|
|
27
|
-
apiVersion: 'apps/v1',
|
|
28
|
-
kind: 'Deployment',
|
|
29
|
-
metadata: {
|
|
30
|
-
name: 'my-deployment',
|
|
31
|
-
namespace: 'foo',
|
|
32
|
-
},
|
|
33
|
-
spec: {
|
|
34
|
-
replicas: 3,
|
|
35
|
-
selector: {
|
|
36
|
-
matchLabels: {
|
|
37
|
-
app: 'my-app',
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
template: {
|
|
41
|
-
metadata: {
|
|
42
|
-
labels: {
|
|
43
|
-
app: 'my-app',
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
spec: {
|
|
47
|
-
containers: [
|
|
48
|
-
{
|
|
49
|
-
name: 'my-container',
|
|
50
|
-
image: 'my-image:latest',
|
|
51
|
-
ports: [
|
|
52
|
-
{
|
|
53
|
-
containerPort: 80,
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
// Create a resource from a Model at https://github.com/tommy351/kubernetes-models-ts
|
|
64
|
-
const pod = new Pod({
|
|
65
|
-
metadata: {
|
|
66
|
-
name: 'pod',
|
|
67
|
-
namespace: 'default',
|
|
68
|
-
},
|
|
69
|
-
spec: {
|
|
70
|
-
containers: [],
|
|
71
|
-
},
|
|
72
|
-
});
|
|
73
|
-
pod.validate();
|
|
74
|
-
dcds['pod'] = Resource.fromJSON({ resource: pod.toJSON() });
|
|
75
|
-
// Merge dcds with existing resources using the response helper
|
|
76
|
-
rsp = setDesiredComposedResources(rsp, dcds);
|
|
77
|
-
const duration = Date.now() - startTime;
|
|
78
|
-
logger?.info({ duration: `${duration}ms` }, 'Function completed successfully');
|
|
79
|
-
normal(rsp, 'processing complete');
|
|
80
|
-
return Promise.resolve(rsp);
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
const duration = Date.now() - startTime;
|
|
84
|
-
logger?.error({
|
|
85
|
-
error: error instanceof Error ? error.message : String(error),
|
|
86
|
-
duration: `${duration}ms`,
|
|
87
|
-
}, 'Function invocation failed');
|
|
88
|
-
fatal(rsp, error instanceof Error ? error.message : String(error));
|
|
89
|
-
return Promise.resolve(rsp);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=example-function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"example-function.js","sourceRoot":"","sources":["../src/example-function.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
DELETED
package/dist/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
|
package/dist/main.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { newGrpcServer, startServer } from './runtime/runtime.js';
|
|
4
|
-
import { pino } from 'pino';
|
|
5
|
-
import { FunctionRunner } from './function/function.js';
|
|
6
|
-
import { ExampleFunction } from './example-function.js';
|
|
7
|
-
// defaultAddress where the function will listen for gRPC connections
|
|
8
|
-
const defaultAddress = '0.0.0.0:9443';
|
|
9
|
-
// defaultTlsServerCertsDir is the directory where the XP package reconciler stores generated TLS certs
|
|
10
|
-
const defaultTlsServerCertsDir = '/tls/server';
|
|
11
|
-
const _logger = pino({
|
|
12
|
-
level: 'info',
|
|
13
|
-
});
|
|
14
|
-
const program = new Command('function-typescript-example')
|
|
15
|
-
.option('--address', 'Address at which to listen for gRPC connections', defaultAddress)
|
|
16
|
-
.option('-d, --debug', 'Emit debug logs.', false)
|
|
17
|
-
.option('--insecure', 'Run without mTLS credentials.', false)
|
|
18
|
-
.option('--tls-server-certs-dir [Directory]', 'Serve using mTLS certificates in this directory. The directory should contain tls.key, tls.crt, and ca.crt files.', defaultTlsServerCertsDir);
|
|
19
|
-
program.parse(process.argv);
|
|
20
|
-
function parseArgs(args) {
|
|
21
|
-
return {
|
|
22
|
-
address: args?.address || defaultAddress,
|
|
23
|
-
debug: args.debug,
|
|
24
|
-
insecure: args.insecure,
|
|
25
|
-
tlsServerCertsDir: args.tlsServerCertsDir,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function main() {
|
|
29
|
-
const args = program.opts();
|
|
30
|
-
const opts = parseArgs(args);
|
|
31
|
-
const logger = pino({
|
|
32
|
-
level: opts?.debug ? 'debug' : 'info',
|
|
33
|
-
formatters: {
|
|
34
|
-
level: (label) => {
|
|
35
|
-
return { severity: label.toUpperCase() };
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
logger.debug({ 'options passed to function': opts });
|
|
40
|
-
try {
|
|
41
|
-
// Create an instance of your function implementation
|
|
42
|
-
// This is an example - users would replace ExampleFunction with their own implementation
|
|
43
|
-
const exampleFunction = new ExampleFunction();
|
|
44
|
-
// Create the function runner with your handler
|
|
45
|
-
const fnRunner = new FunctionRunner(exampleFunction, logger);
|
|
46
|
-
// Create and start the gRPC server
|
|
47
|
-
const server = newGrpcServer(fnRunner, logger);
|
|
48
|
-
startServer(server, opts, logger);
|
|
49
|
-
// Keep the process running to handle gRPC requests
|
|
50
|
-
process.on('SIGINT', () => {
|
|
51
|
-
logger.info('shutting down gracefully...');
|
|
52
|
-
server.tryShutdown((err) => {
|
|
53
|
-
if (err) {
|
|
54
|
-
logger.error(err, 'error during shutdown');
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
logger.info('server shut down successfully');
|
|
58
|
-
process.exit(0);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
logger.error(err);
|
|
64
|
-
process.exit(-1);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
main();
|
|
68
|
-
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,qEAAqE;AACrE,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,uGAAuG;AACvG,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAE/C,MAAM,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,6BAA6B,CAAC;KACvD,MAAM,CAAC,WAAW,EAAE,iDAAiD,EAAE,cAAc,CAAC;KACtF,MAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,CAAC;KAChD,MAAM,CAAC,YAAY,EAAE,+BAA+B,EAAE,KAAK,CAAC;KAC5D,MAAM,CACL,oCAAoC,EACpC,mHAAmH,EACnH,wBAAwB,CACzB,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,SAAS,SAAS,CAAC,IAAkB;IACnC,OAAO;QACL,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,cAAc;QACxC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,IAAI;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,IAAI,CAAC;QAClB,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QACrC,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,CAAC;SACF;KACF,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,qDAAqD;QACrD,yFAAyF;QACzF,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE9C,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAE7D,mCAAmC;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAElC,mDAAmD;QACnD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|