@crowdstrike/aidr 1.0.2
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/.editorconfig +9 -0
- package/.github/CODEOWNERS +1 -0
- package/.github/workflows/ci.yml +128 -0
- package/.pnpmfile.cjs +17 -0
- package/.releaserc.json +21 -0
- package/LICENSE.txt +21 -0
- package/README.md +3 -0
- package/biome.json +67 -0
- package/dist/chunk.cjs +34 -0
- package/dist/index.cjs +356 -0
- package/dist/index.d.cts +2347 -0
- package/dist/index.d.mts +2347 -0
- package/dist/index.mjs +354 -0
- package/dist/schemas/ai-guard.cjs +1000 -0
- package/dist/schemas/ai-guard.d.cts +1232 -0
- package/dist/schemas/ai-guard.d.mts +1232 -0
- package/dist/schemas/ai-guard.mjs +907 -0
- package/dist/schemas/index.cjs +7 -0
- package/dist/schemas/index.d.cts +64 -0
- package/dist/schemas/index.d.mts +64 -0
- package/dist/schemas/index.mjs +3 -0
- package/dist/schemas.cjs +139 -0
- package/dist/schemas.mjs +108 -0
- package/flake.lock +59 -0
- package/flake.nix +26 -0
- package/openapi-ts.config.ts +15 -0
- package/package.json +55 -0
- package/pnpm-workspace.yaml +3 -0
- package/scripts/generate-models +15 -0
- package/scripts/test +10 -0
- package/specs/ai-guard.openapi.json +3721 -0
- package/src/client.ts +441 -0
- package/src/core/error.ts +78 -0
- package/src/index.ts +2 -0
- package/src/internal/builtin-types.ts +18 -0
- package/src/internal/errors.ts +34 -0
- package/src/internal/headers.ts +100 -0
- package/src/internal/parse.ts +30 -0
- package/src/internal/request-options.ts +57 -0
- package/src/internal/types.ts +3 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/values.ts +38 -0
- package/src/schemas/ai-guard.ts +1215 -0
- package/src/schemas/index.ts +114 -0
- package/src/services/ai-guard.ts +27 -0
- package/src/types/ai-guard.ts +2276 -0
- package/src/types/index.ts +161 -0
- package/tests/ai-guard.test.ts +29 -0
- package/tsconfig.json +26 -0
- package/tsdown.config.mts +14 -0
- package/vitest.config.mts +4 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_schemas = require('../schemas.cjs');
|
|
2
|
+
|
|
3
|
+
exports.APIResponseSchema = require_schemas.APIResponseSchema;
|
|
4
|
+
exports.AcceptedResponseSchema = require_schemas.AcceptedResponseSchema;
|
|
5
|
+
exports.ErrorCodeSchema = require_schemas.ErrorCodeSchema;
|
|
6
|
+
exports.ErrorResponseSchema = require_schemas.ErrorResponseSchema;
|
|
7
|
+
exports.SuccessResponseSchema = require_schemas.SuccessResponseSchema;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
|
|
3
|
+
//#region src/schemas/index.d.ts
|
|
4
|
+
declare const ErrorCodeSchema: v.PicklistSchema<["FieldRequired", "InvalidString", "InvalidNumber", "InvalidInteger", "InvalidObject", "InvalidArray", "InvalidNull", "InvalidBool", "BadFormat", "BadFormatPangeaDuration", "BadFormatDateTime", "BadFormatTime", "BadFormatDate", "BadFormatEmail", "BadFormatHostname", "BadFormatIPv4", "BadFormatIPv6", "BadFormatIPAddress", "BadFormatUUID", "BadFormatURI", "BadFormatURIReference", "BadFormatIRI", "BadFormatIRIReference", "BadFormatJSONPointer", "BadFormatRelativeJSONPointer", "BadFormatRegex", "BadFormatJSONPath", "BadFormatBase64", "DoesNotMatchPattern", "DoesNotMatchPatternProperties", "NotEnumMember", "AboveMaxLength", "BelowMinLength", "AboveMaxItems", "BelowMinItems", "NotMultipleOf", "NotWithinRange", "UnexpectedProperty", "InvalidPropertyName", "AboveMaxProperties", "BelowMinProperties", "NotContains", "ContainsTooMany", "ContainsTooFew", "ItemNotUnique", "UnexpectedAdditionalItem", "InvalidConst", "IsDependentOn", "IsTooBig", "IsTooSmall", "ShouldNotBeValid", "NoUnevaluatedItems", "NoUnevaluatedProperties", "DoesNotExist", "IsReadOnly", "CannotAddToDefault", "MustProvideOne", "MutuallyExclusive", "BadState", "InaccessibleURI", "ProviderDisabled", "ConfigProjectMismatch", "ConfigServiceMismatch", "ConfigNotExist"], undefined>;
|
|
5
|
+
declare const AcceptedResponseSchema: v.ObjectSchema<{
|
|
6
|
+
readonly status: v.LiteralSchema<"Accepted", undefined>;
|
|
7
|
+
readonly result: v.ObjectSchema<{
|
|
8
|
+
readonly ttl_mins: v.NumberSchema<undefined>;
|
|
9
|
+
readonly retry_counter: v.NumberSchema<undefined>;
|
|
10
|
+
readonly location: v.StringSchema<undefined>;
|
|
11
|
+
}, undefined>;
|
|
12
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
13
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
14
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
15
|
+
}, undefined>;
|
|
16
|
+
declare const ErrorResponseSchema: v.ObjectSchema<{
|
|
17
|
+
readonly status: v.StringSchema<undefined>;
|
|
18
|
+
readonly result: v.NullableSchema<v.ArraySchema<v.ObjectSchema<{
|
|
19
|
+
readonly code: v.PicklistSchema<["FieldRequired", "InvalidString", "InvalidNumber", "InvalidInteger", "InvalidObject", "InvalidArray", "InvalidNull", "InvalidBool", "BadFormat", "BadFormatPangeaDuration", "BadFormatDateTime", "BadFormatTime", "BadFormatDate", "BadFormatEmail", "BadFormatHostname", "BadFormatIPv4", "BadFormatIPv6", "BadFormatIPAddress", "BadFormatUUID", "BadFormatURI", "BadFormatURIReference", "BadFormatIRI", "BadFormatIRIReference", "BadFormatJSONPointer", "BadFormatRelativeJSONPointer", "BadFormatRegex", "BadFormatJSONPath", "BadFormatBase64", "DoesNotMatchPattern", "DoesNotMatchPatternProperties", "NotEnumMember", "AboveMaxLength", "BelowMinLength", "AboveMaxItems", "BelowMinItems", "NotMultipleOf", "NotWithinRange", "UnexpectedProperty", "InvalidPropertyName", "AboveMaxProperties", "BelowMinProperties", "NotContains", "ContainsTooMany", "ContainsTooFew", "ItemNotUnique", "UnexpectedAdditionalItem", "InvalidConst", "IsDependentOn", "IsTooBig", "IsTooSmall", "ShouldNotBeValid", "NoUnevaluatedItems", "NoUnevaluatedProperties", "DoesNotExist", "IsReadOnly", "CannotAddToDefault", "MustProvideOne", "MutuallyExclusive", "BadState", "InaccessibleURI", "ProviderDisabled", "ConfigProjectMismatch", "ConfigServiceMismatch", "ConfigNotExist"], undefined>;
|
|
20
|
+
readonly detail: v.StringSchema<undefined>;
|
|
21
|
+
readonly source: v.StringSchema<undefined>;
|
|
22
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
23
|
+
}, undefined>, undefined>, undefined>;
|
|
24
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
25
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
26
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
27
|
+
}, undefined>;
|
|
28
|
+
declare const SuccessResponseSchema: <T extends v.GenericSchema>(resultSchema: T) => v.ObjectSchema<{
|
|
29
|
+
readonly status: v.LiteralSchema<"Success", undefined>;
|
|
30
|
+
readonly result: T;
|
|
31
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
32
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
33
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
34
|
+
}, undefined>;
|
|
35
|
+
declare const APIResponseSchema: <T extends v.GenericSchema>(resultSchema: T) => v.UnionSchema<[v.ObjectSchema<{
|
|
36
|
+
readonly status: v.LiteralSchema<"Accepted", undefined>;
|
|
37
|
+
readonly result: v.ObjectSchema<{
|
|
38
|
+
readonly ttl_mins: v.NumberSchema<undefined>;
|
|
39
|
+
readonly retry_counter: v.NumberSchema<undefined>;
|
|
40
|
+
readonly location: v.StringSchema<undefined>;
|
|
41
|
+
}, undefined>;
|
|
42
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
43
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
44
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
45
|
+
}, undefined>, v.ObjectSchema<{
|
|
46
|
+
readonly status: v.LiteralSchema<"Success", undefined>;
|
|
47
|
+
readonly result: T;
|
|
48
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
49
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
50
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
51
|
+
}, undefined>, v.ObjectSchema<{
|
|
52
|
+
readonly status: v.StringSchema<undefined>;
|
|
53
|
+
readonly result: v.NullableSchema<v.ArraySchema<v.ObjectSchema<{
|
|
54
|
+
readonly code: v.PicklistSchema<["FieldRequired", "InvalidString", "InvalidNumber", "InvalidInteger", "InvalidObject", "InvalidArray", "InvalidNull", "InvalidBool", "BadFormat", "BadFormatPangeaDuration", "BadFormatDateTime", "BadFormatTime", "BadFormatDate", "BadFormatEmail", "BadFormatHostname", "BadFormatIPv4", "BadFormatIPv6", "BadFormatIPAddress", "BadFormatUUID", "BadFormatURI", "BadFormatURIReference", "BadFormatIRI", "BadFormatIRIReference", "BadFormatJSONPointer", "BadFormatRelativeJSONPointer", "BadFormatRegex", "BadFormatJSONPath", "BadFormatBase64", "DoesNotMatchPattern", "DoesNotMatchPatternProperties", "NotEnumMember", "AboveMaxLength", "BelowMinLength", "AboveMaxItems", "BelowMinItems", "NotMultipleOf", "NotWithinRange", "UnexpectedProperty", "InvalidPropertyName", "AboveMaxProperties", "BelowMinProperties", "NotContains", "ContainsTooMany", "ContainsTooFew", "ItemNotUnique", "UnexpectedAdditionalItem", "InvalidConst", "IsDependentOn", "IsTooBig", "IsTooSmall", "ShouldNotBeValid", "NoUnevaluatedItems", "NoUnevaluatedProperties", "DoesNotExist", "IsReadOnly", "CannotAddToDefault", "MustProvideOne", "MutuallyExclusive", "BadState", "InaccessibleURI", "ProviderDisabled", "ConfigProjectMismatch", "ConfigServiceMismatch", "ConfigNotExist"], undefined>;
|
|
55
|
+
readonly detail: v.StringSchema<undefined>;
|
|
56
|
+
readonly source: v.StringSchema<undefined>;
|
|
57
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
58
|
+
}, undefined>, undefined>, undefined>;
|
|
59
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
60
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
61
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
62
|
+
}, undefined>], undefined>;
|
|
63
|
+
//#endregion
|
|
64
|
+
export { APIResponseSchema, AcceptedResponseSchema, ErrorCodeSchema, ErrorResponseSchema, SuccessResponseSchema };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
|
|
3
|
+
//#region src/schemas/index.d.ts
|
|
4
|
+
declare const ErrorCodeSchema: v.PicklistSchema<["FieldRequired", "InvalidString", "InvalidNumber", "InvalidInteger", "InvalidObject", "InvalidArray", "InvalidNull", "InvalidBool", "BadFormat", "BadFormatPangeaDuration", "BadFormatDateTime", "BadFormatTime", "BadFormatDate", "BadFormatEmail", "BadFormatHostname", "BadFormatIPv4", "BadFormatIPv6", "BadFormatIPAddress", "BadFormatUUID", "BadFormatURI", "BadFormatURIReference", "BadFormatIRI", "BadFormatIRIReference", "BadFormatJSONPointer", "BadFormatRelativeJSONPointer", "BadFormatRegex", "BadFormatJSONPath", "BadFormatBase64", "DoesNotMatchPattern", "DoesNotMatchPatternProperties", "NotEnumMember", "AboveMaxLength", "BelowMinLength", "AboveMaxItems", "BelowMinItems", "NotMultipleOf", "NotWithinRange", "UnexpectedProperty", "InvalidPropertyName", "AboveMaxProperties", "BelowMinProperties", "NotContains", "ContainsTooMany", "ContainsTooFew", "ItemNotUnique", "UnexpectedAdditionalItem", "InvalidConst", "IsDependentOn", "IsTooBig", "IsTooSmall", "ShouldNotBeValid", "NoUnevaluatedItems", "NoUnevaluatedProperties", "DoesNotExist", "IsReadOnly", "CannotAddToDefault", "MustProvideOne", "MutuallyExclusive", "BadState", "InaccessibleURI", "ProviderDisabled", "ConfigProjectMismatch", "ConfigServiceMismatch", "ConfigNotExist"], undefined>;
|
|
5
|
+
declare const AcceptedResponseSchema: v.ObjectSchema<{
|
|
6
|
+
readonly status: v.LiteralSchema<"Accepted", undefined>;
|
|
7
|
+
readonly result: v.ObjectSchema<{
|
|
8
|
+
readonly ttl_mins: v.NumberSchema<undefined>;
|
|
9
|
+
readonly retry_counter: v.NumberSchema<undefined>;
|
|
10
|
+
readonly location: v.StringSchema<undefined>;
|
|
11
|
+
}, undefined>;
|
|
12
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
13
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
14
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
15
|
+
}, undefined>;
|
|
16
|
+
declare const ErrorResponseSchema: v.ObjectSchema<{
|
|
17
|
+
readonly status: v.StringSchema<undefined>;
|
|
18
|
+
readonly result: v.NullableSchema<v.ArraySchema<v.ObjectSchema<{
|
|
19
|
+
readonly code: v.PicklistSchema<["FieldRequired", "InvalidString", "InvalidNumber", "InvalidInteger", "InvalidObject", "InvalidArray", "InvalidNull", "InvalidBool", "BadFormat", "BadFormatPangeaDuration", "BadFormatDateTime", "BadFormatTime", "BadFormatDate", "BadFormatEmail", "BadFormatHostname", "BadFormatIPv4", "BadFormatIPv6", "BadFormatIPAddress", "BadFormatUUID", "BadFormatURI", "BadFormatURIReference", "BadFormatIRI", "BadFormatIRIReference", "BadFormatJSONPointer", "BadFormatRelativeJSONPointer", "BadFormatRegex", "BadFormatJSONPath", "BadFormatBase64", "DoesNotMatchPattern", "DoesNotMatchPatternProperties", "NotEnumMember", "AboveMaxLength", "BelowMinLength", "AboveMaxItems", "BelowMinItems", "NotMultipleOf", "NotWithinRange", "UnexpectedProperty", "InvalidPropertyName", "AboveMaxProperties", "BelowMinProperties", "NotContains", "ContainsTooMany", "ContainsTooFew", "ItemNotUnique", "UnexpectedAdditionalItem", "InvalidConst", "IsDependentOn", "IsTooBig", "IsTooSmall", "ShouldNotBeValid", "NoUnevaluatedItems", "NoUnevaluatedProperties", "DoesNotExist", "IsReadOnly", "CannotAddToDefault", "MustProvideOne", "MutuallyExclusive", "BadState", "InaccessibleURI", "ProviderDisabled", "ConfigProjectMismatch", "ConfigServiceMismatch", "ConfigNotExist"], undefined>;
|
|
20
|
+
readonly detail: v.StringSchema<undefined>;
|
|
21
|
+
readonly source: v.StringSchema<undefined>;
|
|
22
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
23
|
+
}, undefined>, undefined>, undefined>;
|
|
24
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
25
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
26
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
27
|
+
}, undefined>;
|
|
28
|
+
declare const SuccessResponseSchema: <T extends v.GenericSchema>(resultSchema: T) => v.ObjectSchema<{
|
|
29
|
+
readonly status: v.LiteralSchema<"Success", undefined>;
|
|
30
|
+
readonly result: T;
|
|
31
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
32
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
33
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
34
|
+
}, undefined>;
|
|
35
|
+
declare const APIResponseSchema: <T extends v.GenericSchema>(resultSchema: T) => v.UnionSchema<[v.ObjectSchema<{
|
|
36
|
+
readonly status: v.LiteralSchema<"Accepted", undefined>;
|
|
37
|
+
readonly result: v.ObjectSchema<{
|
|
38
|
+
readonly ttl_mins: v.NumberSchema<undefined>;
|
|
39
|
+
readonly retry_counter: v.NumberSchema<undefined>;
|
|
40
|
+
readonly location: v.StringSchema<undefined>;
|
|
41
|
+
}, undefined>;
|
|
42
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
43
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
44
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
45
|
+
}, undefined>, v.ObjectSchema<{
|
|
46
|
+
readonly status: v.LiteralSchema<"Success", undefined>;
|
|
47
|
+
readonly result: T;
|
|
48
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
49
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
50
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
51
|
+
}, undefined>, v.ObjectSchema<{
|
|
52
|
+
readonly status: v.StringSchema<undefined>;
|
|
53
|
+
readonly result: v.NullableSchema<v.ArraySchema<v.ObjectSchema<{
|
|
54
|
+
readonly code: v.PicklistSchema<["FieldRequired", "InvalidString", "InvalidNumber", "InvalidInteger", "InvalidObject", "InvalidArray", "InvalidNull", "InvalidBool", "BadFormat", "BadFormatPangeaDuration", "BadFormatDateTime", "BadFormatTime", "BadFormatDate", "BadFormatEmail", "BadFormatHostname", "BadFormatIPv4", "BadFormatIPv6", "BadFormatIPAddress", "BadFormatUUID", "BadFormatURI", "BadFormatURIReference", "BadFormatIRI", "BadFormatIRIReference", "BadFormatJSONPointer", "BadFormatRelativeJSONPointer", "BadFormatRegex", "BadFormatJSONPath", "BadFormatBase64", "DoesNotMatchPattern", "DoesNotMatchPatternProperties", "NotEnumMember", "AboveMaxLength", "BelowMinLength", "AboveMaxItems", "BelowMinItems", "NotMultipleOf", "NotWithinRange", "UnexpectedProperty", "InvalidPropertyName", "AboveMaxProperties", "BelowMinProperties", "NotContains", "ContainsTooMany", "ContainsTooFew", "ItemNotUnique", "UnexpectedAdditionalItem", "InvalidConst", "IsDependentOn", "IsTooBig", "IsTooSmall", "ShouldNotBeValid", "NoUnevaluatedItems", "NoUnevaluatedProperties", "DoesNotExist", "IsReadOnly", "CannotAddToDefault", "MustProvideOne", "MutuallyExclusive", "BadState", "InaccessibleURI", "ProviderDisabled", "ConfigProjectMismatch", "ConfigServiceMismatch", "ConfigNotExist"], undefined>;
|
|
55
|
+
readonly detail: v.StringSchema<undefined>;
|
|
56
|
+
readonly source: v.StringSchema<undefined>;
|
|
57
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
58
|
+
}, undefined>, undefined>, undefined>;
|
|
59
|
+
readonly request_id: v.StringSchema<undefined>;
|
|
60
|
+
readonly request_time: v.StringSchema<undefined>;
|
|
61
|
+
readonly response_time: v.StringSchema<undefined>;
|
|
62
|
+
}, undefined>], undefined>;
|
|
63
|
+
//#endregion
|
|
64
|
+
export { APIResponseSchema, AcceptedResponseSchema, ErrorCodeSchema, ErrorResponseSchema, SuccessResponseSchema };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as SuccessResponseSchema, i as ErrorResponseSchema, n as AcceptedResponseSchema, r as ErrorCodeSchema, t as APIResponseSchema } from "../schemas.mjs";
|
|
2
|
+
|
|
3
|
+
export { APIResponseSchema, AcceptedResponseSchema, ErrorCodeSchema, ErrorResponseSchema, SuccessResponseSchema };
|
package/dist/schemas.cjs
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
const require_chunk = require('./chunk.cjs');
|
|
2
|
+
let valibot = require("valibot");
|
|
3
|
+
valibot = require_chunk.__toESM(valibot);
|
|
4
|
+
|
|
5
|
+
//#region src/schemas/index.ts
|
|
6
|
+
const BaseAPIResponseSchema = {
|
|
7
|
+
request_id: valibot.string(),
|
|
8
|
+
request_time: valibot.string(),
|
|
9
|
+
response_time: valibot.string(),
|
|
10
|
+
status: valibot.string()
|
|
11
|
+
};
|
|
12
|
+
const ErrorCodeSchema = valibot.picklist([
|
|
13
|
+
"FieldRequired",
|
|
14
|
+
"InvalidString",
|
|
15
|
+
"InvalidNumber",
|
|
16
|
+
"InvalidInteger",
|
|
17
|
+
"InvalidObject",
|
|
18
|
+
"InvalidArray",
|
|
19
|
+
"InvalidNull",
|
|
20
|
+
"InvalidBool",
|
|
21
|
+
"BadFormat",
|
|
22
|
+
"BadFormatPangeaDuration",
|
|
23
|
+
"BadFormatDateTime",
|
|
24
|
+
"BadFormatTime",
|
|
25
|
+
"BadFormatDate",
|
|
26
|
+
"BadFormatEmail",
|
|
27
|
+
"BadFormatHostname",
|
|
28
|
+
"BadFormatIPv4",
|
|
29
|
+
"BadFormatIPv6",
|
|
30
|
+
"BadFormatIPAddress",
|
|
31
|
+
"BadFormatUUID",
|
|
32
|
+
"BadFormatURI",
|
|
33
|
+
"BadFormatURIReference",
|
|
34
|
+
"BadFormatIRI",
|
|
35
|
+
"BadFormatIRIReference",
|
|
36
|
+
"BadFormatJSONPointer",
|
|
37
|
+
"BadFormatRelativeJSONPointer",
|
|
38
|
+
"BadFormatRegex",
|
|
39
|
+
"BadFormatJSONPath",
|
|
40
|
+
"BadFormatBase64",
|
|
41
|
+
"DoesNotMatchPattern",
|
|
42
|
+
"DoesNotMatchPatternProperties",
|
|
43
|
+
"NotEnumMember",
|
|
44
|
+
"AboveMaxLength",
|
|
45
|
+
"BelowMinLength",
|
|
46
|
+
"AboveMaxItems",
|
|
47
|
+
"BelowMinItems",
|
|
48
|
+
"NotMultipleOf",
|
|
49
|
+
"NotWithinRange",
|
|
50
|
+
"UnexpectedProperty",
|
|
51
|
+
"InvalidPropertyName",
|
|
52
|
+
"AboveMaxProperties",
|
|
53
|
+
"BelowMinProperties",
|
|
54
|
+
"NotContains",
|
|
55
|
+
"ContainsTooMany",
|
|
56
|
+
"ContainsTooFew",
|
|
57
|
+
"ItemNotUnique",
|
|
58
|
+
"UnexpectedAdditionalItem",
|
|
59
|
+
"InvalidConst",
|
|
60
|
+
"IsDependentOn",
|
|
61
|
+
"IsTooBig",
|
|
62
|
+
"IsTooSmall",
|
|
63
|
+
"ShouldNotBeValid",
|
|
64
|
+
"NoUnevaluatedItems",
|
|
65
|
+
"NoUnevaluatedProperties",
|
|
66
|
+
"DoesNotExist",
|
|
67
|
+
"IsReadOnly",
|
|
68
|
+
"CannotAddToDefault",
|
|
69
|
+
"MustProvideOne",
|
|
70
|
+
"MutuallyExclusive",
|
|
71
|
+
"BadState",
|
|
72
|
+
"InaccessibleURI",
|
|
73
|
+
"ProviderDisabled",
|
|
74
|
+
"ConfigProjectMismatch",
|
|
75
|
+
"ConfigServiceMismatch",
|
|
76
|
+
"ConfigNotExist"
|
|
77
|
+
]);
|
|
78
|
+
const ErrorDetailSchema = valibot.object({
|
|
79
|
+
code: ErrorCodeSchema,
|
|
80
|
+
detail: valibot.string(),
|
|
81
|
+
source: valibot.string(),
|
|
82
|
+
path: valibot.optional(valibot.string())
|
|
83
|
+
});
|
|
84
|
+
const AcceptedResponseSchema = valibot.object({
|
|
85
|
+
...BaseAPIResponseSchema,
|
|
86
|
+
status: valibot.literal("Accepted"),
|
|
87
|
+
result: valibot.object({
|
|
88
|
+
ttl_mins: valibot.number(),
|
|
89
|
+
retry_counter: valibot.number(),
|
|
90
|
+
location: valibot.string()
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
const ErrorResponseSchema = valibot.object({
|
|
94
|
+
...BaseAPIResponseSchema,
|
|
95
|
+
status: valibot.string(),
|
|
96
|
+
result: valibot.nullable(valibot.array(ErrorDetailSchema))
|
|
97
|
+
});
|
|
98
|
+
const SuccessResponseSchema = (resultSchema) => valibot.object({
|
|
99
|
+
...BaseAPIResponseSchema,
|
|
100
|
+
status: valibot.literal("Success"),
|
|
101
|
+
result: resultSchema
|
|
102
|
+
});
|
|
103
|
+
const APIResponseSchema = (resultSchema) => valibot.union([
|
|
104
|
+
AcceptedResponseSchema,
|
|
105
|
+
SuccessResponseSchema(resultSchema),
|
|
106
|
+
ErrorResponseSchema
|
|
107
|
+
]);
|
|
108
|
+
|
|
109
|
+
//#endregion
|
|
110
|
+
Object.defineProperty(exports, 'APIResponseSchema', {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
get: function () {
|
|
113
|
+
return APIResponseSchema;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
Object.defineProperty(exports, 'AcceptedResponseSchema', {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function () {
|
|
119
|
+
return AcceptedResponseSchema;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(exports, 'ErrorCodeSchema', {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function () {
|
|
125
|
+
return ErrorCodeSchema;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, 'ErrorResponseSchema', {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function () {
|
|
131
|
+
return ErrorResponseSchema;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(exports, 'SuccessResponseSchema', {
|
|
135
|
+
enumerable: true,
|
|
136
|
+
get: function () {
|
|
137
|
+
return SuccessResponseSchema;
|
|
138
|
+
}
|
|
139
|
+
});
|
package/dist/schemas.mjs
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
|
|
3
|
+
//#region src/schemas/index.ts
|
|
4
|
+
const BaseAPIResponseSchema = {
|
|
5
|
+
request_id: v.string(),
|
|
6
|
+
request_time: v.string(),
|
|
7
|
+
response_time: v.string(),
|
|
8
|
+
status: v.string()
|
|
9
|
+
};
|
|
10
|
+
const ErrorCodeSchema = v.picklist([
|
|
11
|
+
"FieldRequired",
|
|
12
|
+
"InvalidString",
|
|
13
|
+
"InvalidNumber",
|
|
14
|
+
"InvalidInteger",
|
|
15
|
+
"InvalidObject",
|
|
16
|
+
"InvalidArray",
|
|
17
|
+
"InvalidNull",
|
|
18
|
+
"InvalidBool",
|
|
19
|
+
"BadFormat",
|
|
20
|
+
"BadFormatPangeaDuration",
|
|
21
|
+
"BadFormatDateTime",
|
|
22
|
+
"BadFormatTime",
|
|
23
|
+
"BadFormatDate",
|
|
24
|
+
"BadFormatEmail",
|
|
25
|
+
"BadFormatHostname",
|
|
26
|
+
"BadFormatIPv4",
|
|
27
|
+
"BadFormatIPv6",
|
|
28
|
+
"BadFormatIPAddress",
|
|
29
|
+
"BadFormatUUID",
|
|
30
|
+
"BadFormatURI",
|
|
31
|
+
"BadFormatURIReference",
|
|
32
|
+
"BadFormatIRI",
|
|
33
|
+
"BadFormatIRIReference",
|
|
34
|
+
"BadFormatJSONPointer",
|
|
35
|
+
"BadFormatRelativeJSONPointer",
|
|
36
|
+
"BadFormatRegex",
|
|
37
|
+
"BadFormatJSONPath",
|
|
38
|
+
"BadFormatBase64",
|
|
39
|
+
"DoesNotMatchPattern",
|
|
40
|
+
"DoesNotMatchPatternProperties",
|
|
41
|
+
"NotEnumMember",
|
|
42
|
+
"AboveMaxLength",
|
|
43
|
+
"BelowMinLength",
|
|
44
|
+
"AboveMaxItems",
|
|
45
|
+
"BelowMinItems",
|
|
46
|
+
"NotMultipleOf",
|
|
47
|
+
"NotWithinRange",
|
|
48
|
+
"UnexpectedProperty",
|
|
49
|
+
"InvalidPropertyName",
|
|
50
|
+
"AboveMaxProperties",
|
|
51
|
+
"BelowMinProperties",
|
|
52
|
+
"NotContains",
|
|
53
|
+
"ContainsTooMany",
|
|
54
|
+
"ContainsTooFew",
|
|
55
|
+
"ItemNotUnique",
|
|
56
|
+
"UnexpectedAdditionalItem",
|
|
57
|
+
"InvalidConst",
|
|
58
|
+
"IsDependentOn",
|
|
59
|
+
"IsTooBig",
|
|
60
|
+
"IsTooSmall",
|
|
61
|
+
"ShouldNotBeValid",
|
|
62
|
+
"NoUnevaluatedItems",
|
|
63
|
+
"NoUnevaluatedProperties",
|
|
64
|
+
"DoesNotExist",
|
|
65
|
+
"IsReadOnly",
|
|
66
|
+
"CannotAddToDefault",
|
|
67
|
+
"MustProvideOne",
|
|
68
|
+
"MutuallyExclusive",
|
|
69
|
+
"BadState",
|
|
70
|
+
"InaccessibleURI",
|
|
71
|
+
"ProviderDisabled",
|
|
72
|
+
"ConfigProjectMismatch",
|
|
73
|
+
"ConfigServiceMismatch",
|
|
74
|
+
"ConfigNotExist"
|
|
75
|
+
]);
|
|
76
|
+
const ErrorDetailSchema = v.object({
|
|
77
|
+
code: ErrorCodeSchema,
|
|
78
|
+
detail: v.string(),
|
|
79
|
+
source: v.string(),
|
|
80
|
+
path: v.optional(v.string())
|
|
81
|
+
});
|
|
82
|
+
const AcceptedResponseSchema = v.object({
|
|
83
|
+
...BaseAPIResponseSchema,
|
|
84
|
+
status: v.literal("Accepted"),
|
|
85
|
+
result: v.object({
|
|
86
|
+
ttl_mins: v.number(),
|
|
87
|
+
retry_counter: v.number(),
|
|
88
|
+
location: v.string()
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
const ErrorResponseSchema = v.object({
|
|
92
|
+
...BaseAPIResponseSchema,
|
|
93
|
+
status: v.string(),
|
|
94
|
+
result: v.nullable(v.array(ErrorDetailSchema))
|
|
95
|
+
});
|
|
96
|
+
const SuccessResponseSchema = (resultSchema) => v.object({
|
|
97
|
+
...BaseAPIResponseSchema,
|
|
98
|
+
status: v.literal("Success"),
|
|
99
|
+
result: resultSchema
|
|
100
|
+
});
|
|
101
|
+
const APIResponseSchema = (resultSchema) => v.union([
|
|
102
|
+
AcceptedResponseSchema,
|
|
103
|
+
SuccessResponseSchema(resultSchema),
|
|
104
|
+
ErrorResponseSchema
|
|
105
|
+
]);
|
|
106
|
+
|
|
107
|
+
//#endregion
|
|
108
|
+
export { SuccessResponseSchema as a, ErrorResponseSchema as i, AcceptedResponseSchema as n, ErrorCodeSchema as r, APIResponseSchema as t };
|
package/flake.lock
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"nodes": {
|
|
3
|
+
"flake-utils": {
|
|
4
|
+
"inputs": {
|
|
5
|
+
"systems": "systems"
|
|
6
|
+
},
|
|
7
|
+
"locked": {
|
|
8
|
+
"lastModified": 1731533236,
|
|
9
|
+
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
10
|
+
"owner": "numtide",
|
|
11
|
+
"repo": "flake-utils",
|
|
12
|
+
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
13
|
+
"type": "github"
|
|
14
|
+
},
|
|
15
|
+
"original": {
|
|
16
|
+
"owner": "numtide",
|
|
17
|
+
"repo": "flake-utils",
|
|
18
|
+
"type": "github"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"nixpkgs": {
|
|
22
|
+
"locked": {
|
|
23
|
+
"lastModified": 1764517877,
|
|
24
|
+
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
|
25
|
+
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
|
26
|
+
"revCount": 904649,
|
|
27
|
+
"type": "tarball",
|
|
28
|
+
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.904649%2Brev-2d293cbfa5a793b4c50d17c05ef9e385b90edf6c/019ad7f2-e8f3-79e9-ad92-dd7a45c069d3/source.tar.gz"
|
|
29
|
+
},
|
|
30
|
+
"original": {
|
|
31
|
+
"type": "tarball",
|
|
32
|
+
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"root": {
|
|
36
|
+
"inputs": {
|
|
37
|
+
"flake-utils": "flake-utils",
|
|
38
|
+
"nixpkgs": "nixpkgs"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"systems": {
|
|
42
|
+
"locked": {
|
|
43
|
+
"lastModified": 1681028828,
|
|
44
|
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
45
|
+
"owner": "nix-systems",
|
|
46
|
+
"repo": "default",
|
|
47
|
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
48
|
+
"type": "github"
|
|
49
|
+
},
|
|
50
|
+
"original": {
|
|
51
|
+
"owner": "nix-systems",
|
|
52
|
+
"repo": "default",
|
|
53
|
+
"type": "github"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"root": "root",
|
|
58
|
+
"version": 7
|
|
59
|
+
}
|
package/flake.nix
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
inputs = {
|
|
3
|
+
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1";
|
|
4
|
+
flake-utils.url = "github:numtide/flake-utils";
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
outputs = {
|
|
8
|
+
self,
|
|
9
|
+
nixpkgs,
|
|
10
|
+
flake-utils,
|
|
11
|
+
}:
|
|
12
|
+
flake-utils.lib.simpleFlake {
|
|
13
|
+
inherit self nixpkgs;
|
|
14
|
+
name = "aidr-typescript";
|
|
15
|
+
shell = {pkgs ? import <nixpkgs>}:
|
|
16
|
+
pkgs.mkShellNoCC {
|
|
17
|
+
packages = with pkgs; [
|
|
18
|
+
pnpm
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
env = {};
|
|
22
|
+
|
|
23
|
+
shellHook = '''';
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
plugins: [
|
|
3
|
+
{
|
|
4
|
+
name: 'valibot',
|
|
5
|
+
definitions: { case: 'PascalCase', name: '{{name}}Schema' },
|
|
6
|
+
metadata: false,
|
|
7
|
+
requests: { case: 'PascalCase', name: '{{name}}RequestSchema' },
|
|
8
|
+
responses: { case: 'PascalCase', name: '{{name}}ResponseSchema' },
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: '@hey-api/sdk',
|
|
12
|
+
validator: true,
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@crowdstrike/aidr",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "TypeScript SDK for CrowdStrike AIDR",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/CrowdStrike/aidr-typescript.git"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
13
|
+
"type": "commonjs",
|
|
14
|
+
"types": "dist/index.d.cts",
|
|
15
|
+
"main": "dist/index.cjs",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"import": "./dist/index.mjs",
|
|
19
|
+
"require": "./dist/index.cjs"
|
|
20
|
+
},
|
|
21
|
+
"./*.mjs": {
|
|
22
|
+
"default": "./dist/*.mjs"
|
|
23
|
+
},
|
|
24
|
+
"./*.cjs": {
|
|
25
|
+
"default": "./dist/*.cjs"
|
|
26
|
+
},
|
|
27
|
+
"./*": {
|
|
28
|
+
"import": "./dist/*.mjs",
|
|
29
|
+
"require": "./dist/*.cjs"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"build": "tsdown && tsc --noEmit",
|
|
35
|
+
"prepare": "pnpm build",
|
|
36
|
+
"lint": "biome check"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"valibot": "^1.2.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@biomejs/biome": "2.3.5",
|
|
43
|
+
"@hey-api/openapi-ts": "0.88.0",
|
|
44
|
+
"@semantic-release/npm": "13.1.3",
|
|
45
|
+
"@stoplight/prism-cli": "5.14.2",
|
|
46
|
+
"@types/node": "24.10.1",
|
|
47
|
+
"conventional-changelog-conventionalcommits": "9.1.0",
|
|
48
|
+
"semantic-release": "25.0.2",
|
|
49
|
+
"start-server-and-test": "2.1.3",
|
|
50
|
+
"tsdown": "0.16.7",
|
|
51
|
+
"typescript": "5.9.3",
|
|
52
|
+
"vite-tsconfig-paths": "5.1.4",
|
|
53
|
+
"vitest": "4.0.13"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/scripts/test
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
cd -- "$(dirname -- "$0")/.."
|
|
6
|
+
|
|
7
|
+
pnpx start-server-and-test --expect 404 \
|
|
8
|
+
"pnpx @stoplight/prism-cli mock -d --json-schema-faker-fillProperties=false specs/ai-guard.openapi.json" \
|
|
9
|
+
4010 \
|
|
10
|
+
"pnpm test tests/ai-guard.test.ts"
|