@aeolus-fleet/common 0.25.2 → 0.26.0
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/fleet/argo-message.d.ts +13 -0
- package/dist/fleet/argo-message.js +19 -0
- package/dist/fleet/argo-message.js.map +1 -0
- package/dist/fleet/index.d.ts +1 -0
- package/dist/fleet/index.js +1 -0
- package/dist/fleet/index.js.map +1 -1
- package/dist/rules/index.d.ts +1 -0
- package/dist/rules/index.js +1 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/plain-http.d.ts +8 -0
- package/dist/rules/plain-http.js +20 -0
- package/dist/rules/plain-http.js.map +1 -0
- package/dist/rules/sign-in.d.ts +9 -3
- package/dist/rules/sign-in.js +14 -3
- package/dist/rules/sign-in.js.map +1 -1
- package/dist/schemas/console.d.ts +1 -1
- package/dist/schemas/console.js +1 -1
- package/dist/schemas/console.js.map +1 -1
- package/dist/schemas/delivery.d.ts +8 -1
- package/dist/schemas/delivery.js +13 -2
- package/dist/schemas/delivery.js.map +1 -1
- package/dist/schemas/health.d.ts +169 -0
- package/dist/schemas/health.js +54 -0
- package/dist/schemas/health.js.map +1 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/installation.d.ts +96 -0
- package/dist/schemas/installation.js +3 -1
- package/dist/schemas/installation.js.map +1 -1
- package/dist/schemas/needs-attention.d.ts +10 -0
- package/dist/schemas/needs-attention.js +4 -0
- package/dist/schemas/needs-attention.js.map +1 -1
- package/dist/schemas/question.d.ts +3 -3
- package/dist/schemas/question.js +2 -1
- package/dist/schemas/question.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of a message to argo, as the ship protocol states it: the first
|
|
3
|
+
* line is its headline, which the operator inbox shows as the row, then a
|
|
4
|
+
* blank line and the body. Senders build it here so every headline fits.
|
|
5
|
+
*/
|
|
6
|
+
/** The longest headline a message to argo opens with: one row in the operator inbox. */
|
|
7
|
+
export declare const ARGO_HEADLINE_MAX_LENGTH = 80;
|
|
8
|
+
/** The content type of a message whose body holds lists or links. */
|
|
9
|
+
export declare const MARKDOWN_CONTENT_TYPE = "text/markdown";
|
|
10
|
+
export declare function argoMessage(message: {
|
|
11
|
+
readonly headline: string;
|
|
12
|
+
readonly body: string;
|
|
13
|
+
}): string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of a message to argo, as the ship protocol states it: the first
|
|
3
|
+
* line is its headline, which the operator inbox shows as the row, then a
|
|
4
|
+
* blank line and the body. Senders build it here so every headline fits.
|
|
5
|
+
*/
|
|
6
|
+
/** The longest headline a message to argo opens with: one row in the operator inbox. */
|
|
7
|
+
export const ARGO_HEADLINE_MAX_LENGTH = 80;
|
|
8
|
+
/** The content type of a message whose body holds lists or links. */
|
|
9
|
+
export const MARKDOWN_CONTENT_TYPE = 'text/markdown';
|
|
10
|
+
const ELLIPSIS = '…';
|
|
11
|
+
export function argoMessage(message) {
|
|
12
|
+
return `${headlineOf(message.headline)}\n\n${message.body}`;
|
|
13
|
+
}
|
|
14
|
+
/** The headline on one line, cut to fit with an ellipsis when longer. */
|
|
15
|
+
function headlineOf(text) {
|
|
16
|
+
const line = text.replace(/\s+/g, ' ').trim();
|
|
17
|
+
return line.length <= ARGO_HEADLINE_MAX_LENGTH ? line : `${line.slice(0, ARGO_HEADLINE_MAX_LENGTH - ELLIPSIS.length).trimEnd()}${ELLIPSIS}`;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=argo-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"argo-message.js","sourceRoot":"","sources":["../../src/fleet/argo-message.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,qEAAqE;AACrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAErD,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,MAAM,UAAU,WAAW,CAAC,OAA6D;IACvF,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,yEAAyE;AACzE,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AAC9I,CAAC"}
|
package/dist/fleet/index.d.ts
CHANGED
|
@@ -145,6 +145,7 @@ export declare const eventTypeSchema: z.ZodEnum<{
|
|
|
145
145
|
NetworkPluginUnregistered: "NetworkPluginUnregistered";
|
|
146
146
|
}>;
|
|
147
147
|
export type EventType = z.infer<typeof eventTypeSchema>;
|
|
148
|
+
export * from './argo-message.js';
|
|
148
149
|
export * from './busy-wait.js';
|
|
149
150
|
export * from './mcp-url.js';
|
|
150
151
|
export * from './no-terminal-questions.js';
|
package/dist/fleet/index.js
CHANGED
|
@@ -103,6 +103,7 @@ export const EVENT_TYPES = [
|
|
|
103
103
|
'NetworkPluginUnregistered',
|
|
104
104
|
];
|
|
105
105
|
export const eventTypeSchema = z.enum(EVENT_TYPES);
|
|
106
|
+
export * from './argo-message.js';
|
|
106
107
|
export * from './busy-wait.js';
|
|
107
108
|
export * from './mcp-url.js';
|
|
108
109
|
export * from './no-terminal-questions.js';
|
package/dist/fleet/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleet/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleet/index.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/index.d.ts
CHANGED
package/dist/rules/index.js
CHANGED
package/dist/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plain http beyond localhost: the console's session cookie is Secure, so a
|
|
3
|
+
* browser drops it there, and passwords and crew tokens travel in clear
|
|
4
|
+
* text. Browsers treat localhost, names under it and loopback addresses as
|
|
5
|
+
* secure contexts, so plain http there is fine.
|
|
6
|
+
*/
|
|
7
|
+
/** The startup warning for a setting holding a plain http URL beyond localhost; undefined when it holds none. */
|
|
8
|
+
export declare function plainHttpWarning(setting: string, url: string): string | undefined;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plain http beyond localhost: the console's session cookie is Secure, so a
|
|
3
|
+
* browser drops it there, and passwords and crew tokens travel in clear
|
|
4
|
+
* text. Browsers treat localhost, names under it and loopback addresses as
|
|
5
|
+
* secure contexts, so plain http there is fine.
|
|
6
|
+
*/
|
|
7
|
+
const LOOPBACK_IPV4 = /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
|
|
8
|
+
/** Whether a browser treats this host as secure over plain http. */
|
|
9
|
+
function isLocalhost(hostname) {
|
|
10
|
+
return hostname === 'localhost' || hostname.endsWith('.localhost') || LOOPBACK_IPV4.test(hostname) || hostname === '[::1]';
|
|
11
|
+
}
|
|
12
|
+
/** The startup warning for a setting holding a plain http URL beyond localhost; undefined when it holds none. */
|
|
13
|
+
export function plainHttpWarning(setting, url) {
|
|
14
|
+
const parsed = URL.parse(url);
|
|
15
|
+
if (parsed?.protocol !== 'http:' || isLocalhost(parsed.hostname)) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
return `${setting} is plain http on ${parsed.hostname}: browsers drop the Secure session cookie, so console sign-in fails, and passwords and crew tokens travel in clear text. Put a TLS proxy in front and use https (README, "Beyond localhost").`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=plain-http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plain-http.js","sourceRoot":"","sources":["../../src/rules/plain-http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAEzD,oEAAoE;AACpE,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;AAC7H,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,GAAW;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,EAAE,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,OAAO,qBAAqB,MAAM,CAAC,QAAQ,+LAA+L,CAAC;AACvP,CAAC"}
|
package/dist/rules/sign-in.d.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
/** The operator's email: at most 254 characters, the longest address mail carries. */
|
|
2
2
|
export declare const OPERATOR_EMAIL_MAX_LENGTH = 254;
|
|
3
|
+
/** The bound only keeps an absurd input from reaching the password hash. */
|
|
4
|
+
export declare const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
+
* A new operator password (fleet:init, operator:reset-password) is at least
|
|
7
|
+
* this long. Sign-in checks no minimum, so a shorter password set before
|
|
8
|
+
* still signs in.
|
|
6
9
|
*/
|
|
7
|
-
export declare const
|
|
10
|
+
export declare const OPERATOR_PASSWORD_MIN_LENGTH = 12;
|
|
8
11
|
export declare const EMAIL_REQUIRED = "Enter your email";
|
|
9
12
|
export declare const EMAIL_TOO_LONG: string;
|
|
10
13
|
export declare const PASSWORD_REQUIRED = "Enter your password";
|
|
11
14
|
export declare const PASSWORD_TOO_LONG: string;
|
|
15
|
+
export declare const PASSWORD_TOO_SHORT: string;
|
|
12
16
|
/** What is wrong with a sign-in email, whitespace around it dropped; undefined when nothing is. */
|
|
13
17
|
export declare function signInEmailProblem(email: string): string | undefined;
|
|
14
18
|
/** What is wrong with a sign-in password, taken exactly as typed; undefined when nothing is. */
|
|
15
19
|
export declare function signInPasswordProblem(password: string): string | undefined;
|
|
20
|
+
/** What is wrong with a new operator password, taken exactly as typed; undefined when nothing is. */
|
|
21
|
+
export declare function newOperatorPasswordProblem(password: string): string | undefined;
|
package/dist/rules/sign-in.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
/** The operator's email: at most 254 characters, the longest address mail carries. */
|
|
2
2
|
export const OPERATOR_EMAIL_MAX_LENGTH = 254;
|
|
3
|
+
/** The bound only keeps an absurd input from reaching the password hash. */
|
|
4
|
+
export const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
+
* A new operator password (fleet:init, operator:reset-password) is at least
|
|
7
|
+
* this long. Sign-in checks no minimum, so a shorter password set before
|
|
8
|
+
* still signs in.
|
|
6
9
|
*/
|
|
7
|
-
export const
|
|
10
|
+
export const OPERATOR_PASSWORD_MIN_LENGTH = 12;
|
|
8
11
|
export const EMAIL_REQUIRED = 'Enter your email';
|
|
9
12
|
export const EMAIL_TOO_LONG = `Use an email of at most ${String(OPERATOR_EMAIL_MAX_LENGTH)} characters`;
|
|
10
13
|
export const PASSWORD_REQUIRED = 'Enter your password';
|
|
11
14
|
export const PASSWORD_TOO_LONG = `Use a password of at most ${String(OPERATOR_PASSWORD_MAX_LENGTH)} characters`;
|
|
15
|
+
export const PASSWORD_TOO_SHORT = `Use a password of at least ${String(OPERATOR_PASSWORD_MIN_LENGTH)} characters`;
|
|
12
16
|
/** What is wrong with a sign-in email, whitespace around it dropped; undefined when nothing is. */
|
|
13
17
|
export function signInEmailProblem(email) {
|
|
14
18
|
const trimmed = email.trim();
|
|
@@ -24,4 +28,11 @@ export function signInPasswordProblem(password) {
|
|
|
24
28
|
}
|
|
25
29
|
return password.length > OPERATOR_PASSWORD_MAX_LENGTH ? PASSWORD_TOO_LONG : undefined;
|
|
26
30
|
}
|
|
31
|
+
/** What is wrong with a new operator password, taken exactly as typed; undefined when nothing is. */
|
|
32
|
+
export function newOperatorPasswordProblem(password) {
|
|
33
|
+
if (password.length < OPERATOR_PASSWORD_MIN_LENGTH) {
|
|
34
|
+
return PASSWORD_TOO_SHORT;
|
|
35
|
+
}
|
|
36
|
+
return password.length > OPERATOR_PASSWORD_MAX_LENGTH ? PASSWORD_TOO_LONG : undefined;
|
|
37
|
+
}
|
|
27
38
|
//# sourceMappingURL=sign-in.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../src/rules/sign-in.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../src/rules/sign-in.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,2BAA2B,MAAM,CAAC,yBAAyB,CAAC,aAAa,CAAC;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,MAAM,CAAC,4BAA4B,CAAC,aAAa,CAAC;AAChH,MAAM,CAAC,MAAM,kBAAkB,GAAG,8BAA8B,MAAM,CAAC,4BAA4B,CAAC,aAAa,CAAC;AAElH,mGAAmG;AACnG,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;QACnD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/** One @ with something on each side, and no whitespace. */
|
|
3
3
|
export declare const OPERATOR_EMAIL_PATTERN: RegExp;
|
|
4
|
-
export { OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH } from '../rules/sign-in.js';
|
|
4
|
+
export { newOperatorPasswordProblem, OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH } from '../rules/sign-in.js';
|
|
5
5
|
/**
|
|
6
6
|
* Input of `console.signIn`: the operator's email and password. Whitespace
|
|
7
7
|
* around the email is dropped; the password is taken exactly as typed. The
|
package/dist/schemas/console.js
CHANGED
|
@@ -4,7 +4,7 @@ import { idSchema } from '../ids/index.js';
|
|
|
4
4
|
import { EMAIL_REQUIRED, EMAIL_TOO_LONG, OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH, PASSWORD_REQUIRED, PASSWORD_TOO_LONG } from '../rules/sign-in.js';
|
|
5
5
|
/** One @ with something on each side, and no whitespace. */
|
|
6
6
|
export const OPERATOR_EMAIL_PATTERN = /^[^\s@]+@[^\s@]+$/;
|
|
7
|
-
export { OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH } from '../rules/sign-in.js';
|
|
7
|
+
export { newOperatorPasswordProblem, OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH } from '../rules/sign-in.js';
|
|
8
8
|
/**
|
|
9
9
|
* Input of `console.signIn`: the operator's email and password. Whitespace
|
|
10
10
|
* around the email is dropped; the password is taken exactly as typed. The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/schemas/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEpK,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/schemas/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEpK,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAE1H;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,4BAA4B,EAAE,iBAAiB,CAAC;CACpG,CAAC,CAAC;AAIH,2FAA2F;AAC3F,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;AAE1H,8GAA8G;AAC9G,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAG1C,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAEjC,wHAAwH;AACxH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;CAC7B,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC9D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC/G,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACvE,CAAC,CAAC;AAIH,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAEpE,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -167,9 +167,16 @@ export type HandledInput = z.infer<typeof handledInputSchema>;
|
|
|
167
167
|
/** Output of `ship.handled`: nothing; the OK is the answer. */
|
|
168
168
|
export declare const handledOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
169
169
|
export type HandledOutput = z.infer<typeof handledOutputSchema>;
|
|
170
|
-
/**
|
|
170
|
+
/** The longest reason a Not handled report may give. */
|
|
171
|
+
export declare const NOT_HANDLED_REASON_MAX_LENGTH = 200;
|
|
172
|
+
/**
|
|
173
|
+
* Input of `ship.notHandled`: the delivery handed once more whose turn died
|
|
174
|
+
* too, and why the crew's computer side judged so (#847), which Needs
|
|
175
|
+
* attention shows with the entry.
|
|
176
|
+
*/
|
|
171
177
|
export declare const notHandledInputSchema: z.ZodObject<{
|
|
172
178
|
deliveryId: z.ZodType<`dlv_${string}`, unknown, z.core.$ZodTypeInternals<`dlv_${string}`, unknown>>;
|
|
179
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
173
180
|
}, z.core.$strip>;
|
|
174
181
|
export type NotHandledInput = z.infer<typeof notHandledInputSchema>;
|
|
175
182
|
/** Output of `ship.notHandled`: nothing; the OK is the answer. */
|
package/dist/schemas/delivery.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { idSchema } from '../ids/index.js';
|
|
3
|
+
import { isOneLine } from './report.js';
|
|
3
4
|
/**
|
|
4
5
|
* Inputs and outputs of receiving and acknowledging deliveries (`ship.receive`
|
|
5
6
|
* and `ship.ack`): how many deliveries a ship takes at once, what it gets for
|
|
@@ -86,8 +87,18 @@ export const handedOutputSchema = z.object({ state: z.enum(['handed', 'acknowled
|
|
|
86
87
|
export const handledInputSchema = z.object({ deliveryId: idSchema('delivery') });
|
|
87
88
|
/** Output of `ship.handled`: nothing; the OK is the answer. */
|
|
88
89
|
export const handledOutputSchema = z.strictObject({});
|
|
89
|
-
/**
|
|
90
|
-
export const
|
|
90
|
+
/** The longest reason a Not handled report may give. */
|
|
91
|
+
export const NOT_HANDLED_REASON_MAX_LENGTH = 200;
|
|
92
|
+
const REASON_MESSAGE = `A reason is one line of at most ${String(NOT_HANDLED_REASON_MAX_LENGTH)} characters`;
|
|
93
|
+
/**
|
|
94
|
+
* Input of `ship.notHandled`: the delivery handed once more whose turn died
|
|
95
|
+
* too, and why the crew's computer side judged so (#847), which Needs
|
|
96
|
+
* attention shows with the entry.
|
|
97
|
+
*/
|
|
98
|
+
export const notHandledInputSchema = z.object({
|
|
99
|
+
deliveryId: idSchema('delivery'),
|
|
100
|
+
reason: z.string().trim().min(1, REASON_MESSAGE).max(NOT_HANDLED_REASON_MAX_LENGTH, REASON_MESSAGE).refine(isOneLine, REASON_MESSAGE).optional(),
|
|
101
|
+
});
|
|
91
102
|
/** Output of `ship.notHandled`: nothing; the OK is the answer. */
|
|
92
103
|
export const notHandledOutputSchema = z.strictObject({});
|
|
93
104
|
/** Input of `ship.ack`: the delivery the calling ship received and takes responsibility for. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/schemas/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/schemas/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A fleet's health (decision 0042): where its deliveries are stuck now, the
|
|
3
|
+
* trend over the last 7 days and what was acknowledged in the last 24 hours.
|
|
4
|
+
* Facts with no thresholds; the console and a hosting service judge them.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/** Why a delivery is stuck, one cause each (docs/blueprint.md, "Stuck"). */
|
|
8
|
+
export declare const STUCK_CAUSES: readonly ["undeliverable", "noShipCanTake", "waitingForCrew", "stalledInFlight"];
|
|
9
|
+
export declare const stuckCauseSchema: z.ZodEnum<{
|
|
10
|
+
undeliverable: "undeliverable";
|
|
11
|
+
noShipCanTake: "noShipCanTake";
|
|
12
|
+
waitingForCrew: "waitingForCrew";
|
|
13
|
+
stalledInFlight: "stalledInFlight";
|
|
14
|
+
}>;
|
|
15
|
+
export type StuckCause = z.infer<typeof stuckCauseSchema>;
|
|
16
|
+
/** The states a stuck delivery can be in: waiting, in flight, or undeliverable. */
|
|
17
|
+
export declare const STUCK_STATES: readonly ["pending", "received", "handed", "undeliverable"];
|
|
18
|
+
export declare const stuckStateSchema: z.ZodEnum<{
|
|
19
|
+
pending: "pending";
|
|
20
|
+
received: "received";
|
|
21
|
+
handed: "handed";
|
|
22
|
+
undeliverable: "undeliverable";
|
|
23
|
+
}>;
|
|
24
|
+
export type StuckState = z.infer<typeof stuckStateSchema>;
|
|
25
|
+
/** How many hours the trend counts, the last one now: 7 days. */
|
|
26
|
+
export declare const STUCK_TREND_HOURS: number;
|
|
27
|
+
/** The trierarch a ship's crew request is assigned to, and when its crew last called; none while it holds no lease. */
|
|
28
|
+
export declare const machineSchema: z.ZodObject<{
|
|
29
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
30
|
+
name: z.ZodString;
|
|
31
|
+
lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
/** Where deliveries are stuck: a ship with the machine behind it, if any, or the type they were sent to. */
|
|
34
|
+
export declare const stuckPlaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
35
|
+
kind: z.ZodLiteral<"ship">;
|
|
36
|
+
ship: z.ZodObject<{
|
|
37
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
38
|
+
name: z.ZodString;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
machine: z.ZodNullable<z.ZodObject<{
|
|
41
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
42
|
+
name: z.ZodString;
|
|
43
|
+
lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
46
|
+
kind: z.ZodLiteral<"type">;
|
|
47
|
+
type: z.ZodString;
|
|
48
|
+
}, z.core.$strip>], "kind">;
|
|
49
|
+
/** One stuck delivery: its message, its state and since when it is in it. */
|
|
50
|
+
export declare const stuckDeliverySchema: z.ZodObject<{
|
|
51
|
+
deliveryId: z.ZodType<`dlv_${string}`, unknown, z.core.$ZodTypeInternals<`dlv_${string}`, unknown>>;
|
|
52
|
+
messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
53
|
+
state: z.ZodEnum<{
|
|
54
|
+
pending: "pending";
|
|
55
|
+
received: "received";
|
|
56
|
+
handed: "handed";
|
|
57
|
+
undeliverable: "undeliverable";
|
|
58
|
+
}>;
|
|
59
|
+
since: z.ZodISODateTime;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
/** The deliveries stuck at one place for one cause: how many, since when the oldest waits, and each one, oldest first. */
|
|
62
|
+
export declare const stuckPlaceHealthSchema: z.ZodObject<{
|
|
63
|
+
cause: z.ZodEnum<{
|
|
64
|
+
undeliverable: "undeliverable";
|
|
65
|
+
noShipCanTake: "noShipCanTake";
|
|
66
|
+
waitingForCrew: "waitingForCrew";
|
|
67
|
+
stalledInFlight: "stalledInFlight";
|
|
68
|
+
}>;
|
|
69
|
+
place: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
70
|
+
kind: z.ZodLiteral<"ship">;
|
|
71
|
+
ship: z.ZodObject<{
|
|
72
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
73
|
+
name: z.ZodString;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
machine: z.ZodNullable<z.ZodObject<{
|
|
76
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
77
|
+
name: z.ZodString;
|
|
78
|
+
lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
|
|
79
|
+
}, z.core.$strip>>;
|
|
80
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
81
|
+
kind: z.ZodLiteral<"type">;
|
|
82
|
+
type: z.ZodString;
|
|
83
|
+
}, z.core.$strip>], "kind">;
|
|
84
|
+
count: z.ZodInt;
|
|
85
|
+
oldestSince: z.ZodISODateTime;
|
|
86
|
+
deliveries: z.ZodArray<z.ZodObject<{
|
|
87
|
+
deliveryId: z.ZodType<`dlv_${string}`, unknown, z.core.$ZodTypeInternals<`dlv_${string}`, unknown>>;
|
|
88
|
+
messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
89
|
+
state: z.ZodEnum<{
|
|
90
|
+
pending: "pending";
|
|
91
|
+
received: "received";
|
|
92
|
+
handed: "handed";
|
|
93
|
+
undeliverable: "undeliverable";
|
|
94
|
+
}>;
|
|
95
|
+
since: z.ZodISODateTime;
|
|
96
|
+
}, z.core.$strip>>;
|
|
97
|
+
}, z.core.$strip>;
|
|
98
|
+
/** How many deliveries were stuck at each hour of the last 7 days, oldest first, the last one now. */
|
|
99
|
+
export declare const stuckPerHourSchema: z.ZodArray<z.ZodObject<{
|
|
100
|
+
at: z.ZodISODateTime;
|
|
101
|
+
count: z.ZodInt;
|
|
102
|
+
}, z.core.$strip>>;
|
|
103
|
+
/** How many hours the acknowledged deliveries are counted over. */
|
|
104
|
+
export declare const ACKNOWLEDGED_HOURS = 24;
|
|
105
|
+
/**
|
|
106
|
+
* The deliveries acknowledged in the last 24 hours, the median from send to
|
|
107
|
+
* acknowledgement (none when there were none), and how many in each hour,
|
|
108
|
+
* oldest first, the last one ending now.
|
|
109
|
+
*/
|
|
110
|
+
export declare const acknowledgedSchema: z.ZodObject<{
|
|
111
|
+
count: z.ZodInt;
|
|
112
|
+
medianMs: z.ZodNullable<z.ZodNumber>;
|
|
113
|
+
perHour: z.ZodArray<z.ZodObject<{
|
|
114
|
+
at: z.ZodISODateTime;
|
|
115
|
+
count: z.ZodInt;
|
|
116
|
+
}, z.core.$strip>>;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
/** Output of `fleet.health`: the caller's fleet's stuck places, oldest waiting first, its trend and its acknowledged. */
|
|
119
|
+
export declare const healthOutputSchema: z.ZodObject<{
|
|
120
|
+
stuck: z.ZodArray<z.ZodObject<{
|
|
121
|
+
cause: z.ZodEnum<{
|
|
122
|
+
undeliverable: "undeliverable";
|
|
123
|
+
noShipCanTake: "noShipCanTake";
|
|
124
|
+
waitingForCrew: "waitingForCrew";
|
|
125
|
+
stalledInFlight: "stalledInFlight";
|
|
126
|
+
}>;
|
|
127
|
+
place: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
128
|
+
kind: z.ZodLiteral<"ship">;
|
|
129
|
+
ship: z.ZodObject<{
|
|
130
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
131
|
+
name: z.ZodString;
|
|
132
|
+
}, z.core.$strip>;
|
|
133
|
+
machine: z.ZodNullable<z.ZodObject<{
|
|
134
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
135
|
+
name: z.ZodString;
|
|
136
|
+
lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
|
|
137
|
+
}, z.core.$strip>>;
|
|
138
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
139
|
+
kind: z.ZodLiteral<"type">;
|
|
140
|
+
type: z.ZodString;
|
|
141
|
+
}, z.core.$strip>], "kind">;
|
|
142
|
+
count: z.ZodInt;
|
|
143
|
+
oldestSince: z.ZodISODateTime;
|
|
144
|
+
deliveries: z.ZodArray<z.ZodObject<{
|
|
145
|
+
deliveryId: z.ZodType<`dlv_${string}`, unknown, z.core.$ZodTypeInternals<`dlv_${string}`, unknown>>;
|
|
146
|
+
messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
147
|
+
state: z.ZodEnum<{
|
|
148
|
+
pending: "pending";
|
|
149
|
+
received: "received";
|
|
150
|
+
handed: "handed";
|
|
151
|
+
undeliverable: "undeliverable";
|
|
152
|
+
}>;
|
|
153
|
+
since: z.ZodISODateTime;
|
|
154
|
+
}, z.core.$strip>>;
|
|
155
|
+
}, z.core.$strip>>;
|
|
156
|
+
stuckPerHour: z.ZodArray<z.ZodObject<{
|
|
157
|
+
at: z.ZodISODateTime;
|
|
158
|
+
count: z.ZodInt;
|
|
159
|
+
}, z.core.$strip>>;
|
|
160
|
+
acknowledged: z.ZodObject<{
|
|
161
|
+
count: z.ZodInt;
|
|
162
|
+
medianMs: z.ZodNullable<z.ZodNumber>;
|
|
163
|
+
perHour: z.ZodArray<z.ZodObject<{
|
|
164
|
+
at: z.ZodISODateTime;
|
|
165
|
+
count: z.ZodInt;
|
|
166
|
+
}, z.core.$strip>>;
|
|
167
|
+
}, z.core.$strip>;
|
|
168
|
+
}, z.core.$strip>;
|
|
169
|
+
export type Health = z.infer<typeof healthOutputSchema>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A fleet's health (decision 0042): where its deliveries are stuck now, the
|
|
3
|
+
* trend over the last 7 days and what was acknowledged in the last 24 hours.
|
|
4
|
+
* Facts with no thresholds; the console and a hosting service judge them.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { idSchema } from '../ids/index.js';
|
|
8
|
+
import { partySchema } from './history.js';
|
|
9
|
+
/** Why a delivery is stuck, one cause each (docs/blueprint.md, "Stuck"). */
|
|
10
|
+
export const STUCK_CAUSES = ['undeliverable', 'noShipCanTake', 'waitingForCrew', 'stalledInFlight'];
|
|
11
|
+
export const stuckCauseSchema = z.enum(STUCK_CAUSES);
|
|
12
|
+
/** The states a stuck delivery can be in: waiting, in flight, or undeliverable. */
|
|
13
|
+
export const STUCK_STATES = ['pending', 'received', 'handed', 'undeliverable'];
|
|
14
|
+
export const stuckStateSchema = z.enum(STUCK_STATES);
|
|
15
|
+
/** How many hours the trend counts, the last one now: 7 days. */
|
|
16
|
+
export const STUCK_TREND_HOURS = 7 * 24;
|
|
17
|
+
/** The trierarch a ship's crew request is assigned to, and when its crew last called; none while it holds no lease. */
|
|
18
|
+
export const machineSchema = partySchema.extend({ lastSeenAt: z.iso.datetime().nullable() });
|
|
19
|
+
/** Where deliveries are stuck: a ship with the machine behind it, if any, or the type they were sent to. */
|
|
20
|
+
export const stuckPlaceSchema = z.discriminatedUnion('kind', [
|
|
21
|
+
z.object({ kind: z.literal('ship'), ship: partySchema, machine: machineSchema.nullable() }),
|
|
22
|
+
z.object({ kind: z.literal('type'), type: z.string() }),
|
|
23
|
+
]);
|
|
24
|
+
/** One stuck delivery: its message, its state and since when it is in it. */
|
|
25
|
+
export const stuckDeliverySchema = z.object({ deliveryId: idSchema('delivery'), messageId: idSchema('message'), state: stuckStateSchema, since: z.iso.datetime() });
|
|
26
|
+
/** The deliveries stuck at one place for one cause: how many, since when the oldest waits, and each one, oldest first. */
|
|
27
|
+
export const stuckPlaceHealthSchema = z.object({
|
|
28
|
+
cause: stuckCauseSchema,
|
|
29
|
+
place: stuckPlaceSchema,
|
|
30
|
+
count: z.int().min(1),
|
|
31
|
+
oldestSince: z.iso.datetime(),
|
|
32
|
+
deliveries: z.array(stuckDeliverySchema).min(1),
|
|
33
|
+
});
|
|
34
|
+
/** How many deliveries were stuck at each hour of the last 7 days, oldest first, the last one now. */
|
|
35
|
+
export const stuckPerHourSchema = z.array(z.object({ at: z.iso.datetime(), count: z.int().min(0) })).length(STUCK_TREND_HOURS);
|
|
36
|
+
/** How many hours the acknowledged deliveries are counted over. */
|
|
37
|
+
export const ACKNOWLEDGED_HOURS = 24;
|
|
38
|
+
/**
|
|
39
|
+
* The deliveries acknowledged in the last 24 hours, the median from send to
|
|
40
|
+
* acknowledgement (none when there were none), and how many in each hour,
|
|
41
|
+
* oldest first, the last one ending now.
|
|
42
|
+
*/
|
|
43
|
+
export const acknowledgedSchema = z.object({
|
|
44
|
+
count: z.int().min(0),
|
|
45
|
+
medianMs: z.number().min(0).nullable(),
|
|
46
|
+
perHour: z.array(z.object({ at: z.iso.datetime(), count: z.int().min(0) })).length(ACKNOWLEDGED_HOURS),
|
|
47
|
+
});
|
|
48
|
+
/** Output of `fleet.health`: the caller's fleet's stuck places, oldest waiting first, its trend and its acknowledged. */
|
|
49
|
+
export const healthOutputSchema = z.object({
|
|
50
|
+
stuck: z.array(stuckPlaceHealthSchema),
|
|
51
|
+
stuckPerHour: stuckPerHourSchema,
|
|
52
|
+
acknowledged: acknowledgedSchema,
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/schemas/health.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,CAAU,CAAC;AAC7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAGrD,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAU,CAAC;AACxF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAGrD,iEAAiE;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,CAAC;AAExC,uHAAuH;AACvH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE7F,4GAA4G;AAC5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3D,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC3F,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEpK,0HAA0H;AAC1H,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,sGAAsG;AACtG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE/H,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;CACvG,CAAC,CAAC;AAEH,yHAAyH;AACzH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACtC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;CACjC,CAAC,CAAC"}
|
package/dist/schemas/index.d.ts
CHANGED
package/dist/schemas/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
@@ -60,6 +60,54 @@ export declare const installationFleetSchema: z.ZodObject<{
|
|
|
60
60
|
}, z.core.$strip>;
|
|
61
61
|
}, z.core.$strip>;
|
|
62
62
|
health: z.ZodObject<{
|
|
63
|
+
stuck: z.ZodArray<z.ZodObject<{
|
|
64
|
+
cause: z.ZodEnum<{
|
|
65
|
+
undeliverable: "undeliverable";
|
|
66
|
+
noShipCanTake: "noShipCanTake";
|
|
67
|
+
waitingForCrew: "waitingForCrew";
|
|
68
|
+
stalledInFlight: "stalledInFlight";
|
|
69
|
+
}>;
|
|
70
|
+
place: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
71
|
+
kind: z.ZodLiteral<"ship">;
|
|
72
|
+
ship: z.ZodObject<{
|
|
73
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
74
|
+
name: z.ZodString;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
machine: z.ZodNullable<z.ZodObject<{
|
|
77
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
78
|
+
name: z.ZodString;
|
|
79
|
+
lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
|
|
80
|
+
}, z.core.$strip>>;
|
|
81
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
82
|
+
kind: z.ZodLiteral<"type">;
|
|
83
|
+
type: z.ZodString;
|
|
84
|
+
}, z.core.$strip>], "kind">;
|
|
85
|
+
count: z.ZodInt;
|
|
86
|
+
oldestSince: z.ZodISODateTime;
|
|
87
|
+
deliveries: z.ZodArray<z.ZodObject<{
|
|
88
|
+
deliveryId: z.ZodType<`dlv_${string}`, unknown, z.core.$ZodTypeInternals<`dlv_${string}`, unknown>>;
|
|
89
|
+
messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
90
|
+
state: z.ZodEnum<{
|
|
91
|
+
pending: "pending";
|
|
92
|
+
received: "received";
|
|
93
|
+
handed: "handed";
|
|
94
|
+
undeliverable: "undeliverable";
|
|
95
|
+
}>;
|
|
96
|
+
since: z.ZodISODateTime;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
}, z.core.$strip>>;
|
|
99
|
+
stuckPerHour: z.ZodArray<z.ZodObject<{
|
|
100
|
+
at: z.ZodISODateTime;
|
|
101
|
+
count: z.ZodInt;
|
|
102
|
+
}, z.core.$strip>>;
|
|
103
|
+
acknowledged: z.ZodObject<{
|
|
104
|
+
count: z.ZodInt;
|
|
105
|
+
medianMs: z.ZodNullable<z.ZodNumber>;
|
|
106
|
+
perHour: z.ZodArray<z.ZodObject<{
|
|
107
|
+
at: z.ZodISODateTime;
|
|
108
|
+
count: z.ZodInt;
|
|
109
|
+
}, z.core.$strip>>;
|
|
110
|
+
}, z.core.$strip>;
|
|
63
111
|
oldestPendingAt: z.ZodNullable<z.ZodISODateTime>;
|
|
64
112
|
oldestInFlightAt: z.ZodNullable<z.ZodISODateTime>;
|
|
65
113
|
noShipCanTake: z.ZodInt;
|
|
@@ -103,6 +151,54 @@ export declare const installationFleetsListOutputSchema: z.ZodArray<z.ZodObject<
|
|
|
103
151
|
}, z.core.$strip>;
|
|
104
152
|
}, z.core.$strip>;
|
|
105
153
|
health: z.ZodObject<{
|
|
154
|
+
stuck: z.ZodArray<z.ZodObject<{
|
|
155
|
+
cause: z.ZodEnum<{
|
|
156
|
+
undeliverable: "undeliverable";
|
|
157
|
+
noShipCanTake: "noShipCanTake";
|
|
158
|
+
waitingForCrew: "waitingForCrew";
|
|
159
|
+
stalledInFlight: "stalledInFlight";
|
|
160
|
+
}>;
|
|
161
|
+
place: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
162
|
+
kind: z.ZodLiteral<"ship">;
|
|
163
|
+
ship: z.ZodObject<{
|
|
164
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
165
|
+
name: z.ZodString;
|
|
166
|
+
}, z.core.$strip>;
|
|
167
|
+
machine: z.ZodNullable<z.ZodObject<{
|
|
168
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
169
|
+
name: z.ZodString;
|
|
170
|
+
lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
|
|
171
|
+
}, z.core.$strip>>;
|
|
172
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
173
|
+
kind: z.ZodLiteral<"type">;
|
|
174
|
+
type: z.ZodString;
|
|
175
|
+
}, z.core.$strip>], "kind">;
|
|
176
|
+
count: z.ZodInt;
|
|
177
|
+
oldestSince: z.ZodISODateTime;
|
|
178
|
+
deliveries: z.ZodArray<z.ZodObject<{
|
|
179
|
+
deliveryId: z.ZodType<`dlv_${string}`, unknown, z.core.$ZodTypeInternals<`dlv_${string}`, unknown>>;
|
|
180
|
+
messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
181
|
+
state: z.ZodEnum<{
|
|
182
|
+
pending: "pending";
|
|
183
|
+
received: "received";
|
|
184
|
+
handed: "handed";
|
|
185
|
+
undeliverable: "undeliverable";
|
|
186
|
+
}>;
|
|
187
|
+
since: z.ZodISODateTime;
|
|
188
|
+
}, z.core.$strip>>;
|
|
189
|
+
}, z.core.$strip>>;
|
|
190
|
+
stuckPerHour: z.ZodArray<z.ZodObject<{
|
|
191
|
+
at: z.ZodISODateTime;
|
|
192
|
+
count: z.ZodInt;
|
|
193
|
+
}, z.core.$strip>>;
|
|
194
|
+
acknowledged: z.ZodObject<{
|
|
195
|
+
count: z.ZodInt;
|
|
196
|
+
medianMs: z.ZodNullable<z.ZodNumber>;
|
|
197
|
+
perHour: z.ZodArray<z.ZodObject<{
|
|
198
|
+
at: z.ZodISODateTime;
|
|
199
|
+
count: z.ZodInt;
|
|
200
|
+
}, z.core.$strip>>;
|
|
201
|
+
}, z.core.$strip>;
|
|
106
202
|
oldestPendingAt: z.ZodNullable<z.ZodISODateTime>;
|
|
107
203
|
oldestInFlightAt: z.ZodNullable<z.ZodISODateTime>;
|
|
108
204
|
noShipCanTake: z.ZodInt;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { idSchema } from '../ids/index.js';
|
|
3
3
|
import { OPERATOR_EMAIL_MAX_LENGTH } from './console.js';
|
|
4
|
+
import { healthOutputSchema } from './health.js';
|
|
4
5
|
import { idempotencyKeySchema } from './idempotency-key.js';
|
|
5
6
|
/**
|
|
6
7
|
* The installation API (docs/architecture.md, "Installation"): what a service
|
|
@@ -58,10 +59,11 @@ export const installationFleetSchema = z.object({
|
|
|
58
59
|
oldestInFlightAt: z.iso.datetime().nullable(),
|
|
59
60
|
/** Pending deliveries to a type no active ship can take. */
|
|
60
61
|
noShipCanTake: z.int().min(0),
|
|
61
|
-
/** Undeliverable
|
|
62
|
+
/** Undeliverable deliveries; not handled is execution (decision 0042). */
|
|
62
63
|
needsAttention: z.int().min(0),
|
|
63
64
|
/** Overdue deliveries argo was told of that still stand. */
|
|
64
65
|
overdue: z.int().min(0),
|
|
66
|
+
...healthOutputSchema.shape,
|
|
65
67
|
}),
|
|
66
68
|
});
|
|
67
69
|
export const installationFleetsListOutputSchema = z.array(installationFleetSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/schemas/installation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"installation.js","sourceRoot":"","sources":["../../src/schemas/installation.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,11 @@ export declare const needsAttentionDeliverySchema: z.ZodObject<{
|
|
|
9
9
|
attempts: z.ZodInt;
|
|
10
10
|
isPushed: z.ZodBoolean;
|
|
11
11
|
since: z.ZodISODateTime;
|
|
12
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
13
|
+
ship: z.ZodObject<{
|
|
14
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
15
|
+
name: z.ZodString;
|
|
16
|
+
}, z.core.$strip>;
|
|
12
17
|
message: z.ZodObject<{
|
|
13
18
|
id: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
14
19
|
sender: z.ZodObject<{
|
|
@@ -43,6 +48,11 @@ export declare const needsAttentionOutputSchema: z.ZodArray<z.ZodObject<{
|
|
|
43
48
|
attempts: z.ZodInt;
|
|
44
49
|
isPushed: z.ZodBoolean;
|
|
45
50
|
since: z.ZodISODateTime;
|
|
51
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
52
|
+
ship: z.ZodObject<{
|
|
53
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
54
|
+
name: z.ZodString;
|
|
55
|
+
}, z.core.$strip>;
|
|
46
56
|
message: z.ZodObject<{
|
|
47
57
|
id: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
|
|
48
58
|
sender: z.ZodObject<{
|
|
@@ -20,6 +20,10 @@ export const needsAttentionDeliverySchema = z.object({
|
|
|
20
20
|
isPushed: z.boolean(),
|
|
21
21
|
/** When it became undeliverable, or was reported not handled. */
|
|
22
22
|
since: isoTime,
|
|
23
|
+
/** Why its crew reported it not handled, as the crew said (#847); null when undeliverable, or when the crew gave none. */
|
|
24
|
+
reason: z.string().nullable(),
|
|
25
|
+
/** The ship whose attempt made it undeliverable, or whose turn did not handle it: its ship page lists it. */
|
|
26
|
+
ship: partySchema,
|
|
23
27
|
message: z.object({
|
|
24
28
|
id: idSchema('message'),
|
|
25
29
|
sender: partySchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"needs-attention.js","sourceRoot":"","sources":["../../src/schemas/needs-attention.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"needs-attention.js","sourceRoot":"","sources":["../../src/schemas/needs-attention.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare const questionSchema: z.ZodObject<{
|
|
|
26
26
|
options: z.ZodArray<z.ZodObject<{
|
|
27
27
|
key: z.ZodInt;
|
|
28
28
|
label: z.ZodString;
|
|
29
|
-
detail: z.ZodString
|
|
29
|
+
detail: z.ZodDefault<z.ZodString>;
|
|
30
30
|
}, z.core.$strip>>;
|
|
31
31
|
pick: z.ZodObject<{
|
|
32
32
|
option: z.ZodInt;
|
|
@@ -48,7 +48,7 @@ export declare const replacementSchema: z.ZodObject<{
|
|
|
48
48
|
options: z.ZodArray<z.ZodObject<{
|
|
49
49
|
key: z.ZodInt;
|
|
50
50
|
label: z.ZodString;
|
|
51
|
-
detail: z.ZodString
|
|
51
|
+
detail: z.ZodDefault<z.ZodString>;
|
|
52
52
|
}, z.core.$strip>>;
|
|
53
53
|
pick: z.ZodObject<{
|
|
54
54
|
option: z.ZodInt;
|
|
@@ -89,7 +89,7 @@ export declare const inboxQuestionSchema: z.ZodObject<{
|
|
|
89
89
|
options: z.ZodArray<z.ZodObject<{
|
|
90
90
|
key: z.ZodInt;
|
|
91
91
|
label: z.ZodString;
|
|
92
|
-
detail: z.ZodString
|
|
92
|
+
detail: z.ZodDefault<z.ZodString>;
|
|
93
93
|
}, z.core.$strip>>;
|
|
94
94
|
pick: z.ZodObject<{
|
|
95
95
|
option: z.ZodInt;
|
package/dist/schemas/question.js
CHANGED
|
@@ -35,7 +35,8 @@ const FIRST_OPTION = 1;
|
|
|
35
35
|
/** An option's number, from 1. */
|
|
36
36
|
const optionKeySchema = z.int().min(FIRST_OPTION);
|
|
37
37
|
const textSchema = z.string().min(1);
|
|
38
|
-
|
|
38
|
+
/** An option: its number, a label, and a detail, empty when the asker sent none (#854): a question is its type, not a perfect format. */
|
|
39
|
+
const optionSchema = z.object({ key: optionKeySchema, label: textSchema, detail: z.string().default('') });
|
|
39
40
|
/** A question: its own uuid, a title, the context to answer from, numbered options, and the asker's pick and why. */
|
|
40
41
|
export const questionSchema = z
|
|
41
42
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question.js","sourceRoot":"","sources":["../../src/schemas/question.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iDAAiD,CAAC;AACzF,MAAM,CAAC,MAAM,wBAAwB,GAAG,kDAAkD,CAAC;AAE3F,0GAA0G;AAC1G,SAAS,SAAS,CAAC,WAAmB;IACpC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,qBAAqB,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,mBAAmB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,uBAAuB,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC1D,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,wBAAwB,CAAC;AAC7D,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,kCAAkC;AAClC,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAElD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"question.js","sourceRoot":"","sources":["../../src/schemas/question.ts"],"names":[],"mappings":"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"}
|