codify-schemas 1.0.52 → 1.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ipc-message-schema-v2.json +25 -0
- package/dist/project-schema.json +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/ipc-message-schema-v2.json +25 -0
- package/src/ipc-message-schema-v2.test.ts +42 -0
- package/src/project-schema.json +1 -1
- package/src/schemastore/codify-schema.json +1085 -60
- package/src/schemastore/config-schema.test.ts +28 -17
- package/src/types/index.ts +7 -0
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import ConfigFileSchema from './config-file-schema.json';
|
|
|
2
2
|
import ProjectSchema from './project-schema.json';
|
|
3
3
|
import ResourceSchema from './resource-schema.json';
|
|
4
4
|
import IpcMessageSchema from './ipc-message-schema.json';
|
|
5
|
+
import IpcMessageV2Schema from './ipc-message-schema-v2.json';
|
|
5
6
|
import ApplyRequestDataSchema from './messages/apply-request-data-schema.json';
|
|
6
7
|
import ApplyResponseDataSchema from './messages/apply-response-data-schema.json';
|
|
7
8
|
import ErrorResponseDataSchema from './messages/error-response-data-schema.json';
|
|
@@ -17,6 +18,6 @@ import InitializeRequestDataSchema from './messages/initialize-request-data-sche
|
|
|
17
18
|
import InitializeResponseDataSchema from './messages/initialize-response-data-schema.json';
|
|
18
19
|
import SudoRequestDataSchema from './messages/sudo-request-data-schema.json';
|
|
19
20
|
import SudoRequestResponseDataSchema from './messages/sudo-response-data-schema.json';
|
|
20
|
-
export { ConfigFileSchema, ProjectSchema, ResourceSchema, IpcMessageSchema, ApplyRequestDataSchema, ApplyResponseDataSchema, ErrorResponseDataSchema, GetResourceInfoRequestDataSchema, GetResourceInfoResponseDataSchema, ImportRequestDataSchema, ImportResponseDataSchema, PlanRequestDataSchema, PlanResponseDataSchema, ValidateRequestDataSchema, ValidateResponseDataSchema, InitializeRequestDataSchema, InitializeResponseDataSchema, SudoRequestDataSchema, SudoRequestResponseDataSchema, };
|
|
21
|
+
export { ConfigFileSchema, ProjectSchema, ResourceSchema, IpcMessageSchema, IpcMessageV2Schema, ApplyRequestDataSchema, ApplyResponseDataSchema, ErrorResponseDataSchema, GetResourceInfoRequestDataSchema, GetResourceInfoResponseDataSchema, ImportRequestDataSchema, ImportResponseDataSchema, PlanRequestDataSchema, PlanResponseDataSchema, ValidateRequestDataSchema, ValidateResponseDataSchema, InitializeRequestDataSchema, InitializeResponseDataSchema, SudoRequestDataSchema, SudoRequestResponseDataSchema, };
|
|
21
22
|
export * from './types/index.js';
|
|
22
23
|
export * from './messages/commands.js';
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import ConfigFileSchema from './config-file-schema.json' assert { type: 'json' }
|
|
|
2
2
|
import ProjectSchema from './project-schema.json' assert { type: 'json' };
|
|
3
3
|
import ResourceSchema from './resource-schema.json' assert { type: 'json' };
|
|
4
4
|
import IpcMessageSchema from './ipc-message-schema.json' assert { type: 'json' };
|
|
5
|
+
import IpcMessageV2Schema from './ipc-message-schema-v2.json' assert { type: 'json' };
|
|
5
6
|
import ApplyRequestDataSchema from './messages/apply-request-data-schema.json' assert { type: 'json' };
|
|
6
7
|
import ApplyResponseDataSchema from './messages/apply-response-data-schema.json' assert { type: 'json' };
|
|
7
8
|
import ErrorResponseDataSchema from './messages/error-response-data-schema.json' assert { type: 'json' };
|
|
@@ -17,7 +18,7 @@ import InitializeRequestDataSchema from './messages/initialize-request-data-sche
|
|
|
17
18
|
import InitializeResponseDataSchema from './messages/initialize-response-data-schema.json' assert { type: 'json' };
|
|
18
19
|
import SudoRequestDataSchema from './messages/sudo-request-data-schema.json' assert { type: 'json' };
|
|
19
20
|
import SudoRequestResponseDataSchema from './messages/sudo-response-data-schema.json' assert { type: 'json' };
|
|
20
|
-
export { ConfigFileSchema, ProjectSchema, ResourceSchema, IpcMessageSchema, ApplyRequestDataSchema, ApplyResponseDataSchema, ErrorResponseDataSchema, GetResourceInfoRequestDataSchema, GetResourceInfoResponseDataSchema, ImportRequestDataSchema, ImportResponseDataSchema, PlanRequestDataSchema, PlanResponseDataSchema, ValidateRequestDataSchema, ValidateResponseDataSchema, InitializeRequestDataSchema, InitializeResponseDataSchema, SudoRequestDataSchema, SudoRequestResponseDataSchema, };
|
|
21
|
+
export { ConfigFileSchema, ProjectSchema, ResourceSchema, IpcMessageSchema, IpcMessageV2Schema, ApplyRequestDataSchema, ApplyResponseDataSchema, ErrorResponseDataSchema, GetResourceInfoRequestDataSchema, GetResourceInfoResponseDataSchema, ImportRequestDataSchema, ImportResponseDataSchema, PlanRequestDataSchema, PlanResponseDataSchema, ValidateRequestDataSchema, ValidateResponseDataSchema, InitializeRequestDataSchema, InitializeResponseDataSchema, SudoRequestDataSchema, SudoRequestResponseDataSchema, };
|
|
21
22
|
export * from './types/index.js';
|
|
22
23
|
export * from './messages/commands.js';
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC9E,OAAO,aAAa,MAAM,uBAAuB,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACvE,OAAO,cAAc,MAAM,wBAAwB,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACzE,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC9E,OAAO,sBAAsB,MAAM,2CAA2C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACpG,OAAO,uBAAuB,MAAM,4CAA4C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACtG,OAAO,uBAAuB,MAAM,4CAA4C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACtG,OAAO,gCAAgC,MAAM,uDAAuD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC1H,OAAO,iCAAiC,MAAM,wDAAwD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC5H,OAAO,uBAAuB,MAAM,4CAA4C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACtG,OAAO,wBAAwB,MAAM,6CAA6C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACxG,OAAO,qBAAqB,MAAM,0CAA0C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAClG,OAAO,sBAAsB,MAAM,2CAA2C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACpG,OAAO,yBAAyB,MAAM,8CAA8C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC1G,OAAO,0BAA0B,MAAM,+CAA+C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC5G,OAAO,2BAA2B,MAAM,gDAAgD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC9G,OAAO,4BAA4B,MAAM,iDAAiD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAChH,OAAO,qBAAqB,MAAM,0CAA0C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAC;AACnG,OAAO,6BAA6B,MAAM,2CAA2C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAC;AAE5G,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,GAC9B,CAAA;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC9E,OAAO,aAAa,MAAM,uBAAuB,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACvE,OAAO,cAAc,MAAM,wBAAwB,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACzE,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC9E,OAAO,kBAAkB,MAAM,8BAA8B,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACnF,OAAO,sBAAsB,MAAM,2CAA2C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACpG,OAAO,uBAAuB,MAAM,4CAA4C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACtG,OAAO,uBAAuB,MAAM,4CAA4C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACtG,OAAO,gCAAgC,MAAM,uDAAuD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC1H,OAAO,iCAAiC,MAAM,wDAAwD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC5H,OAAO,uBAAuB,MAAM,4CAA4C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACtG,OAAO,wBAAwB,MAAM,6CAA6C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACxG,OAAO,qBAAqB,MAAM,0CAA0C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAClG,OAAO,sBAAsB,MAAM,2CAA2C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AACpG,OAAO,yBAAyB,MAAM,8CAA8C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC1G,OAAO,0BAA0B,MAAM,+CAA+C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC5G,OAAO,2BAA2B,MAAM,gDAAgD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAC9G,OAAO,4BAA4B,MAAM,iDAAiD,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAA;AAChH,OAAO,qBAAqB,MAAM,0CAA0C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAC;AACnG,OAAO,6BAA6B,MAAM,2CAA2C,CAAC,SAAQ,IAAI,EAAE,MAAM,EAAC,CAAC;AAE5G,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,GAC9B,CAAA;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "https://www.codifycli.com/ipc-message-schema-v2.json",
|
|
4
|
+
"title": "IPC Message Schema V2",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"cmd": {
|
|
8
|
+
"description": "The uri for the message. Like an http url",
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"requestId": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Unique identifier to identify a request and it's corresponding response"
|
|
14
|
+
},
|
|
15
|
+
"status": {
|
|
16
|
+
"description": "The status of the request. Only used for responses. Can be either success or error",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": ["success", "error"]
|
|
19
|
+
},
|
|
20
|
+
"data": {
|
|
21
|
+
"description": "The data of the message."
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": ["cmd", "data", "requestId"]
|
|
25
|
+
}
|
package/dist/project-schema.json
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -25,6 +25,12 @@ export interface IpcMessage {
|
|
|
25
25
|
status?: MessageStatus;
|
|
26
26
|
data: unknown | null;
|
|
27
27
|
}
|
|
28
|
+
export interface IpcMessageV2 {
|
|
29
|
+
cmd: string;
|
|
30
|
+
requestId: string;
|
|
31
|
+
status?: MessageStatus;
|
|
32
|
+
data: unknown | null;
|
|
33
|
+
}
|
|
28
34
|
export interface ValidateRequestData {
|
|
29
35
|
configs: ResourceConfig[];
|
|
30
36
|
}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAmCD,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;AACf,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AA0ED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import ConfigFileSchema from './config-file-schema.json' assert {type: 'json'}
|
|
|
2
2
|
import ProjectSchema from './project-schema.json' assert {type: 'json'}
|
|
3
3
|
import ResourceSchema from './resource-schema.json' assert {type: 'json'}
|
|
4
4
|
import IpcMessageSchema from './ipc-message-schema.json' assert {type: 'json'}
|
|
5
|
+
import IpcMessageV2Schema from './ipc-message-schema-v2.json' assert {type: 'json'}
|
|
5
6
|
import ApplyRequestDataSchema from './messages/apply-request-data-schema.json' assert {type: 'json'}
|
|
6
7
|
import ApplyResponseDataSchema from './messages/apply-response-data-schema.json' assert {type: 'json'}
|
|
7
8
|
import ErrorResponseDataSchema from './messages/error-response-data-schema.json' assert {type: 'json'}
|
|
@@ -23,6 +24,7 @@ export {
|
|
|
23
24
|
ProjectSchema,
|
|
24
25
|
ResourceSchema,
|
|
25
26
|
IpcMessageSchema,
|
|
27
|
+
IpcMessageV2Schema,
|
|
26
28
|
ApplyRequestDataSchema,
|
|
27
29
|
ApplyResponseDataSchema,
|
|
28
30
|
ErrorResponseDataSchema,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "https://www.codifycli.com/ipc-message-schema-v2.json",
|
|
4
|
+
"title": "IPC Message Schema V2",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"cmd": {
|
|
8
|
+
"description": "The uri for the message. Like an http url",
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"requestId": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Unique identifier to identify a request and it's corresponding response"
|
|
14
|
+
},
|
|
15
|
+
"status": {
|
|
16
|
+
"description": "The status of the request. Only used for responses. Can be either success or error",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": ["success", "error"]
|
|
19
|
+
},
|
|
20
|
+
"data": {
|
|
21
|
+
"description": "The data of the message."
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": ["cmd", "data", "requestId"]
|
|
25
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import schema from './ipc-message-schema-v2.json';
|
|
2
|
+
import { describe, it, expect } from 'vitest'
|
|
3
|
+
import Ajv from 'ajv'
|
|
4
|
+
|
|
5
|
+
const ajv = new Ajv({
|
|
6
|
+
strict: true,
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
describe("Ipc message schema tests V2", () => {
|
|
10
|
+
it("compiles", () => {
|
|
11
|
+
ajv.compile(schema);
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
it("requires a cmd field to be specified", () => {
|
|
15
|
+
const validate = ajv.compile(schema);
|
|
16
|
+
expect(validate({ cmd: "doSomething", data: "data", requestId: "5d8x8ew" })).to.be.true;
|
|
17
|
+
expect(validate({ data: "data", requestId: "5d8x8ew" })).to.be.false;
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
it("has an optional status field for responses", () => {
|
|
21
|
+
const validate = ajv.compile(schema);
|
|
22
|
+
expect(validate({ cmd: "doSomething", status: "success", data: "data", requestId: "5d8x8ew" })).to.be.true;
|
|
23
|
+
expect(validate({ cmd: "doSomething", status: "error", data: "data", requestId: "5d8x8ew" })).to.be.true;
|
|
24
|
+
expect(validate({ cmd: "doSomething", status: "other", data: "data", requestId: "5d8x8ew" })).to.be.false;
|
|
25
|
+
expect(validate({ cmd: "doSomething", data: "data", requestId: "5d8x8ew" })).to.be.true;
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
it ("accepts data or null", () => {
|
|
29
|
+
const validate = ajv.compile(schema);
|
|
30
|
+
expect(validate({ cmd: "doSomething", data: "data", requestId: "5d8x8ew" })).to.be.true;
|
|
31
|
+
expect(validate({ cmd: "doSomething", data: null, requestId: "5d8x8ew" })).to.be.true;
|
|
32
|
+
expect(validate({ cmd: "doSomething", requestId: "5d8x8ew" })).to.be.false;
|
|
33
|
+
expect(validate({ cmd: "doSomething", data: {}, requestId: "5d8x8ew" })).to.be.true;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('Requires a uid', () => {
|
|
37
|
+
const validate = ajv.compile(schema);
|
|
38
|
+
expect(validate({ cmd: "doSomething", data: "data", requestId: "5d8x8ew" })).to.be.true;
|
|
39
|
+
expect(validate({ cmd: "doSomething", data: "data" })).to.be.false;
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
});
|
package/src/project-schema.json
CHANGED