@marinoscar/platform-contract 0.0.0-stage → 0.1.0-next.3
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/CHANGELOG.md +33 -0
- package/LICENSE +21 -0
- package/README.md +145 -2
- package/dist/cjs/doctor/constants.d.ts +59 -0
- package/dist/cjs/doctor/constants.d.ts.map +1 -0
- package/dist/cjs/doctor/constants.js +57 -0
- package/dist/cjs/doctor/constants.js.map +1 -0
- package/dist/cjs/doctor/index.d.ts +5 -0
- package/dist/cjs/doctor/index.d.ts.map +1 -0
- package/dist/cjs/doctor/index.js +24 -0
- package/dist/cjs/doctor/index.js.map +1 -0
- package/dist/cjs/doctor/schemas.d.ts +186 -0
- package/dist/cjs/doctor/schemas.d.ts.map +1 -0
- package/dist/cjs/doctor/schemas.js +183 -0
- package/dist/cjs/doctor/schemas.js.map +1 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/telemetry/assistant.d.ts +173 -0
- package/dist/cjs/telemetry/assistant.d.ts.map +1 -0
- package/dist/cjs/telemetry/assistant.js +43 -0
- package/dist/cjs/telemetry/assistant.js.map +1 -0
- package/dist/cjs/telemetry/config.d.ts +92 -0
- package/dist/cjs/telemetry/config.d.ts.map +1 -0
- package/dist/cjs/telemetry/config.js +101 -0
- package/dist/cjs/telemetry/config.js.map +1 -0
- package/dist/cjs/telemetry/connection.d.ts +355 -0
- package/dist/cjs/telemetry/connection.d.ts.map +1 -0
- package/dist/cjs/telemetry/connection.js +451 -0
- package/dist/cjs/telemetry/connection.js.map +1 -0
- package/dist/cjs/telemetry/constants.d.ts +442 -0
- package/dist/cjs/telemetry/constants.d.ts.map +1 -0
- package/dist/cjs/telemetry/constants.js +400 -0
- package/dist/cjs/telemetry/constants.js.map +1 -0
- package/dist/cjs/telemetry/dashboard.d.ts +826 -0
- package/dist/cjs/telemetry/dashboard.d.ts.map +1 -0
- package/dist/cjs/telemetry/dashboard.js +697 -0
- package/dist/cjs/telemetry/dashboard.js.map +1 -0
- package/dist/cjs/telemetry/enum.d.ts +5 -0
- package/dist/cjs/telemetry/enum.d.ts.map +1 -0
- package/dist/cjs/telemetry/enum.js +12 -0
- package/dist/cjs/telemetry/enum.js.map +1 -0
- package/dist/cjs/telemetry/index.d.ts +5 -0
- package/dist/cjs/telemetry/index.d.ts.map +1 -0
- package/dist/cjs/telemetry/index.js +128 -0
- package/dist/cjs/telemetry/index.js.map +1 -0
- package/dist/cjs/telemetry/query.d.ts +147 -0
- package/dist/cjs/telemetry/query.d.ts.map +1 -0
- package/dist/cjs/telemetry/query.js +141 -0
- package/dist/cjs/telemetry/query.js.map +1 -0
- package/dist/cjs/telemetry/schemas.d.ts +17 -0
- package/dist/cjs/telemetry/schemas.d.ts.map +1 -0
- package/dist/cjs/telemetry/schemas.js +89 -0
- package/dist/cjs/telemetry/schemas.js.map +1 -0
- package/dist/cjs/telemetry/settings.d.ts +65 -0
- package/dist/cjs/telemetry/settings.d.ts.map +1 -0
- package/dist/cjs/telemetry/settings.js +77 -0
- package/dist/cjs/telemetry/settings.js.map +1 -0
- package/dist/cjs/telemetry/stack.d.ts +87 -0
- package/dist/cjs/telemetry/stack.d.ts.map +1 -0
- package/dist/cjs/telemetry/stack.js +93 -0
- package/dist/cjs/telemetry/stack.js.map +1 -0
- package/dist/cjs/telemetry/status.d.ts +65 -0
- package/dist/cjs/telemetry/status.d.ts.map +1 -0
- package/dist/cjs/telemetry/status.js +65 -0
- package/dist/cjs/telemetry/status.js.map +1 -0
- package/dist/esm/doctor/constants.d.ts +59 -0
- package/dist/esm/doctor/constants.d.ts.map +1 -0
- package/dist/esm/doctor/constants.js +54 -0
- package/dist/esm/doctor/constants.js.map +1 -0
- package/dist/esm/doctor/index.d.ts +5 -0
- package/dist/esm/doctor/index.d.ts.map +1 -0
- package/dist/esm/doctor/index.js +10 -0
- package/dist/esm/doctor/index.js.map +1 -0
- package/dist/esm/doctor/schemas.d.ts +186 -0
- package/dist/esm/doctor/schemas.d.ts.map +1 -0
- package/dist/esm/doctor/schemas.js +180 -0
- package/dist/esm/doctor/schemas.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/telemetry/assistant.d.ts +173 -0
- package/dist/esm/telemetry/assistant.d.ts.map +1 -0
- package/dist/esm/telemetry/assistant.js +40 -0
- package/dist/esm/telemetry/assistant.js.map +1 -0
- package/dist/esm/telemetry/config.d.ts +92 -0
- package/dist/esm/telemetry/config.d.ts.map +1 -0
- package/dist/esm/telemetry/config.js +98 -0
- package/dist/esm/telemetry/config.js.map +1 -0
- package/dist/esm/telemetry/connection.d.ts +355 -0
- package/dist/esm/telemetry/connection.d.ts.map +1 -0
- package/dist/esm/telemetry/connection.js +447 -0
- package/dist/esm/telemetry/connection.js.map +1 -0
- package/dist/esm/telemetry/constants.d.ts +442 -0
- package/dist/esm/telemetry/constants.d.ts.map +1 -0
- package/dist/esm/telemetry/constants.js +397 -0
- package/dist/esm/telemetry/constants.js.map +1 -0
- package/dist/esm/telemetry/dashboard.d.ts +826 -0
- package/dist/esm/telemetry/dashboard.d.ts.map +1 -0
- package/dist/esm/telemetry/dashboard.js +690 -0
- package/dist/esm/telemetry/dashboard.js.map +1 -0
- package/dist/esm/telemetry/enum.d.ts +5 -0
- package/dist/esm/telemetry/enum.d.ts.map +1 -0
- package/dist/esm/telemetry/enum.js +9 -0
- package/dist/esm/telemetry/enum.js.map +1 -0
- package/dist/esm/telemetry/index.d.ts +5 -0
- package/dist/esm/telemetry/index.d.ts.map +1 -0
- package/dist/esm/telemetry/index.js +10 -0
- package/dist/esm/telemetry/index.js.map +1 -0
- package/dist/esm/telemetry/query.d.ts +147 -0
- package/dist/esm/telemetry/query.d.ts.map +1 -0
- package/dist/esm/telemetry/query.js +138 -0
- package/dist/esm/telemetry/query.js.map +1 -0
- package/dist/esm/telemetry/schemas.d.ts +17 -0
- package/dist/esm/telemetry/schemas.d.ts.map +1 -0
- package/dist/esm/telemetry/schemas.js +12 -0
- package/dist/esm/telemetry/schemas.js.map +1 -0
- package/dist/esm/telemetry/settings.d.ts +65 -0
- package/dist/esm/telemetry/settings.d.ts.map +1 -0
- package/dist/esm/telemetry/settings.js +74 -0
- package/dist/esm/telemetry/settings.js.map +1 -0
- package/dist/esm/telemetry/stack.d.ts +87 -0
- package/dist/esm/telemetry/stack.d.ts.map +1 -0
- package/dist/esm/telemetry/stack.js +90 -0
- package/dist/esm/telemetry/stack.js.map +1 -0
- package/dist/esm/telemetry/status.d.ts +65 -0
- package/dist/esm/telemetry/status.d.ts.map +1 -0
- package/dist/esm/telemetry/status.js +62 -0
- package/dist/esm/telemetry/status.js.map +1 -0
- package/package.json +78 -4
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every status of a Doctor check, in severity order, lowest first
|
|
3
|
+
* (`pass < skip < warn < fail`). Also the display order of the web page.
|
|
4
|
+
*
|
|
5
|
+
* - `pass`: verified healthy.
|
|
6
|
+
* - `skip`: not evaluated (a check it depends on did not pass, or the
|
|
7
|
+
* capability is intentionally switched off).
|
|
8
|
+
* - `warn`: works, but needs attention.
|
|
9
|
+
* - `fail`: broken.
|
|
10
|
+
*
|
|
11
|
+
* @stability stable
|
|
12
|
+
*/
|
|
13
|
+
export declare const DOCTOR_STATUSES: readonly ["pass", "skip", "warn", "fail"];
|
|
14
|
+
/**
|
|
15
|
+
* The four outcomes of a check, identical to the CLI doctor's `CheckStatus`:
|
|
16
|
+
* `pass`, `warn`, `fail` or `skip`.
|
|
17
|
+
*
|
|
18
|
+
* @stability stable
|
|
19
|
+
*/
|
|
20
|
+
export type DoctorStatus = (typeof DOCTOR_STATUSES)[number];
|
|
21
|
+
/**
|
|
22
|
+
* How bad a status is, for a report's overall verdict: the worst wins.
|
|
23
|
+
*
|
|
24
|
+
* `skip` ranks just above `pass`: a report whose only non-pass entries are
|
|
25
|
+
* intentional skips (AI off, telemetry off) is healthy, but it proved less than
|
|
26
|
+
* an all-pass one, and a report where nothing ran must not read as `pass`.
|
|
27
|
+
*
|
|
28
|
+
* @stability stable
|
|
29
|
+
*/
|
|
30
|
+
export declare const DOCTOR_STATUS_RANK: Readonly<Record<DoctorStatus, number>>;
|
|
31
|
+
/**
|
|
32
|
+
* The version of the support bundle format (`GET /api/admin/doctor/support-bundle`,
|
|
33
|
+
* issue #772). Bumped only by a breaking change to `supportBundleSchema`.
|
|
34
|
+
*
|
|
35
|
+
* @stability experimental
|
|
36
|
+
*/
|
|
37
|
+
export declare const SUPPORT_BUNDLE_VERSION: 1;
|
|
38
|
+
/**
|
|
39
|
+
* The redaction rule set applied to every support bundle. `v1` is documented
|
|
40
|
+
* in docs/specs/doctor.md ("Support bundle").
|
|
41
|
+
*
|
|
42
|
+
* @stability experimental
|
|
43
|
+
*/
|
|
44
|
+
export declare const SUPPORT_BUNDLE_REDACTION_RULES: "v1";
|
|
45
|
+
/**
|
|
46
|
+
* The statuses of one support-bundle section: `ok` (collected), `omitted` (not
|
|
47
|
+
* collected: a permission is missing or the capability is off) and `error`
|
|
48
|
+
* (the section threw, timed out or broke its schema; its data is dropped).
|
|
49
|
+
*
|
|
50
|
+
* @stability experimental
|
|
51
|
+
*/
|
|
52
|
+
export declare const SUPPORT_BUNDLE_SECTION_STATUSES: readonly ["ok", "omitted", "error"];
|
|
53
|
+
/**
|
|
54
|
+
* One support-bundle section's status.
|
|
55
|
+
*
|
|
56
|
+
* @stability experimental
|
|
57
|
+
*/
|
|
58
|
+
export type SupportBundleSectionStatus = (typeof SUPPORT_BUNDLE_SECTION_STATUSES)[number];
|
|
59
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/doctor/constants.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,2CAA4C,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAKrE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAG,IAAa,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,qCAAsC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// The Doctor's plain values (issue #701). Zod-free by rule: a browser that only
|
|
2
|
+
// needs a status list or a type never pulls the schemas, and with them zod,
|
|
3
|
+
// into its bundle (test/no-zod-in-constants.test.ts).
|
|
4
|
+
/**
|
|
5
|
+
* Every status of a Doctor check, in severity order, lowest first
|
|
6
|
+
* (`pass < skip < warn < fail`). Also the display order of the web page.
|
|
7
|
+
*
|
|
8
|
+
* - `pass`: verified healthy.
|
|
9
|
+
* - `skip`: not evaluated (a check it depends on did not pass, or the
|
|
10
|
+
* capability is intentionally switched off).
|
|
11
|
+
* - `warn`: works, but needs attention.
|
|
12
|
+
* - `fail`: broken.
|
|
13
|
+
*
|
|
14
|
+
* @stability stable
|
|
15
|
+
*/
|
|
16
|
+
export const DOCTOR_STATUSES = ['pass', 'skip', 'warn', 'fail'];
|
|
17
|
+
/**
|
|
18
|
+
* How bad a status is, for a report's overall verdict: the worst wins.
|
|
19
|
+
*
|
|
20
|
+
* `skip` ranks just above `pass`: a report whose only non-pass entries are
|
|
21
|
+
* intentional skips (AI off, telemetry off) is healthy, but it proved less than
|
|
22
|
+
* an all-pass one, and a report where nothing ran must not read as `pass`.
|
|
23
|
+
*
|
|
24
|
+
* @stability stable
|
|
25
|
+
*/
|
|
26
|
+
export const DOCTOR_STATUS_RANK = {
|
|
27
|
+
pass: 0,
|
|
28
|
+
skip: 1,
|
|
29
|
+
warn: 2,
|
|
30
|
+
fail: 3,
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The version of the support bundle format (`GET /api/admin/doctor/support-bundle`,
|
|
34
|
+
* issue #772). Bumped only by a breaking change to `supportBundleSchema`.
|
|
35
|
+
*
|
|
36
|
+
* @stability experimental
|
|
37
|
+
*/
|
|
38
|
+
export const SUPPORT_BUNDLE_VERSION = 1;
|
|
39
|
+
/**
|
|
40
|
+
* The redaction rule set applied to every support bundle. `v1` is documented
|
|
41
|
+
* in docs/specs/doctor.md ("Support bundle").
|
|
42
|
+
*
|
|
43
|
+
* @stability experimental
|
|
44
|
+
*/
|
|
45
|
+
export const SUPPORT_BUNDLE_REDACTION_RULES = 'v1';
|
|
46
|
+
/**
|
|
47
|
+
* The statuses of one support-bundle section: `ok` (collected), `omitted` (not
|
|
48
|
+
* collected: a permission is missing or the capability is off) and `error`
|
|
49
|
+
* (the section threw, timed out or broke its schema; its data is dropped).
|
|
50
|
+
*
|
|
51
|
+
* @stability experimental
|
|
52
|
+
*/
|
|
53
|
+
export const SUPPORT_BUNDLE_SECTION_STATUSES = ['ok', 'omitted', 'error'];
|
|
54
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/doctor/constants.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,sDAAsD;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAUzE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2C;IACxE,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACR,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAa,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { DOCTOR_STATUSES, DOCTOR_STATUS_RANK, SUPPORT_BUNDLE_REDACTION_RULES, SUPPORT_BUNDLE_SECTION_STATUSES, SUPPORT_BUNDLE_VERSION, } from './constants.js';
|
|
2
|
+
export type { DoctorStatus, SupportBundleSectionStatus } from './constants.js';
|
|
3
|
+
export { doctorCheckReportSchema, doctorQuerySchema, doctorReportSchema, doctorStatusSchema, supportBundleSchema, supportBundleSectionResultSchema, } from './schemas.js';
|
|
4
|
+
export type { DoctorBooleanStringEnum, DoctorCheckReport, DoctorQuery, DoctorReport, DoctorReportQueryInput, DoctorStatusEnum, SupportBundle, SupportBundleSectionResult, } from './schemas.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/doctor/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// `@marinoscar/platform-contract/doctor`: the Doctor's wire shapes, shared by
|
|
2
|
+
// `@marinoscar/platform-api/doctor` (the DTOs) and
|
|
3
|
+
// `@marinoscar/platform-web/doctor` (the client's types) (issue #701).
|
|
4
|
+
// Documented in ./README.md. Explicit named exports only.
|
|
5
|
+
//
|
|
6
|
+
// constants.ts is zod-free; a consumer that imports only the constants and the
|
|
7
|
+
// types (the web app) never bundles schemas.ts or zod (`"sideEffects": false`).
|
|
8
|
+
export { DOCTOR_STATUSES, DOCTOR_STATUS_RANK, SUPPORT_BUNDLE_REDACTION_RULES, SUPPORT_BUNDLE_SECTION_STATUSES, SUPPORT_BUNDLE_VERSION, } from './constants.js';
|
|
9
|
+
export { doctorCheckReportSchema, doctorQuerySchema, doctorReportSchema, doctorStatusSchema, supportBundleSchema, supportBundleSectionResultSchema, } from './schemas.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/doctor/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,uEAAuE;AACvE,0DAA0D;AAC1D,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAEhF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,gCAAgC,GACjC,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { DoctorStatus } from './constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* The entries of {@link doctorStatusSchema}, as `z.enum` types them: each
|
|
5
|
+
* status keyed by itself. Named so the schema's type reads as a reference.
|
|
6
|
+
*
|
|
7
|
+
* @stability stable
|
|
8
|
+
*/
|
|
9
|
+
export type DoctorStatusEnum = {
|
|
10
|
+
[S in DoctorStatus]: S;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The entries of the `refresh` query parameter: the strings `'true'` and
|
|
14
|
+
* `'false'`, each keyed by itself, as `z.enum` types them.
|
|
15
|
+
*
|
|
16
|
+
* @stability stable
|
|
17
|
+
*/
|
|
18
|
+
export type DoctorBooleanStringEnum = {
|
|
19
|
+
[S in 'true' | 'false']: S;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* A check's status on the wire.
|
|
23
|
+
*
|
|
24
|
+
* The enum lists the values in the order the OpenAPI document has always
|
|
25
|
+
* published (`pass, warn, fail, skip`), which is not the severity order of
|
|
26
|
+
* {@link DOCTOR_STATUSES}; rank statuses with {@link DOCTOR_STATUS_RANK}.
|
|
27
|
+
*
|
|
28
|
+
* @extensionPoint schema
|
|
29
|
+
* @stability stable
|
|
30
|
+
*/
|
|
31
|
+
export declare const doctorStatusSchema: z.ZodEnum<DoctorStatusEnum>;
|
|
32
|
+
/**
|
|
33
|
+
* One row of the report, as `GET /api/admin/doctor` returns it.
|
|
34
|
+
*
|
|
35
|
+
* Fields: `id` (stable dotted id, `storage.bucket`), `category` (`core`,
|
|
36
|
+
* `auth`, ...; an app may add its own), `label`, `settingsPath` (the web route
|
|
37
|
+
* that fixes it, or `null`), `status`, `detail` (one line: what was found),
|
|
38
|
+
* `remedy` (set on `warn` and `fail`, otherwise `null`), `error` (the
|
|
39
|
+
* underlying probe error, or `null`), `data` (small scalar facts, never secret
|
|
40
|
+
* material, or `null`) and `durationMs` (0 when skipped without running).
|
|
41
|
+
*
|
|
42
|
+
* @extensionPoint schema
|
|
43
|
+
* @stability stable
|
|
44
|
+
*/
|
|
45
|
+
export declare const doctorCheckReportSchema: z.ZodObject<{
|
|
46
|
+
id: z.ZodString;
|
|
47
|
+
category: z.ZodString;
|
|
48
|
+
label: z.ZodString;
|
|
49
|
+
settingsPath: z.ZodNullable<z.ZodString>;
|
|
50
|
+
status: z.ZodEnum<DoctorStatusEnum>;
|
|
51
|
+
detail: z.ZodString;
|
|
52
|
+
remedy: z.ZodNullable<z.ZodString>;
|
|
53
|
+
error: z.ZodNullable<z.ZodString>;
|
|
54
|
+
data: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
55
|
+
durationMs: z.ZodNumber;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
/**
|
|
58
|
+
* The whole report, as `GET /api/admin/doctor` returns it: `verdict` (the
|
|
59
|
+
* worst status in `checks`, `skip` when none ran), `generatedAt` (ISO 8601; a
|
|
60
|
+
* cached report keeps its original time), `durationMs` (wall time of the run)
|
|
61
|
+
* and `checks` (sorted by category, configured order first, then registration
|
|
62
|
+
* order).
|
|
63
|
+
*
|
|
64
|
+
* @extensionPoint schema
|
|
65
|
+
* @stability stable
|
|
66
|
+
*/
|
|
67
|
+
export declare const doctorReportSchema: z.ZodObject<{
|
|
68
|
+
verdict: z.ZodEnum<DoctorStatusEnum>;
|
|
69
|
+
generatedAt: z.ZodISODateTime;
|
|
70
|
+
durationMs: z.ZodNumber;
|
|
71
|
+
checks: z.ZodArray<z.ZodObject<{
|
|
72
|
+
id: z.ZodString;
|
|
73
|
+
category: z.ZodString;
|
|
74
|
+
label: z.ZodString;
|
|
75
|
+
settingsPath: z.ZodNullable<z.ZodString>;
|
|
76
|
+
status: z.ZodEnum<DoctorStatusEnum>;
|
|
77
|
+
detail: z.ZodString;
|
|
78
|
+
remedy: z.ZodNullable<z.ZodString>;
|
|
79
|
+
error: z.ZodNullable<z.ZodString>;
|
|
80
|
+
data: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
81
|
+
durationMs: z.ZodNumber;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
/**
|
|
85
|
+
* `GET /api/admin/doctor` query: `category` (a lowercase identifier; only the
|
|
86
|
+
* checks in that category, plus, unreported, whatever they depend on) and
|
|
87
|
+
* `refresh` (`'true'` bypasses the 15-second report cache).
|
|
88
|
+
*
|
|
89
|
+
* `refresh` is `z.enum(['true','false']).transform(...)` and NOT
|
|
90
|
+
* `z.coerce.boolean()`: every query parameter is a string and
|
|
91
|
+
* `Boolean('false')` is `true`.
|
|
92
|
+
*
|
|
93
|
+
* @extensionPoint schema
|
|
94
|
+
* @stability stable
|
|
95
|
+
*/
|
|
96
|
+
export declare const doctorQuerySchema: z.ZodObject<{
|
|
97
|
+
category: z.ZodOptional<z.ZodString>;
|
|
98
|
+
refresh: z.ZodOptional<z.ZodPipe<z.ZodEnum<DoctorBooleanStringEnum>, z.ZodTransform<boolean, "true" | "false">>>;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
/**
|
|
101
|
+
* One row of the report. Every nullable field is present on every row.
|
|
102
|
+
*
|
|
103
|
+
* @stability stable
|
|
104
|
+
*/
|
|
105
|
+
export type DoctorCheckReport = z.infer<typeof doctorCheckReportSchema>;
|
|
106
|
+
/**
|
|
107
|
+
* The whole report.
|
|
108
|
+
*
|
|
109
|
+
* @stability stable
|
|
110
|
+
*/
|
|
111
|
+
export type DoctorReport = z.infer<typeof doctorReportSchema>;
|
|
112
|
+
/**
|
|
113
|
+
* The parsed query of `GET /api/admin/doctor` (`refresh` already a boolean).
|
|
114
|
+
*
|
|
115
|
+
* @stability stable
|
|
116
|
+
*/
|
|
117
|
+
export type DoctorQuery = z.output<typeof doctorQuerySchema>;
|
|
118
|
+
/**
|
|
119
|
+
* The query a client builds before serializing it: restrict the run to one
|
|
120
|
+
* `category`, or `refresh` to bypass the server-side cache.
|
|
121
|
+
*
|
|
122
|
+
* @stability stable
|
|
123
|
+
*/
|
|
124
|
+
export interface DoctorReportQueryInput {
|
|
125
|
+
/** Restrict the run to one category (a lowercase identifier). */
|
|
126
|
+
category?: string;
|
|
127
|
+
/** Bypass the server-side report cache and run every probe again. */
|
|
128
|
+
refresh?: boolean;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* One section of a bundle. `truncated: true` with `data: null` means the
|
|
132
|
+
* section was larger than its size cap and its data was dropped.
|
|
133
|
+
*
|
|
134
|
+
* @extensionPoint schema
|
|
135
|
+
* @stability experimental
|
|
136
|
+
*/
|
|
137
|
+
export declare const supportBundleSectionResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
138
|
+
status: z.ZodLiteral<"ok">;
|
|
139
|
+
data: z.ZodUnknown;
|
|
140
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
141
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
142
|
+
status: z.ZodLiteral<"omitted">;
|
|
143
|
+
reason: z.ZodString;
|
|
144
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
145
|
+
status: z.ZodLiteral<"error">;
|
|
146
|
+
error: z.ZodString;
|
|
147
|
+
}, z.core.$strip>], "status">;
|
|
148
|
+
/**
|
|
149
|
+
* One section of a bundle, as parsed.
|
|
150
|
+
*
|
|
151
|
+
* @stability experimental
|
|
152
|
+
*/
|
|
153
|
+
export type SupportBundleSectionResult = z.infer<typeof supportBundleSectionResultSchema>;
|
|
154
|
+
/**
|
|
155
|
+
* The support bundle: what `GET /api/admin/doctor/support-bundle` returns as a
|
|
156
|
+
* JSON attachment.
|
|
157
|
+
*
|
|
158
|
+
* @extensionPoint schema
|
|
159
|
+
* @stability experimental
|
|
160
|
+
*/
|
|
161
|
+
export declare const supportBundleSchema: z.ZodObject<{
|
|
162
|
+
bundleVersion: z.ZodLiteral<1>;
|
|
163
|
+
generatedAt: z.ZodString;
|
|
164
|
+
redaction: z.ZodObject<{
|
|
165
|
+
rules: z.ZodLiteral<"v1">;
|
|
166
|
+
replacements: z.ZodNumber;
|
|
167
|
+
}, z.core.$strip>;
|
|
168
|
+
sections: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
169
|
+
status: z.ZodLiteral<"ok">;
|
|
170
|
+
data: z.ZodUnknown;
|
|
171
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
172
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
173
|
+
status: z.ZodLiteral<"omitted">;
|
|
174
|
+
reason: z.ZodString;
|
|
175
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
176
|
+
status: z.ZodLiteral<"error">;
|
|
177
|
+
error: z.ZodString;
|
|
178
|
+
}, z.core.$strip>], "status">>;
|
|
179
|
+
}, z.core.$strip>;
|
|
180
|
+
/**
|
|
181
|
+
* The support bundle, as parsed.
|
|
182
|
+
*
|
|
183
|
+
* @stability experimental
|
|
184
|
+
*/
|
|
185
|
+
export type SupportBundle = z.infer<typeof supportBundleSchema>;
|
|
186
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/doctor/schemas.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAAG,CAAC,IAAI,YAAY,GAAG,CAAC;CAAE,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG;KAAG,CAAC,IAAI,MAAM,GAAG,OAAO,GAAG,CAAC;CAAE,CAAC;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAMxD,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAqBlC,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAS7B,CAAC;AAKH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;iBAU5B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAkBD;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;6BAqB3C,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;iBAkB9B,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// The Doctor's wire shapes (issue #634; moved here from
|
|
3
|
+
// `@marinoscar/platform-api/doctor` by #701)
|
|
4
|
+
// =============================================================================
|
|
5
|
+
//
|
|
6
|
+
// ALWAYS A 200 FOR AN AUTHORIZED CALLER. A failing check is a row with
|
|
7
|
+
// `status: 'fail'`, never an error status: the report is read precisely when
|
|
8
|
+
// something is wrong, and a 500 or a 503 would withhold the list of what.
|
|
9
|
+
//
|
|
10
|
+
// Every nullable field is present on every row (`null` rather than absent), so
|
|
11
|
+
// a client renders one shape without optional-chaining through it.
|
|
12
|
+
//
|
|
13
|
+
// ⚠ OpenAPI is generated from these schemas (nestjs-zod, through the DTOs of
|
|
14
|
+
// `@marinoscar/platform-api/doctor`). Field order, `.describe()` texts and the
|
|
15
|
+
// order of the status enum are part of the published document: change them
|
|
16
|
+
// only as a deliberate API change.
|
|
17
|
+
// =============================================================================
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
import { SUPPORT_BUNDLE_REDACTION_RULES, SUPPORT_BUNDLE_VERSION } from './constants.js';
|
|
20
|
+
/**
|
|
21
|
+
* A check's status on the wire.
|
|
22
|
+
*
|
|
23
|
+
* The enum lists the values in the order the OpenAPI document has always
|
|
24
|
+
* published (`pass, warn, fail, skip`), which is not the severity order of
|
|
25
|
+
* {@link DOCTOR_STATUSES}; rank statuses with {@link DOCTOR_STATUS_RANK}.
|
|
26
|
+
*
|
|
27
|
+
* @extensionPoint schema
|
|
28
|
+
* @stability stable
|
|
29
|
+
*/
|
|
30
|
+
export const doctorStatusSchema = z
|
|
31
|
+
.enum(['pass', 'warn', 'fail', 'skip'])
|
|
32
|
+
.describe('`pass` — verified healthy. `warn` — works, but needs attention. `fail` — broken. ' +
|
|
33
|
+
'`skip` — not evaluated: a check it depends on did not pass, or the capability is ' +
|
|
34
|
+
'intentionally switched off.');
|
|
35
|
+
/**
|
|
36
|
+
* One row of the report, as `GET /api/admin/doctor` returns it.
|
|
37
|
+
*
|
|
38
|
+
* Fields: `id` (stable dotted id, `storage.bucket`), `category` (`core`,
|
|
39
|
+
* `auth`, ...; an app may add its own), `label`, `settingsPath` (the web route
|
|
40
|
+
* that fixes it, or `null`), `status`, `detail` (one line: what was found),
|
|
41
|
+
* `remedy` (set on `warn` and `fail`, otherwise `null`), `error` (the
|
|
42
|
+
* underlying probe error, or `null`), `data` (small scalar facts, never secret
|
|
43
|
+
* material, or `null`) and `durationMs` (0 when skipped without running).
|
|
44
|
+
*
|
|
45
|
+
* @extensionPoint schema
|
|
46
|
+
* @stability stable
|
|
47
|
+
*/
|
|
48
|
+
export const doctorCheckReportSchema = z.object({
|
|
49
|
+
/** Stable dotted id, e.g. `storage.bucket`. */
|
|
50
|
+
id: z.string(),
|
|
51
|
+
/** `core`, `auth`, `storage`, ... — a fork may add its own. */
|
|
52
|
+
category: z.string(),
|
|
53
|
+
/** Short human label: "Object storage bucket". */
|
|
54
|
+
label: z.string(),
|
|
55
|
+
/** The web route that fixes this check, when there is one. */
|
|
56
|
+
settingsPath: z.string().nullable(),
|
|
57
|
+
/** `pass`, `warn`, `fail` or `skip`. */
|
|
58
|
+
status: doctorStatusSchema,
|
|
59
|
+
/** One line: what was found. */
|
|
60
|
+
detail: z.string(),
|
|
61
|
+
/** What to do about a `warn` or `fail`. Always set on those two. */
|
|
62
|
+
remedy: z.string().nullable(),
|
|
63
|
+
/** The underlying error message, when a probe failed. */
|
|
64
|
+
error: z.string().nullable(),
|
|
65
|
+
/** Small scalar facts: counts, versions, latencies. Never secret material. */
|
|
66
|
+
data: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()])).nullable(),
|
|
67
|
+
/** How long this check took; 0 when it was skipped without running. */
|
|
68
|
+
durationMs: z.number().int(),
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* The whole report, as `GET /api/admin/doctor` returns it: `verdict` (the
|
|
72
|
+
* worst status in `checks`, `skip` when none ran), `generatedAt` (ISO 8601; a
|
|
73
|
+
* cached report keeps its original time), `durationMs` (wall time of the run)
|
|
74
|
+
* and `checks` (sorted by category, configured order first, then registration
|
|
75
|
+
* order).
|
|
76
|
+
*
|
|
77
|
+
* @extensionPoint schema
|
|
78
|
+
* @stability stable
|
|
79
|
+
*/
|
|
80
|
+
export const doctorReportSchema = z.object({
|
|
81
|
+
/** The worst status in `checks` (`pass < skip < warn < fail`); `skip` when none ran. */
|
|
82
|
+
verdict: doctorStatusSchema,
|
|
83
|
+
/** When this report was produced. A cached report keeps its original time. */
|
|
84
|
+
generatedAt: z.iso.datetime(),
|
|
85
|
+
/** Wall time of the whole run. */
|
|
86
|
+
durationMs: z.number().int(),
|
|
87
|
+
/** Sorted by category (shipped order first), then registration order. */
|
|
88
|
+
checks: z.array(doctorCheckReportSchema),
|
|
89
|
+
});
|
|
90
|
+
// The query's `'true' | 'false'` parameter, typed through its named entries.
|
|
91
|
+
const booleanStringSchema = z.enum(['true', 'false']);
|
|
92
|
+
/**
|
|
93
|
+
* `GET /api/admin/doctor` query: `category` (a lowercase identifier; only the
|
|
94
|
+
* checks in that category, plus, unreported, whatever they depend on) and
|
|
95
|
+
* `refresh` (`'true'` bypasses the 15-second report cache).
|
|
96
|
+
*
|
|
97
|
+
* `refresh` is `z.enum(['true','false']).transform(...)` and NOT
|
|
98
|
+
* `z.coerce.boolean()`: every query parameter is a string and
|
|
99
|
+
* `Boolean('false')` is `true`.
|
|
100
|
+
*
|
|
101
|
+
* @extensionPoint schema
|
|
102
|
+
* @stability stable
|
|
103
|
+
*/
|
|
104
|
+
export const doctorQuerySchema = z.object({
|
|
105
|
+
/** Only the checks in this category (plus, unreported, whatever they depend on). */
|
|
106
|
+
category: z
|
|
107
|
+
.string()
|
|
108
|
+
.regex(/^[a-z0-9][a-z0-9_-]{0,63}$/, 'category must be a lowercase identifier')
|
|
109
|
+
.optional(),
|
|
110
|
+
/** `true` bypasses the 15-second report cache. */
|
|
111
|
+
refresh: booleanStringSchema
|
|
112
|
+
.transform((value) => value === 'true')
|
|
113
|
+
.optional(),
|
|
114
|
+
});
|
|
115
|
+
const statusEnumMatchesConstants = true;
|
|
116
|
+
const queryInputMatchesSchema = true;
|
|
117
|
+
void statusEnumMatchesConstants;
|
|
118
|
+
void queryInputMatchesSchema;
|
|
119
|
+
// -----------------------------------------------------------------------------
|
|
120
|
+
// The support bundle (issue #772): the envelope `GET /api/admin/doctor/support-bundle`
|
|
121
|
+
// returns. Each section's `data` is validated by that section's own strict
|
|
122
|
+
// schema on the server (`@marinoscar/platform-api/doctor`), so here it stays
|
|
123
|
+
// `unknown`.
|
|
124
|
+
// -----------------------------------------------------------------------------
|
|
125
|
+
/**
|
|
126
|
+
* One section of a bundle. `truncated: true` with `data: null` means the
|
|
127
|
+
* section was larger than its size cap and its data was dropped.
|
|
128
|
+
*
|
|
129
|
+
* @extensionPoint schema
|
|
130
|
+
* @stability experimental
|
|
131
|
+
*/
|
|
132
|
+
export const supportBundleSectionResultSchema = z.discriminatedUnion('status', [
|
|
133
|
+
z.object({
|
|
134
|
+
/** Collected. */
|
|
135
|
+
status: z.literal('ok'),
|
|
136
|
+
/** The section's data, validated by its strict schema and redacted; `null` when truncated. */
|
|
137
|
+
data: z.unknown().describe("The section's data, already validated by its strict schema and redacted."),
|
|
138
|
+
/** `true` when a size cap dropped the data. */
|
|
139
|
+
truncated: z.boolean().optional().describe('`true` when a size cap dropped the data (`data` is then `null`).'),
|
|
140
|
+
}),
|
|
141
|
+
z.object({
|
|
142
|
+
/** Not collected. */
|
|
143
|
+
status: z.literal('omitted'),
|
|
144
|
+
/** Why: a missing permission, a capability switched off. */
|
|
145
|
+
reason: z.string().describe('Why the section was not collected (a missing permission, a capability switched off).'),
|
|
146
|
+
}),
|
|
147
|
+
z.object({
|
|
148
|
+
/** Collected, but dropped. */
|
|
149
|
+
status: z.literal('error'),
|
|
150
|
+
/** One redacted line saying why. */
|
|
151
|
+
error: z.string().describe('One redacted line: a throw, a timeout or a schema violation. Never the raw value.'),
|
|
152
|
+
}),
|
|
153
|
+
]);
|
|
154
|
+
/**
|
|
155
|
+
* The support bundle: what `GET /api/admin/doctor/support-bundle` returns as a
|
|
156
|
+
* JSON attachment.
|
|
157
|
+
*
|
|
158
|
+
* @extensionPoint schema
|
|
159
|
+
* @stability experimental
|
|
160
|
+
*/
|
|
161
|
+
export const supportBundleSchema = z.object({
|
|
162
|
+
/** The bundle format version, {@link SUPPORT_BUNDLE_VERSION}. */
|
|
163
|
+
bundleVersion: z.literal(SUPPORT_BUNDLE_VERSION).describe('The bundle format version.'),
|
|
164
|
+
/** When the bundle was built (ISO 8601, UTC). */
|
|
165
|
+
generatedAt: z.string().describe('When the bundle was built (ISO 8601, UTC).'),
|
|
166
|
+
/** The central redaction pass. */
|
|
167
|
+
redaction: z
|
|
168
|
+
.object({
|
|
169
|
+
/** The rule set applied, {@link SUPPORT_BUNDLE_REDACTION_RULES}. */
|
|
170
|
+
rules: z.literal(SUPPORT_BUNDLE_REDACTION_RULES).describe('The redaction rule set applied.'),
|
|
171
|
+
/** How many values the pass replaced. */
|
|
172
|
+
replacements: z.number().int().describe('How many values the redaction pass replaced.'),
|
|
173
|
+
})
|
|
174
|
+
.describe('The central redaction pass, applied on top of every section schema.'),
|
|
175
|
+
/** One result per registered section, keyed by section id. */
|
|
176
|
+
sections: z
|
|
177
|
+
.record(z.string(), supportBundleSectionResultSchema)
|
|
178
|
+
.describe('One entry per registered section, keyed by section id.'),
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/doctor/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The npm name of this package, which holds Zod DTOs and types shared by the platform API and web packages.
|
|
3
|
+
*
|
|
4
|
+
* The root entry exports only this name, so the smoke imports in CI have
|
|
5
|
+
* something to load end to end. Every slice is a subpath export
|
|
6
|
+
* (`@marinoscar/platform-contract/<slice>`, the first being `./doctor`) and is
|
|
7
|
+
* deliberately not re-exported here: a consumer loads only the slices it
|
|
8
|
+
* imports, and importing the root never loads zod.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
export declare const PLATFORM_PACKAGE: "@marinoscar/platform-contract";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAG,+BAAwC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The npm name of this package, which holds Zod DTOs and types shared by the platform API and web packages.
|
|
3
|
+
*
|
|
4
|
+
* The root entry exports only this name, so the smoke imports in CI have
|
|
5
|
+
* something to load end to end. Every slice is a subpath export
|
|
6
|
+
* (`@marinoscar/platform-contract/<slice>`, the first being `./doctor`) and is
|
|
7
|
+
* deliberately not re-exported here: a consumer loads only the slices it
|
|
8
|
+
* imports, and importing the root never loads zod.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
export const PLATFORM_PACKAGE = '@marinoscar/platform-contract';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAAwC,CAAC"}
|