flightdeck 0.2.28 → 0.2.30
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/{flightdeck.lib-CU2_aDNs.js → flightdeck.lib-C59Q6GuJ.js} +1 -2
- package/dist/flightdeck.lib-C59Q6GuJ.js.map +1 -0
- package/dist/flightdeck.x.js +1 -1
- package/dist/lib.d.ts +1916 -917
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +1 -1
- package/package.json +7 -7
- package/src/flightdeck.lib.ts +0 -2
- package/dist/flightdeck.lib-CU2_aDNs.js.map +0 -1
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","names":[],"sources":["../gen/lnav-format-schema.gen.d.ts","../src/flightdeck.lib.d.ts","../src/klaxon.lib.d.ts"],"sourcesContent":["import { z } from \"zod\";\nexport declare const lnavFormatSchema: z.ZodObject<{\n regex: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n pattern: z.ZodOptional<z.ZodString>;\n \"module-format\": z.ZodOptional<z.ZodBoolean>;\n }, \"strict\", z.ZodTypeAny, {\n pattern?: string | undefined;\n \"module-format\"?: boolean | undefined;\n }, {\n pattern?: string | undefined;\n \"module-format\"?: boolean | undefined;\n }>, z.ZodNever]>>, Record<string, {\n pattern?: string | undefined;\n \"module-format\"?: boolean | undefined;\n }>, Record<string, {\n pattern?: string | undefined;\n \"module-format\"?: boolean | undefined;\n }>>>;\n json: z.ZodOptional<z.ZodBoolean>;\n \"convert-to-local-time\": z.ZodOptional<z.ZodBoolean>;\n \"hide-extra\": z.ZodOptional<z.ZodBoolean>;\n multiline: z.ZodOptional<z.ZodBoolean>;\n \"timestamp-divisor\": z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNumber]>>;\n \"file-pattern\": z.ZodOptional<z.ZodString>;\n converter: z.ZodOptional<z.ZodObject<{\n type: z.ZodOptional<z.ZodString>;\n header: z.ZodOptional<z.ZodObject<{\n expr: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNever]>>, Record<string, string>, Record<string, string>>>;\n size: z.ZodOptional<z.ZodNumber>;\n }, \"strict\", z.ZodTypeAny, {\n expr?: Record<string, string> | undefined;\n size?: number | undefined;\n }, {\n expr?: Record<string, string> | undefined;\n size?: number | undefined;\n }>>;\n command: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n type?: string | undefined;\n header?: {\n expr?: Record<string, string> | undefined;\n size?: number | undefined;\n } | undefined;\n command?: string | undefined;\n }, {\n type?: string | undefined;\n header?: {\n expr?: Record<string, string> | undefined;\n size?: number | undefined;\n } | undefined;\n command?: string | undefined;\n }>>;\n \"level-field\": z.ZodOptional<z.ZodString>;\n \"level-pointer\": z.ZodOptional<z.ZodString>;\n \"timestamp-field\": z.ZodOptional<z.ZodString>;\n \"subsecond-field\": z.ZodOptional<z.ZodString>;\n \"subsecond-units\": z.ZodOptional<z.ZodEnum<[\"milli\", \"micro\", \"nano\"]>>;\n \"time-field\": z.ZodOptional<z.ZodString>;\n \"body-field\": z.ZodOptional<z.ZodString>;\n url: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, \"many\">, z.ZodString]>>;\n title: z.ZodOptional<z.ZodString>;\n description: z.ZodOptional<z.ZodString>;\n \"timestamp-format\": z.ZodOptional<z.ZodArray<z.ZodString, \"many\">>;\n \"module-field\": z.ZodOptional<z.ZodString>;\n \"opid-field\": z.ZodOptional<z.ZodString>;\n opid: z.ZodOptional<z.ZodObject<{\n subid: z.ZodOptional<z.ZodString>;\n description: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n format: z.ZodOptional<z.ZodArray<z.ZodObject<{\n field: z.ZodOptional<z.ZodString>;\n extractor: z.ZodOptional<z.ZodString>;\n prefix: z.ZodOptional<z.ZodString>;\n suffix: z.ZodOptional<z.ZodString>;\n joiner: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }, {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }>, \"many\">>;\n }, \"strict\", z.ZodTypeAny, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }>, z.ZodNever]>>, Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }>, Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }>>>;\n \"sub-description\": z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n format: z.ZodOptional<z.ZodArray<z.ZodObject<{\n field: z.ZodOptional<z.ZodString>;\n extractor: z.ZodOptional<z.ZodString>;\n prefix: z.ZodOptional<z.ZodString>;\n suffix: z.ZodOptional<z.ZodString>;\n joiner: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }, {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }>, \"many\">>;\n }, \"strict\", z.ZodTypeAny, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }>, z.ZodNever]>>, Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }>, Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }>>>;\n }, \"strict\", z.ZodTypeAny, {\n description?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n subid?: string | undefined;\n \"sub-description\"?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n }, {\n description?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n subid?: string | undefined;\n \"sub-description\"?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n }>>;\n \"ordered-by-time\": z.ZodOptional<z.ZodBoolean>;\n level: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodNumber, z.ZodString]>, z.ZodNever]>>, Record<string, string | number>, Record<string, string | number>>>;\n value: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n kind: z.ZodOptional<z.ZodEnum<[\"string\", \"integer\", \"float\", \"boolean\", \"json\", \"struct\", \"quoted\", \"xml\"]>>;\n collate: z.ZodOptional<z.ZodString>;\n unit: z.ZodOptional<z.ZodObject<{\n field: z.ZodOptional<z.ZodString>;\n \"scaling-factor\": z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n op: z.ZodOptional<z.ZodEnum<[\"identity\", \"multiply\", \"divide\"]>>;\n value: z.ZodOptional<z.ZodNumber>;\n }, \"strict\", z.ZodTypeAny, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }>, z.ZodNever]>>, Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }>, Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }>>>;\n }, \"strict\", z.ZodTypeAny, {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n }, {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n }>>;\n identifier: z.ZodOptional<z.ZodBoolean>;\n \"foreign-key\": z.ZodOptional<z.ZodBoolean>;\n hidden: z.ZodOptional<z.ZodBoolean>;\n \"action-list\": z.ZodOptional<z.ZodArray<z.ZodString, \"many\">>;\n rewriter: z.ZodOptional<z.ZodString>;\n description: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n description?: string | undefined;\n kind?: \"string\" | \"boolean\" | \"integer\" | \"float\" | \"json\" | \"struct\" | \"quoted\" | \"xml\" | undefined;\n collate?: string | undefined;\n unit?: {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n } | undefined;\n identifier?: boolean | undefined;\n \"foreign-key\"?: boolean | undefined;\n hidden?: boolean | undefined;\n \"action-list\"?: string[] | undefined;\n rewriter?: string | undefined;\n }, {\n description?: string | undefined;\n kind?: \"string\" | \"boolean\" | \"integer\" | \"float\" | \"json\" | \"struct\" | \"quoted\" | \"xml\" | undefined;\n collate?: string | undefined;\n unit?: {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n } | undefined;\n identifier?: boolean | undefined;\n \"foreign-key\"?: boolean | undefined;\n hidden?: boolean | undefined;\n \"action-list\"?: string[] | undefined;\n rewriter?: string | undefined;\n }>, z.ZodNever]>>, Record<string, {\n description?: string | undefined;\n kind?: \"string\" | \"boolean\" | \"integer\" | \"float\" | \"json\" | \"struct\" | \"quoted\" | \"xml\" | undefined;\n collate?: string | undefined;\n unit?: {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n } | undefined;\n identifier?: boolean | undefined;\n \"foreign-key\"?: boolean | undefined;\n hidden?: boolean | undefined;\n \"action-list\"?: string[] | undefined;\n rewriter?: string | undefined;\n }>, Record<string, {\n description?: string | undefined;\n kind?: \"string\" | \"boolean\" | \"integer\" | \"float\" | \"json\" | \"struct\" | \"quoted\" | \"xml\" | undefined;\n collate?: string | undefined;\n unit?: {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n } | undefined;\n identifier?: boolean | undefined;\n \"foreign-key\"?: boolean | undefined;\n hidden?: boolean | undefined;\n \"action-list\"?: string[] | undefined;\n rewriter?: string | undefined;\n }>>>;\n tags: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n paths: z.ZodOptional<z.ZodArray<z.ZodObject<{\n glob: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n glob?: string | undefined;\n }, {\n glob?: string | undefined;\n }>, \"many\">>;\n pattern: z.ZodOptional<z.ZodString>;\n description: z.ZodOptional<z.ZodString>;\n level: z.ZodOptional<z.ZodEnum<[\"trace\", \"debug5\", \"debug4\", \"debug3\", \"debug2\", \"debug\", \"info\", \"stats\", \"notice\", \"warning\", \"error\", \"critical\", \"fatal\"]>>;\n }, \"strict\", z.ZodTypeAny, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }>, z.ZodNever]>>, Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }>, Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }>>>;\n partitions: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n paths: z.ZodOptional<z.ZodArray<z.ZodObject<{\n glob: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n glob?: string | undefined;\n }, {\n glob?: string | undefined;\n }>, \"many\">>;\n pattern: z.ZodOptional<z.ZodString>;\n description: z.ZodOptional<z.ZodString>;\n level: z.ZodOptional<z.ZodEnum<[\"trace\", \"debug5\", \"debug4\", \"debug3\", \"debug2\", \"debug\", \"info\", \"stats\", \"notice\", \"warning\", \"error\", \"critical\", \"fatal\"]>>;\n }, \"strict\", z.ZodTypeAny, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }>, z.ZodNever]>>, Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }>, Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }>>>;\n action: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodObject<{\n label: z.ZodOptional<z.ZodString>;\n \"capture-output\": z.ZodOptional<z.ZodBoolean>;\n cmd: z.ZodOptional<z.ZodArray<z.ZodString, \"many\">>;\n }, \"strict\", z.ZodTypeAny, {\n label?: string | undefined;\n \"capture-output\"?: boolean | undefined;\n cmd?: string[] | undefined;\n }, {\n label?: string | undefined;\n \"capture-output\"?: boolean | undefined;\n cmd?: string[] | undefined;\n }>]>, z.ZodNever]>>, Record<string, string | {\n label?: string | undefined;\n \"capture-output\"?: boolean | undefined;\n cmd?: string[] | undefined;\n }>, Record<string, string | {\n label?: string | undefined;\n \"capture-output\"?: boolean | undefined;\n cmd?: string[] | undefined;\n }>>>;\n sample: z.ZodOptional<z.ZodArray<z.ZodObject<{\n description: z.ZodOptional<z.ZodString>;\n line: z.ZodOptional<z.ZodString>;\n level: z.ZodOptional<z.ZodEnum<[\"trace\", \"debug5\", \"debug4\", \"debug3\", \"debug2\", \"debug\", \"info\", \"stats\", \"notice\", \"warning\", \"error\", \"critical\", \"fatal\"]>>;\n }, \"strict\", z.ZodTypeAny, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n description?: string | undefined;\n line?: string | undefined;\n }, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n description?: string | undefined;\n line?: string | undefined;\n }>, \"many\">>;\n \"line-format\": z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{\n field: z.ZodOptional<z.ZodString>;\n \"default-value\": z.ZodOptional<z.ZodString>;\n \"timestamp-format\": z.ZodOptional<z.ZodString>;\n \"min-width\": z.ZodOptional<z.ZodNumber>;\n \"auto-width\": z.ZodOptional<z.ZodBoolean>;\n \"max-width\": z.ZodOptional<z.ZodNumber>;\n align: z.ZodOptional<z.ZodEnum<[\"left\", \"right\"]>>;\n overflow: z.ZodOptional<z.ZodEnum<[\"abbrev\", \"truncate\", \"dot-dot\", \"last-word\"]>>;\n \"text-transform\": z.ZodOptional<z.ZodEnum<[\"none\", \"uppercase\", \"lowercase\", \"capitalize\"]>>;\n prefix: z.ZodOptional<z.ZodString>;\n suffix: z.ZodOptional<z.ZodString>;\n }, \"strict\", z.ZodTypeAny, {\n \"timestamp-format\"?: string | undefined;\n field?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n \"default-value\"?: string | undefined;\n \"min-width\"?: number | undefined;\n \"auto-width\"?: boolean | undefined;\n \"max-width\"?: number | undefined;\n align?: \"left\" | \"right\" | undefined;\n overflow?: \"abbrev\" | \"truncate\" | \"dot-dot\" | \"last-word\" | undefined;\n \"text-transform\"?: \"none\" | \"uppercase\" | \"lowercase\" | \"capitalize\" | undefined;\n }, {\n \"timestamp-format\"?: string | undefined;\n field?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n \"default-value\"?: string | undefined;\n \"min-width\"?: number | undefined;\n \"auto-width\"?: boolean | undefined;\n \"max-width\"?: number | undefined;\n align?: \"left\" | \"right\" | undefined;\n overflow?: \"abbrev\" | \"truncate\" | \"dot-dot\" | \"last-word\" | undefined;\n \"text-transform\"?: \"none\" | \"uppercase\" | \"lowercase\" | \"capitalize\" | undefined;\n }>]>, \"many\">>;\n \"search-table\": z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n pattern: z.ZodOptional<z.ZodString>;\n glob: z.ZodOptional<z.ZodString>;\n level: z.ZodOptional<z.ZodEnum<[\"trace\", \"debug5\", \"debug4\", \"debug3\", \"debug2\", \"debug\", \"info\", \"stats\", \"notice\", \"warning\", \"error\", \"critical\", \"fatal\"]>>;\n }, \"strict\", z.ZodTypeAny, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n glob?: string | undefined;\n }, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n glob?: string | undefined;\n }>, z.ZodNever]>>, Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n glob?: string | undefined;\n }>, Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n glob?: string | undefined;\n }>>>;\n highlights: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{\n pattern: z.ZodOptional<z.ZodString>;\n color: z.ZodOptional<z.ZodString>;\n \"background-color\": z.ZodOptional<z.ZodString>;\n underline: z.ZodOptional<z.ZodBoolean>;\n blink: z.ZodOptional<z.ZodBoolean>;\n }, \"strict\", z.ZodTypeAny, {\n pattern?: string | undefined;\n color?: string | undefined;\n \"background-color\"?: string | undefined;\n underline?: boolean | undefined;\n blink?: boolean | undefined;\n }, {\n pattern?: string | undefined;\n color?: string | undefined;\n \"background-color\"?: string | undefined;\n underline?: boolean | undefined;\n blink?: boolean | undefined;\n }>, z.ZodNever]>>, Record<string, {\n pattern?: string | undefined;\n color?: string | undefined;\n \"background-color\"?: string | undefined;\n underline?: boolean | undefined;\n blink?: boolean | undefined;\n }>, Record<string, {\n pattern?: string | undefined;\n color?: string | undefined;\n \"background-color\"?: string | undefined;\n underline?: boolean | undefined;\n blink?: boolean | undefined;\n }>>>;\n \"file-type\": z.ZodOptional<z.ZodEnum<[\"text\", \"json\", \"csv\"]>>;\n \"max-unrecognized-lines\": z.ZodOptional<z.ZodNumber>;\n}, \"strict\", z.ZodTypeAny, {\n level?: Record<string, string | number> | undefined;\n value?: Record<string, {\n description?: string | undefined;\n kind?: \"string\" | \"boolean\" | \"integer\" | \"float\" | \"json\" | \"struct\" | \"quoted\" | \"xml\" | undefined;\n collate?: string | undefined;\n unit?: {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n } | undefined;\n identifier?: boolean | undefined;\n \"foreign-key\"?: boolean | undefined;\n hidden?: boolean | undefined;\n \"action-list\"?: string[] | undefined;\n rewriter?: string | undefined;\n }> | undefined;\n regex?: Record<string, {\n pattern?: string | undefined;\n \"module-format\"?: boolean | undefined;\n }> | undefined;\n json?: boolean | undefined;\n \"convert-to-local-time\"?: boolean | undefined;\n \"hide-extra\"?: boolean | undefined;\n multiline?: boolean | undefined;\n \"timestamp-divisor\"?: number | undefined;\n \"file-pattern\"?: string | undefined;\n converter?: {\n type?: string | undefined;\n header?: {\n expr?: Record<string, string> | undefined;\n size?: number | undefined;\n } | undefined;\n command?: string | undefined;\n } | undefined;\n \"level-field\"?: string | undefined;\n \"level-pointer\"?: string | undefined;\n \"timestamp-field\"?: string | undefined;\n \"subsecond-field\"?: string | undefined;\n \"subsecond-units\"?: \"milli\" | \"micro\" | \"nano\" | undefined;\n \"time-field\"?: string | undefined;\n \"body-field\"?: string | undefined;\n url?: string | string[] | undefined;\n title?: string | undefined;\n description?: string | undefined;\n \"timestamp-format\"?: string[] | undefined;\n \"module-field\"?: string | undefined;\n \"opid-field\"?: string | undefined;\n opid?: {\n description?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n subid?: string | undefined;\n \"sub-description\"?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n } | undefined;\n \"ordered-by-time\"?: boolean | undefined;\n tags?: Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }> | undefined;\n partitions?: Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }> | undefined;\n action?: Record<string, string | {\n label?: string | undefined;\n \"capture-output\"?: boolean | undefined;\n cmd?: string[] | undefined;\n }> | undefined;\n sample?: {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n description?: string | undefined;\n line?: string | undefined;\n }[] | undefined;\n \"line-format\"?: (string | {\n \"timestamp-format\"?: string | undefined;\n field?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n \"default-value\"?: string | undefined;\n \"min-width\"?: number | undefined;\n \"auto-width\"?: boolean | undefined;\n \"max-width\"?: number | undefined;\n align?: \"left\" | \"right\" | undefined;\n overflow?: \"abbrev\" | \"truncate\" | \"dot-dot\" | \"last-word\" | undefined;\n \"text-transform\"?: \"none\" | \"uppercase\" | \"lowercase\" | \"capitalize\" | undefined;\n })[] | undefined;\n \"search-table\"?: Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n glob?: string | undefined;\n }> | undefined;\n highlights?: Record<string, {\n pattern?: string | undefined;\n color?: string | undefined;\n \"background-color\"?: string | undefined;\n underline?: boolean | undefined;\n blink?: boolean | undefined;\n }> | undefined;\n \"file-type\"?: \"json\" | \"text\" | \"csv\" | undefined;\n \"max-unrecognized-lines\"?: number | undefined;\n}, {\n level?: Record<string, string | number> | undefined;\n value?: Record<string, {\n description?: string | undefined;\n kind?: \"string\" | \"boolean\" | \"integer\" | \"float\" | \"json\" | \"struct\" | \"quoted\" | \"xml\" | undefined;\n collate?: string | undefined;\n unit?: {\n field?: string | undefined;\n \"scaling-factor\"?: Record<string, {\n value?: number | undefined;\n op?: \"identity\" | \"multiply\" | \"divide\" | undefined;\n }> | undefined;\n } | undefined;\n identifier?: boolean | undefined;\n \"foreign-key\"?: boolean | undefined;\n hidden?: boolean | undefined;\n \"action-list\"?: string[] | undefined;\n rewriter?: string | undefined;\n }> | undefined;\n regex?: Record<string, {\n pattern?: string | undefined;\n \"module-format\"?: boolean | undefined;\n }> | undefined;\n json?: boolean | undefined;\n \"convert-to-local-time\"?: boolean | undefined;\n \"hide-extra\"?: boolean | undefined;\n multiline?: boolean | undefined;\n \"timestamp-divisor\"?: number | undefined;\n \"file-pattern\"?: string | undefined;\n converter?: {\n type?: string | undefined;\n header?: {\n expr?: Record<string, string> | undefined;\n size?: number | undefined;\n } | undefined;\n command?: string | undefined;\n } | undefined;\n \"level-field\"?: string | undefined;\n \"level-pointer\"?: string | undefined;\n \"timestamp-field\"?: string | undefined;\n \"subsecond-field\"?: string | undefined;\n \"subsecond-units\"?: \"milli\" | \"micro\" | \"nano\" | undefined;\n \"time-field\"?: string | undefined;\n \"body-field\"?: string | undefined;\n url?: string | string[] | undefined;\n title?: string | undefined;\n description?: string | undefined;\n \"timestamp-format\"?: string[] | undefined;\n \"module-field\"?: string | undefined;\n \"opid-field\"?: string | undefined;\n opid?: {\n description?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n subid?: string | undefined;\n \"sub-description\"?: Record<string, {\n format?: {\n field?: string | undefined;\n extractor?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n joiner?: string | undefined;\n }[] | undefined;\n }> | undefined;\n } | undefined;\n \"ordered-by-time\"?: boolean | undefined;\n tags?: Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }> | undefined;\n partitions?: Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n description?: string | undefined;\n paths?: {\n glob?: string | undefined;\n }[] | undefined;\n }> | undefined;\n action?: Record<string, string | {\n label?: string | undefined;\n \"capture-output\"?: boolean | undefined;\n cmd?: string[] | undefined;\n }> | undefined;\n sample?: {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n description?: string | undefined;\n line?: string | undefined;\n }[] | undefined;\n \"line-format\"?: (string | {\n \"timestamp-format\"?: string | undefined;\n field?: string | undefined;\n prefix?: string | undefined;\n suffix?: string | undefined;\n \"default-value\"?: string | undefined;\n \"min-width\"?: number | undefined;\n \"auto-width\"?: boolean | undefined;\n \"max-width\"?: number | undefined;\n align?: \"left\" | \"right\" | undefined;\n overflow?: \"abbrev\" | \"truncate\" | \"dot-dot\" | \"last-word\" | undefined;\n \"text-transform\"?: \"none\" | \"uppercase\" | \"lowercase\" | \"capitalize\" | undefined;\n })[] | undefined;\n \"search-table\"?: Record<string, {\n level?: \"info\" | \"trace\" | \"debug5\" | \"debug4\" | \"debug3\" | \"debug2\" | \"debug\" | \"stats\" | \"notice\" | \"warning\" | \"error\" | \"critical\" | \"fatal\" | undefined;\n pattern?: string | undefined;\n glob?: string | undefined;\n }> | undefined;\n highlights?: Record<string, {\n pattern?: string | undefined;\n color?: string | undefined;\n \"background-color\"?: string | undefined;\n underline?: boolean | undefined;\n blink?: boolean | undefined;\n }> | undefined;\n \"file-type\"?: \"json\" | \"text\" | \"csv\" | undefined;\n \"max-unrecognized-lines\"?: number | undefined;\n}>;\nexport type LnavFormat = z.infer<typeof lnavFormatSchema>;\n","import type { Server } from \"node:http\";\nimport { Future } from \"atom.io/internal\";\nimport { ChildSocket } from \"atom.io/realtime-server\";\nimport { CronJob } from \"cron\";\nimport { FilesystemStorage } from \"safedeposit\";\nimport { z } from \"zod\";\nimport type { LnavFormat } from \"../gen/lnav-format-schema.gen\";\nexport declare const FLIGHTDECK_SETUP_PHASES: readonly [\"downloaded\", \"installed\"];\nexport type FlightDeckSetupPhase = (typeof FLIGHTDECK_SETUP_PHASES)[number];\nexport declare const FLIGHTDECK_UPDATE_PHASES: readonly [\"notified\", \"confirmed\"];\nexport type FlightDeckUpdatePhase = (typeof FLIGHTDECK_UPDATE_PHASES)[number];\nexport declare function isVersionNumber(version: string): boolean;\nexport type FlightDeckOptions<S extends string = string> = {\n packageName: string;\n services: {\n [service in S]: {\n run: string;\n waitFor: boolean;\n };\n };\n scripts: {\n download: string;\n install: string;\n checkAvailability?: string;\n };\n port?: number | undefined;\n flightdeckRootDir?: string | undefined;\n jsonLogging?: boolean | undefined;\n};\nexport declare class FlightDeck<S extends string = string> {\n readonly options: FlightDeckOptions<S>;\n protected safety: number;\n protected storage: FilesystemStorage<{\n setupPhase: FlightDeckSetupPhase;\n updatePhase: FlightDeckUpdatePhase;\n updateAwaitedVersion: string;\n }>;\n protected webhookServer: Server;\n protected services: {\n [service in S]: ChildSocket<{\n timeToStop: [];\n updatesReady: [];\n }, {\n readyToUpdate: [];\n alive: [];\n }> | null;\n };\n protected serviceIdx: {\n readonly [service in S]: number;\n };\n defaultServicesReadyToUpdate: {\n readonly [service in S]: boolean;\n };\n servicesReadyToUpdate: {\n [service in S]: boolean;\n };\n autoRespawnDeadServices: boolean;\n protected logger: Pick<Console, `error` | `info` | `warn`>;\n protected serviceLoggers: {\n readonly [service in S]: FlightDeckLogger;\n };\n protected updateAvailabilityChecker: CronJob | null;\n servicesLive: Future<void>[];\n servicesDead: Future<void>[];\n live: Future<unknown>;\n dead: Future<unknown>;\n protected restartTimes: number[];\n constructor(options: FlightDeckOptions<S>);\n protected seekUpdate(version: string): Promise<void>;\n protected announceUpdate(): void;\n protected tryUpdate(): void;\n protected startAllServices(): Future<unknown>;\n protected startService(serviceName: S): void;\n protected downloadPackage(): void;\n protected installPackage(): void;\n stopAllServices(): Future<unknown>;\n stopService(serviceName: S): void;\n}\nexport declare const FLIGHTDECK_INFO = \"info\";\nexport declare const FLIGHTDECK_WARN = \"warn\";\nexport declare const FLIGHTDECK_ERROR = \"ERR!\";\nexport declare const flightDeckLogSchema: z.ZodObject<{\n level: z.ZodUnion<[z.ZodLiteral<\"info\">, z.ZodLiteral<\"warn\">, z.ZodLiteral<\"ERR!\">]>;\n timestamp: z.ZodNumber;\n package: z.ZodString;\n service: z.ZodOptional<z.ZodString>;\n process: z.ZodNumber;\n body: z.ZodString;\n}, \"strip\", z.ZodTypeAny, {\n level: \"info\" | \"warn\" | \"ERR!\";\n timestamp: number;\n package: string;\n process: number;\n body: string;\n service?: string | undefined;\n}, {\n level: \"info\" | \"warn\" | \"ERR!\";\n timestamp: number;\n package: string;\n process: number;\n body: string;\n service?: string | undefined;\n}>;\nexport type FlightDeckLog = z.infer<typeof flightDeckLogSchema>;\ndeclare const LINE_FORMAT = \"line-format\";\ndeclare const VALUE = \"value\";\nexport type LnavFormatVisualComponent = Exclude<Exclude<LnavFormat[`line-format`], undefined>[number], string>;\nexport type LnavFormatBreakdown = Exclude<LnavFormat[`value`], undefined>;\nexport type MemberOf<T> = T[keyof T];\nexport type LnavFormatValueDefinition = MemberOf<LnavFormatBreakdown>;\nexport type FlightDeckFormat = {\n [LINE_FORMAT]: (string | (LnavFormatVisualComponent & {\n field: keyof FlightDeckLog | `__level__` | `__timestamp__`;\n }))[];\n [VALUE]: {\n [K in keyof FlightDeckLog]: LnavFormatValueDefinition & {\n kind: FlightDeckLog[K] extends number | undefined ? `integer` : FlightDeckLog[K] extends string | undefined ? `string` : never;\n };\n };\n};\nexport declare const FLIGHTDECK_LNAV_FORMAT: {\n readonly title: \"FlightDeck Log\";\n readonly description: \"Format for events logged by the FlightDeck process manager.\";\n readonly \"file-type\": \"json\";\n readonly \"timestamp-field\": \"timestamp\";\n readonly \"timestamp-divisor\": 1000;\n readonly \"module-field\": \"package\";\n readonly \"opid-field\": \"service\";\n readonly \"level-field\": \"level\";\n readonly level: {\n readonly info: \"info\";\n readonly warning: \"warn\";\n readonly error: \"ERR!\";\n };\n readonly \"line-format\": [{\n readonly field: \"level\";\n }, {\n readonly prefix: \" \";\n readonly field: \"__timestamp__\";\n readonly \"timestamp-format\": \"%Y-%m-%dT%H:%M:%S.%L%Z\";\n }, {\n readonly prefix: \" \";\n readonly field: \"process\";\n readonly \"min-width\": 5;\n }, {\n readonly prefix: \":\";\n readonly field: \"package\";\n }, {\n readonly prefix: \":\";\n readonly field: \"service\";\n readonly \"default-value\": \"\";\n }, {\n readonly prefix: \": \";\n readonly field: \"body\";\n }];\n readonly value: {\n readonly timestamp: {\n readonly kind: \"integer\";\n };\n readonly level: {\n readonly kind: \"string\";\n };\n readonly package: {\n readonly kind: \"string\";\n };\n readonly service: {\n readonly kind: \"string\";\n };\n readonly process: {\n readonly kind: \"integer\";\n };\n readonly body: {\n readonly kind: \"string\";\n };\n };\n};\nexport declare class FlightDeckLogger implements Pick<Console, `error` | `info` | `warn`> {\n readonly packageName: string;\n readonly serviceName?: string;\n readonly jsonLogging: boolean;\n processCode: number;\n constructor(packageName: string, processCode: number, serviceName?: string, options?: {\n jsonLogging: boolean;\n });\n protected log(level: typeof FLIGHTDECK_ERROR | typeof FLIGHTDECK_INFO | typeof FLIGHTDECK_WARN, ...messages: unknown[]): void;\n info(...messages: unknown[]): void;\n warn(...messages: unknown[]): void;\n error(...messages: unknown[]): void;\n}\nexport {};\n","export type AlertOptions = {\n secret: string;\n endpoint: string;\n version: string;\n};\nexport declare function alert({ secret, endpoint, version, }: AlertOptions): Promise<Response>;\n/**\n * @see https://github.com/changesets/action/blob/main/src/run.ts\n */\nexport type ChangesetsPublishedPackage = {\n name: string;\n version: string;\n};\n/**\n * @see https://github.com/changesets/action/blob/main/src/run.ts\n */\nexport type ChangesetsPublishResult = {\n published: true;\n publishedPackages: ChangesetsPublishedPackage[];\n} | {\n published: false;\n};\nexport type PackageConfig<K extends string> = {\n [key in K]: {\n endpoint: string;\n };\n};\nexport type SecretsConfig<K extends string> = {\n [key in K]: string;\n};\nexport type ScrambleOptions<K extends string = string> = {\n packageConfig: PackageConfig<K>;\n secretsConfig: SecretsConfig<K>;\n publishedPackages: ChangesetsPublishedPackage[];\n};\nexport type ScrambleResult<K extends string = string> = {\n [key in K]: Response;\n};\nexport declare function scramble<K extends string = string>({ packageConfig, secretsConfig, publishedPackages, }: ScrambleOptions<K>): Promise<ScrambleResult<K>>;\n"],"mappings":";;;;;;;;;AACA,IAAW,mBAuwBT;CAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAA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"}
|
|
1
|
+
{"version":3,"file":"lib.d.ts","names":[],"sources":["../../atom.io/dist/transceivers/set-rtx/index.d.ts","../../atom.io/dist/main/index.d.ts","../../atom.io/dist/json/index.d.ts","../../atom.io/dist/internal/index.d.ts","../../atom.io/dist/realtime-server/index.d.ts","../../safedeposit/dist/safedeposit.d.ts","../gen/lnav-format-schema.gen.d.ts","../src/flightdeck.lib.d.ts","../src/klaxon.lib.d.ts"],"sourcesContent":null,"mappings":"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AAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA;CAAA,MAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,EAAA;CAAA,MAAA,E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"}
|
package/dist/lib.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FLIGHTDECK_ERROR, FLIGHTDECK_INFO, FLIGHTDECK_LNAV_FORMAT, FLIGHTDECK_SETUP_PHASES, FLIGHTDECK_UPDATE_PHASES, FLIGHTDECK_WARN, FlightDeck, FlightDeckLogger, flightDeckLogSchema, isVersionNumber } from "./flightdeck.lib-
|
|
1
|
+
import { FLIGHTDECK_ERROR, FLIGHTDECK_INFO, FLIGHTDECK_LNAV_FORMAT, FLIGHTDECK_SETUP_PHASES, FLIGHTDECK_UPDATE_PHASES, FLIGHTDECK_WARN, FlightDeck, FlightDeckLogger, flightDeckLogSchema, isVersionNumber } from "./flightdeck.lib-C59Q6GuJ.js";
|
|
2
2
|
import { klaxon_lib_exports } from "./klaxon.lib-CNw2A3ce.js";
|
|
3
3
|
|
|
4
4
|
export { FLIGHTDECK_ERROR, FLIGHTDECK_INFO, FLIGHTDECK_LNAV_FORMAT, FLIGHTDECK_SETUP_PHASES, FLIGHTDECK_UPDATE_PHASES, FLIGHTDECK_WARN, FlightDeck, FlightDeckLogger, klaxon_lib_exports as Klaxon, flightDeckLogSchema, isVersionNumber };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flightdeck",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.30",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jeremy Banka",
|
|
@@ -27,27 +27,27 @@
|
|
|
27
27
|
"klaxon": "./bin/klaxon.bin.js"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@t3-oss/env-core": "0.13.
|
|
30
|
+
"@t3-oss/env-core": "0.13.4",
|
|
31
31
|
"cron": "4.3.0",
|
|
32
32
|
"zod": "3.24.3",
|
|
33
|
-
"atom.io": "0.32.4",
|
|
34
33
|
"comline": "0.2.5",
|
|
34
|
+
"atom.io": "0.33.1",
|
|
35
35
|
"safedeposit": "0.1.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
+
"@types/bun": "npm:bun-types@1.2.11",
|
|
38
39
|
"@biomejs/js-api": "0.7.1",
|
|
39
40
|
"@biomejs/wasm-nodejs": "1.9.4",
|
|
40
|
-
"@types/node": "22.
|
|
41
|
+
"@types/node": "22.15.3",
|
|
41
42
|
"@types/tmp": "0.2.6",
|
|
42
|
-
"bun-types": "1.2.10",
|
|
43
43
|
"concurrently": "9.1.2",
|
|
44
44
|
"eslint": "9.25.1",
|
|
45
45
|
"json-schema-to-zod": "2.6.1",
|
|
46
46
|
"rimraf": "6.0.1",
|
|
47
47
|
"tmp": "0.2.3",
|
|
48
|
-
"tsdown": "0.
|
|
48
|
+
"tsdown": "0.10.2",
|
|
49
49
|
"vitest": "3.1.2",
|
|
50
|
-
"varmint": "0.
|
|
50
|
+
"varmint": "0.5.0"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"gen": "bun ./__scripts__/gen.bun.ts",
|
package/src/flightdeck.lib.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { execSync, spawn } from "node:child_process"
|
|
2
|
-
import type { Server } from "node:http"
|
|
3
2
|
import { createServer } from "node:http"
|
|
4
3
|
import { homedir } from "node:os"
|
|
5
4
|
import { resolve } from "node:path"
|
|
@@ -52,7 +51,6 @@ export class FlightDeck<S extends string = string> {
|
|
|
52
51
|
updatePhase: FlightDeckUpdatePhase
|
|
53
52
|
updateAwaitedVersion: string
|
|
54
53
|
}>
|
|
55
|
-
protected webhookServer: Server
|
|
56
54
|
protected services: {
|
|
57
55
|
[service in S]: ChildSocket<
|
|
58
56
|
{ timeToStop: []; updatesReady: [] },
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flightdeck.lib-CU2_aDNs.js","names":["version: string","options: FlightDeckOptions<S>","data: Uint8Array[]","serviceName: S","packageName: string","processCode: number","serviceName?: string","options?: { jsonLogging: boolean }","level:\n\t\t\t| typeof FLIGHTDECK_ERROR\n\t\t\t| typeof FLIGHTDECK_INFO\n\t\t\t| typeof FLIGHTDECK_WARN","log: FlightDeckLog"],"sources":["../src/flightdeck.env.ts","../src/flightdeck.lib.ts"],"sourcesContent":["import { createEnv } from \"@t3-oss/env-core\"\nimport { z } from \"zod\"\n\nexport const env = createEnv({\n\tserver: { FLIGHTDECK_SECRET: z.string().optional() },\n\tclientPrefix: `NEVER`,\n\tclient: {},\n\truntimeEnv: import.meta.env as Record<string, string>,\n\temptyStringAsUndefined: true,\n})\n","import { execSync, spawn } from \"node:child_process\"\nimport type { Server } from \"node:http\"\nimport { createServer } from \"node:http\"\nimport { homedir } from \"node:os\"\nimport { resolve } from \"node:path\"\nimport { inspect } from \"node:util\"\n\nimport { Future } from \"atom.io/internal\"\nimport { discoverType } from \"atom.io/introspection\"\nimport { fromEntries, toEntries } from \"atom.io/json\"\nimport { ChildSocket } from \"atom.io/realtime-server\"\nimport { CronJob } from \"cron\"\nimport { FilesystemStorage } from \"safedeposit\"\nimport { z } from \"zod\"\n\nimport type { LnavFormat } from \"../gen/lnav-format-schema.gen\"\nimport { env } from \"./flightdeck.env\"\n\nexport const FLIGHTDECK_SETUP_PHASES = [`downloaded`, `installed`] as const\n\nexport type FlightDeckSetupPhase = (typeof FLIGHTDECK_SETUP_PHASES)[number]\n\nexport const FLIGHTDECK_UPDATE_PHASES = [`notified`, `confirmed`] as const\n\nexport type FlightDeckUpdatePhase = (typeof FLIGHTDECK_UPDATE_PHASES)[number]\n\nexport function isVersionNumber(version: string): boolean {\n\treturn (\n\t\t/^\\d+\\.\\d+\\.\\d+$/.test(version) || !Number.isNaN(Number.parseFloat(version))\n\t)\n}\n\nexport type FlightDeckOptions<S extends string = string> = {\n\tpackageName: string\n\tservices: { [service in S]: { run: string; waitFor: boolean } }\n\tscripts: {\n\t\tdownload: string\n\t\tinstall: string\n\t\tcheckAvailability?: string\n\t}\n\tport?: number | undefined\n\tflightdeckRootDir?: string | undefined\n\tjsonLogging?: boolean | undefined\n}\n\nexport class FlightDeck<S extends string = string> {\n\tpublic readonly options: FlightDeckOptions<S>\n\tprotected safety = 0\n\n\tprotected storage: FilesystemStorage<{\n\t\tsetupPhase: FlightDeckSetupPhase\n\t\tupdatePhase: FlightDeckUpdatePhase\n\t\tupdateAwaitedVersion: string\n\t}>\n\tprotected webhookServer: Server\n\tprotected services: {\n\t\t[service in S]: ChildSocket<\n\t\t\t{ timeToStop: []; updatesReady: [] },\n\t\t\t{ readyToUpdate: []; alive: [] }\n\t\t> | null\n\t}\n\tprotected serviceIdx: { readonly [service in S]: number }\n\tpublic defaultServicesReadyToUpdate: { readonly [service in S]: boolean }\n\tpublic servicesReadyToUpdate: { [service in S]: boolean }\n\tpublic autoRespawnDeadServices: boolean\n\n\tprotected logger: Pick<Console, `error` | `info` | `warn`>\n\tprotected serviceLoggers: {\n\t\treadonly [service in S]: FlightDeckLogger\n\t}\n\n\tprotected updateAvailabilityChecker: CronJob | null = null\n\n\tpublic servicesLive: Future<void>[]\n\tpublic servicesDead: Future<void>[]\n\tpublic live = new Future(() => {})\n\tpublic dead = new Future(() => {})\n\n\tprotected restartTimes: number[] = []\n\n\tpublic constructor(options: FlightDeckOptions<S>) {\n\t\tthis.options = options\n\t\tconst { FLIGHTDECK_SECRET } = env\n\t\tconst { flightdeckRootDir = resolve(homedir(), `.flightdeck`) } = options\n\t\tconst port = options.port ?? 8080\n\t\tconst origin = `http://localhost:${port}`\n\n\t\tconst servicesEntries = toEntries(options.services)\n\t\tthis.services = fromEntries(\n\t\t\tservicesEntries.map(([serviceName]) => [serviceName, null]),\n\t\t)\n\t\tthis.serviceIdx = fromEntries(\n\t\t\tservicesEntries.map(([serviceName], idx) => [serviceName, idx]),\n\t\t)\n\t\tthis.defaultServicesReadyToUpdate = fromEntries(\n\t\t\tservicesEntries.map(([serviceName, { waitFor }]) => [\n\t\t\t\tserviceName,\n\t\t\t\t!waitFor,\n\t\t\t]),\n\t\t)\n\t\tthis.servicesReadyToUpdate = { ...this.defaultServicesReadyToUpdate }\n\t\tthis.autoRespawnDeadServices = true\n\n\t\tthis.logger = new FlightDeckLogger(\n\t\t\tthis.options.packageName,\n\t\t\tprocess.pid,\n\t\t\tundefined,\n\t\t\t{ jsonLogging: this.options.jsonLogging ?? false },\n\t\t)\n\t\tthis.serviceLoggers = fromEntries(\n\t\t\tservicesEntries.map(([serviceName]) => [\n\t\t\t\tserviceName,\n\t\t\t\tnew FlightDeckLogger(\n\t\t\t\t\tthis.options.packageName,\n\t\t\t\t\tprocess.pid,\n\t\t\t\t\tserviceName,\n\t\t\t\t\t{ jsonLogging: this.options.jsonLogging ?? false },\n\t\t\t\t),\n\t\t\t]),\n\t\t)\n\n\t\tthis.servicesLive = servicesEntries.map(() => new Future(() => {}))\n\t\tthis.servicesDead = servicesEntries.map(() => new Future(() => {}))\n\t\tthis.live.use(Promise.all(this.servicesLive))\n\t\tthis.dead.use(Promise.all(this.servicesDead))\n\n\t\tthis.storage = new FilesystemStorage({\n\t\t\tpath: resolve(flightdeckRootDir, `storage`, options.packageName),\n\t\t})\n\n\t\tif (FLIGHTDECK_SECRET === undefined) {\n\t\t\tthis.logger.warn(\n\t\t\t\t`No FLIGHTDECK_SECRET environment variable found. FlightDeck will not run an update server.`,\n\t\t\t)\n\t\t} else {\n\t\t\tcreateServer((req, res) => {\n\t\t\t\tlet data: Uint8Array[] = []\n\t\t\t\treq\n\t\t\t\t\t.on(`data`, (chunk) => {\n\t\t\t\t\t\tdata.push(chunk instanceof Buffer ? chunk : Buffer.from(chunk))\n\t\t\t\t\t})\n\t\t\t\t\t.on(`end`, async () => {\n\t\t\t\t\t\tconst authHeader = req.headers.authorization\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (typeof req.url === `undefined`) throw 400\n\t\t\t\t\t\t\tconst expectedAuthHeader = `Bearer ${FLIGHTDECK_SECRET}`\n\t\t\t\t\t\t\tif (authHeader !== `Bearer ${FLIGHTDECK_SECRET}`) {\n\t\t\t\t\t\t\t\tthis.logger.info(\n\t\t\t\t\t\t\t\t\t`Unauthorized: needed \\`${expectedAuthHeader}\\`, got \\`${authHeader}\\``,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tthrow 401\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst url = new URL(req.url, origin)\n\t\t\t\t\t\t\tthis.logger.info(req.method, url.pathname)\n\n\t\t\t\t\t\t\tconst versionForeignInput = Buffer.concat(data).toString()\n\t\t\t\t\t\t\tif (!isVersionNumber(versionForeignInput)) {\n\t\t\t\t\t\t\t\tthrow 400\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tres.writeHead(200)\n\t\t\t\t\t\t\tres.end()\n\n\t\t\t\t\t\t\tthis.storage.setItem(`updatePhase`, `notified`)\n\t\t\t\t\t\t\tthis.storage.setItem(`updateAwaitedVersion`, versionForeignInput)\n\t\t\t\t\t\t\tconst { checkAvailability } = options.scripts\n\t\t\t\t\t\t\tif (checkAvailability) {\n\t\t\t\t\t\t\t\tawait this.updateAvailabilityChecker?.stop()\n\t\t\t\t\t\t\t\tawait this.seekUpdate(versionForeignInput)\n\t\t\t\t\t\t\t\tconst updatePhase = this.storage.getItem(`updatePhase`)\n\t\t\t\t\t\t\t\tthis.logger.info(`> storage(\"updatePhase\") >`, updatePhase)\n\t\t\t\t\t\t\t\tif (updatePhase === `notified`) {\n\t\t\t\t\t\t\t\t\tthis.updateAvailabilityChecker = new CronJob(\n\t\t\t\t\t\t\t\t\t\t`30 * * * * *`,\n\t\t\t\t\t\t\t\t\t\tasync () => {\n\t\t\t\t\t\t\t\t\t\t\tawait this.seekUpdate(versionForeignInput)\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\tthis.updateAvailabilityChecker.start()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.downloadPackage()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (thrown) {\n\t\t\t\t\t\t\tthis.logger.error(thrown, req.url)\n\t\t\t\t\t\t\tif (typeof thrown === `number`) {\n\t\t\t\t\t\t\t\tres.writeHead(thrown)\n\t\t\t\t\t\t\t\tres.end()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tdata = []\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t}).listen(port, () => {\n\t\t\t\tthis.logger.info(`Server started on port ${port}`)\n\t\t\t})\n\t\t}\n\n\t\tthis.startAllServices()\n\t\t\t.then(() => {\n\t\t\t\tthis.logger.info(`All services started.`)\n\t\t\t})\n\t\t\t.catch((thrown) => {\n\t\t\t\tif (thrown instanceof Error) {\n\t\t\t\t\tthis.logger.error(`Failed to start all services:`, thrown.message)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprotected async seekUpdate(version: string): Promise<void> {\n\t\tthis.logger.info(`Checking for updates...`)\n\t\tconst { checkAvailability } = this.options.scripts\n\t\tif (!checkAvailability) {\n\t\t\tthis.logger.info(`No checkAvailability script found.`)\n\t\t\treturn\n\t\t}\n\t\ttry {\n\t\t\tconst out = execSync(`${checkAvailability} ${version}`)\n\t\t\tthis.logger.info(`Check stdout:`, out.toString())\n\t\t\tawait this.updateAvailabilityChecker?.stop()\n\t\t\tthis.storage.setItem(`updatePhase`, `confirmed`)\n\t\t\tthis.downloadPackage()\n\t\t\tthis.announceUpdate()\n\t\t} catch (thrown) {\n\t\t\tif (thrown instanceof Error) {\n\t\t\t\tthis.logger.error(`Check failed:`, thrown.message)\n\t\t\t} else {\n\t\t\t\tconst thrownType = discoverType(thrown)\n\t\t\t\tthis.logger.error(`Check threw`, thrownType, thrown)\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected announceUpdate(): void {\n\t\tfor (const entry of toEntries(this.services)) {\n\t\t\tconst [serviceName, service] = entry\n\t\t\tif (service) {\n\t\t\t\tif (this.options.services[serviceName].waitFor) {\n\t\t\t\t\tservice.emit(`updatesReady`)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.startService(serviceName)\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected tryUpdate(): void {\n\t\tif (toEntries(this.servicesReadyToUpdate).every(([, isReady]) => isReady)) {\n\t\t\tthis.logger.info(`All services are ready to update.`)\n\t\t\tthis.stopAllServices()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.logger.info(`All services stopped; starting up fresh...`)\n\t\t\t\t\tthis.startAllServices()\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.logger.info(`All services started; we're back online.`)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((thrown) => {\n\t\t\t\t\t\t\tif (thrown instanceof Error) {\n\t\t\t\t\t\t\t\tthis.logger.error(\n\t\t\t\t\t\t\t\t\t`Failed to start all services:`,\n\t\t\t\t\t\t\t\t\tthrown.message,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((thrown) => {\n\t\t\t\t\tif (thrown instanceof Error) {\n\t\t\t\t\t\tthis.logger.error(`Failed to stop all services:`, thrown.message)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\tprotected startAllServices(): Future<unknown> {\n\t\tthis.logger.info(`Starting all services...`)\n\t\tthis.autoRespawnDeadServices = true\n\t\tconst setupPhase = this.storage.getItem(`setupPhase`)\n\t\tthis.logger.info(`> storage(\"setupPhase\") >`, setupPhase)\n\t\tswitch (setupPhase) {\n\t\t\tcase null:\n\t\t\t\tthis.logger.info(`Starting from scratch.`)\n\t\t\t\tthis.downloadPackage()\n\t\t\t\tthis.installPackage()\n\t\t\t\treturn this.startAllServices()\n\t\t\tcase `downloaded`:\n\t\t\t\tthis.logger.info(`Found package downloaded but not installed.`)\n\t\t\t\tthis.installPackage()\n\t\t\t\treturn this.startAllServices()\n\t\t\tcase `installed`: {\n\t\t\t\tfor (const [serviceName] of toEntries(this.services)) {\n\t\t\t\t\tthis.startService(serviceName)\n\t\t\t\t}\n\t\t\t\treturn this.live\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected startService(serviceName: S): void {\n\t\tthis.logger.info(\n\t\t\t`Starting service ${this.options.packageName}::${serviceName}, try ${this.safety}/2...`,\n\t\t)\n\t\tif (this.safety >= 2) {\n\t\t\tthrow new Error(`Out of tries...`)\n\t\t}\n\t\tthis.safety++\n\n\t\tconst [exe, ...args] = this.options.services[serviceName].run.split(` `)\n\t\tconst serviceProcess = spawn(exe, args, {\n\t\t\tcwd: this.options.flightdeckRootDir,\n\t\t\tenv: import.meta.env as Record<string, string>,\n\t\t})\n\t\tconst serviceLogger = this.serviceLoggers[serviceName]\n\t\tconst service = (this.services[serviceName] = new ChildSocket(\n\t\t\tserviceProcess,\n\t\t\t`${this.options.packageName}::${serviceName}`,\n\t\t\tserviceLogger,\n\t\t))\n\t\tserviceLogger.processCode = service.process.pid ?? -1\n\t\tthis.services[serviceName].onAny((...messages) => {\n\t\t\tserviceLogger.info(`💬`, ...messages)\n\t\t})\n\t\tthis.services[serviceName].on(`readyToUpdate`, () => {\n\t\t\tthis.logger.info(`Service \"${serviceName}\" is ready to update.`)\n\t\t\tthis.servicesReadyToUpdate[serviceName] = true\n\t\t\tthis.tryUpdate()\n\t\t})\n\t\tthis.services[serviceName].on(`alive`, () => {\n\t\t\tthis.servicesLive[this.serviceIdx[serviceName]].use(Promise.resolve())\n\t\t\tthis.servicesDead[this.serviceIdx[serviceName]] = new Future(() => {})\n\t\t\tif (this.dead.done) {\n\t\t\t\tthis.dead = new Future(() => {})\n\t\t\t}\n\t\t\tthis.dead.use(Promise.all(this.servicesDead))\n\t\t})\n\t\tthis.services[serviceName].process.once(`close`, (exitCode) => {\n\t\t\tthis.logger.info(\n\t\t\t\t`Auto-respawn saw \"${serviceName}\" exit with code ${exitCode}`,\n\t\t\t)\n\t\t\tthis.services[serviceName] = null\n\t\t\tif (!this.autoRespawnDeadServices) {\n\t\t\t\tthis.logger.info(`Auto-respawn is off; \"${serviceName}\" rests.`)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst updatePhase = this.storage.getItem(`updatePhase`)\n\t\t\tthis.logger.info(`> storage(\"updatePhase\") >`, updatePhase)\n\t\t\tconst updatesAreReady = updatePhase === `confirmed`\n\t\t\tif (updatesAreReady) {\n\t\t\t\tthis.serviceLoggers[serviceName].info(`Updating before startup...`)\n\t\t\t\tthis.restartTimes = []\n\t\t\t\tthis.installPackage()\n\t\t\t\tthis.startService(serviceName)\n\t\t\t} else {\n\t\t\t\tconst now = Date.now()\n\t\t\t\tconst fiveMinutesAgo = now - 5 * 60 * 1000\n\t\t\t\tthis.restartTimes = this.restartTimes.filter(\n\t\t\t\t\t(time) => time > fiveMinutesAgo,\n\t\t\t\t)\n\t\t\t\tthis.restartTimes.push(now)\n\n\t\t\t\tif (this.restartTimes.length < 5) {\n\t\t\t\t\tthis.serviceLoggers[serviceName].info(`Crashed. Restarting...`)\n\t\t\t\t\tthis.startService(serviceName)\n\t\t\t\t} else {\n\t\t\t\t\tthis.serviceLoggers[serviceName].info(\n\t\t\t\t\t\t`Crashed 5 times in 5 minutes. Not restarting.`,\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tthis.safety = 0\n\t}\n\n\tprotected downloadPackage(): void {\n\t\tthis.logger.info(`Downloading...`)\n\t\ttry {\n\t\t\tconst out = execSync(this.options.scripts.download)\n\t\t\tthis.logger.info(`Download stdout:`, out.toString())\n\t\t\tthis.storage.setItem(`setupPhase`, `downloaded`)\n\t\t\tthis.logger.info(`Downloaded!`)\n\t\t} catch (thrown) {\n\t\t\tif (thrown instanceof Error) {\n\t\t\t\tthis.logger.error(`Failed to get the latest release: ${thrown.message}`)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tprotected installPackage(): void {\n\t\tthis.logger.info(`Installing...`)\n\n\t\ttry {\n\t\t\tconst out = execSync(this.options.scripts.install)\n\t\t\tthis.logger.info(`Install stdout:`, out.toString())\n\t\t\tthis.storage.setItem(`setupPhase`, `installed`)\n\t\t\tthis.logger.info(`Installed!`)\n\t\t} catch (thrown) {\n\t\t\tif (thrown instanceof Error) {\n\t\t\t\tthis.logger.error(`Failed to get the latest release: ${thrown.message}`)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tpublic stopAllServices(): Future<unknown> {\n\t\tthis.logger.info(`Stopping all services... auto-respawn disabled.`)\n\t\tthis.autoRespawnDeadServices = false\n\t\tfor (const [serviceName] of toEntries(this.services)) {\n\t\t\tthis.stopService(serviceName)\n\t\t}\n\t\treturn this.dead\n\t}\n\n\tpublic stopService(serviceName: S): void {\n\t\tconst service = this.services[serviceName]\n\t\tif (service) {\n\t\t\tthis.logger.info(`Stopping service \"${serviceName}\"...`)\n\t\t\tthis.servicesDead[this.serviceIdx[serviceName]].use(\n\t\t\t\tnew Promise((pass) => {\n\t\t\t\t\tservice.emit(`timeToStop`)\n\t\t\t\t\tservice.process.once(`close`, (exitCode) => {\n\t\t\t\t\t\tthis.logger.info(\n\t\t\t\t\t\t\t`Stopped service \"${serviceName}\"; exited with code ${exitCode}`,\n\t\t\t\t\t\t)\n\t\t\t\t\t\tthis.services[serviceName] = null\n\t\t\t\t\t\tpass()\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\tthis.dead.use(Promise.all(this.servicesDead))\n\t\t\tthis.servicesLive[this.serviceIdx[serviceName]] = new Future(() => {})\n\t\t\tif (this.live.done) {\n\t\t\t\tthis.live = new Future(() => {})\n\t\t\t}\n\t\t\tthis.live.use(Promise.all(this.servicesLive))\n\t\t} else {\n\t\t\tthis.serviceLoggers[serviceName].error(\n\t\t\t\t`Tried to stop service, but it wasn't running.`,\n\t\t\t)\n\t\t}\n\t}\n}\n\nexport const FLIGHTDECK_INFO = `info`\nexport const FLIGHTDECK_WARN = `warn`\nexport const FLIGHTDECK_ERROR = `ERR!`\n\nexport const flightDeckLogSchema = z.object({\n\tlevel: z.union([\n\t\tz.literal(FLIGHTDECK_INFO),\n\t\tz.literal(FLIGHTDECK_WARN),\n\t\tz.literal(FLIGHTDECK_ERROR),\n\t]),\n\ttimestamp: z.number(),\n\tpackage: z.string(),\n\tservice: z.string().optional(),\n\tprocess: z.number(),\n\tbody: z.string(),\n})\nexport type FlightDeckLog = z.infer<typeof flightDeckLogSchema>\n\nconst LINE_FORMAT = `line-format` satisfies keyof LnavFormat\nconst VALUE = `value` satisfies keyof LnavFormat\n\nexport type LnavFormatVisualComponent = Exclude<\n\tExclude<LnavFormat[`line-format`], undefined>[number],\n\tstring\n>\n\nexport type LnavFormatBreakdown = Exclude<LnavFormat[`value`], undefined>\nexport type MemberOf<T> = T[keyof T]\nexport type LnavFormatValueDefinition = MemberOf<LnavFormatBreakdown>\n\nexport type FlightDeckFormat = {\n\t[LINE_FORMAT]: (\n\t\t| string\n\t\t| (LnavFormatVisualComponent & {\n\t\t\t\tfield: keyof FlightDeckLog | `__level__` | `__timestamp__`\n\t\t })\n\t)[]\n\t[VALUE]: {\n\t\t[K in keyof FlightDeckLog]: LnavFormatValueDefinition & {\n\t\t\tkind: FlightDeckLog[K] extends number | undefined\n\t\t\t\t? `integer`\n\t\t\t\t: FlightDeckLog[K] extends string | undefined\n\t\t\t\t\t? `string`\n\t\t\t\t\t: never\n\t\t}\n\t}\n}\n\nexport const FLIGHTDECK_LNAV_FORMAT = {\n\ttitle: `FlightDeck Log`,\n\tdescription: `Format for events logged by the FlightDeck process manager.`,\n\t\"file-type\": `json`,\n\t\"timestamp-field\": `timestamp`,\n\t\"timestamp-divisor\": 1000,\n\t\"module-field\": `package`,\n\t\"opid-field\": `service`,\n\t\"level-field\": `level`,\n\tlevel: {\n\t\tinfo: FLIGHTDECK_INFO,\n\t\twarning: FLIGHTDECK_WARN,\n\t\terror: FLIGHTDECK_ERROR,\n\t},\n\n\t[LINE_FORMAT]: [\n\t\t{\n\t\t\tfield: `level`,\n\t\t},\n\t\t{\n\t\t\tprefix: ` `,\n\t\t\tfield: `__timestamp__`,\n\t\t\t\"timestamp-format\": `%Y-%m-%dT%H:%M:%S.%L%Z`,\n\t\t},\n\t\t{\n\t\t\tprefix: ` `,\n\t\t\tfield: `process`,\n\t\t\t\"min-width\": 5,\n\t\t},\n\t\t{\n\t\t\tprefix: `:`,\n\t\t\tfield: `package`,\n\t\t},\n\t\t{\n\t\t\tprefix: `:`,\n\t\t\tfield: `service`,\n\t\t\t\"default-value\": ``,\n\t\t},\n\t\t{\n\t\t\tprefix: `: `,\n\t\t\tfield: `body`,\n\t\t},\n\t],\n\n\t[VALUE]: {\n\t\ttimestamp: {\n\t\t\tkind: `integer`,\n\t\t},\n\t\tlevel: {\n\t\t\tkind: `string`,\n\t\t},\n\t\tpackage: {\n\t\t\tkind: `string`,\n\t\t},\n\t\tservice: {\n\t\t\tkind: `string`,\n\t\t},\n\t\tprocess: {\n\t\t\tkind: `integer`,\n\t\t},\n\t\tbody: {\n\t\t\tkind: `string`,\n\t\t},\n\t},\n} as const satisfies FlightDeckFormat & LnavFormat\n\nexport class FlightDeckLogger\n\timplements Pick<Console, `error` | `info` | `warn`>\n{\n\tpublic readonly packageName: string\n\tpublic readonly serviceName?: string\n\tpublic readonly jsonLogging: boolean\n\tpublic processCode: number\n\tpublic constructor(\n\t\tpackageName: string,\n\t\tprocessCode: number,\n\t\tserviceName?: string,\n\t\toptions?: { jsonLogging: boolean },\n\t) {\n\t\tthis.packageName = packageName\n\t\tif (serviceName) {\n\t\t\tthis.serviceName = serviceName\n\t\t}\n\t\tthis.processCode = processCode\n\t\tthis.jsonLogging = options?.jsonLogging ?? false\n\t}\n\tprotected log(\n\t\tlevel:\n\t\t\t| typeof FLIGHTDECK_ERROR\n\t\t\t| typeof FLIGHTDECK_INFO\n\t\t\t| typeof FLIGHTDECK_WARN,\n\t\t...messages: unknown[]\n\t): void {\n\t\tif (this.jsonLogging) {\n\t\t\tlet body = messages\n\t\t\t\t.map((message) =>\n\t\t\t\t\ttypeof message === `string`\n\t\t\t\t\t\t? message\n\t\t\t\t\t\t: inspect(message, false, null, true),\n\t\t\t\t)\n\t\t\t\t.join(` `)\n\t\t\tif (body.includes(`\\n`)) {\n\t\t\t\tbody = `\\n ${body.split(`\\n`).join(`\\n `)}`\n\t\t\t}\n\t\t\tconst log: FlightDeckLog = {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\tlevel,\n\t\t\t\tprocess: this.processCode,\n\t\t\t\tpackage: this.packageName,\n\t\t\t\tbody,\n\t\t\t}\n\t\t\tif (this.serviceName) {\n\t\t\t\tlog.service = this.serviceName\n\t\t\t}\n\t\t\tprocess.stdout.write(JSON.stringify(log) + `\\n`)\n\t\t} else {\n\t\t\tconst source = this.serviceName\n\t\t\t\t? `${this.packageName}:${this.serviceName}`\n\t\t\t\t: this.packageName\n\t\t\tswitch (level) {\n\t\t\t\tcase FLIGHTDECK_INFO:\n\t\t\t\t\tconsole.log(`${source}:`, ...messages)\n\t\t\t\t\tbreak\n\t\t\t\tcase FLIGHTDECK_WARN:\n\t\t\t\t\tconsole.warn(`${source}:`, ...messages)\n\t\t\t\t\tbreak\n\t\t\t\tcase FLIGHTDECK_ERROR:\n\t\t\t\t\tconsole.error(`${source}:`, ...messages)\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tpublic info(...messages: unknown[]): void {\n\t\tthis.log(FLIGHTDECK_INFO, ...messages)\n\t}\n\n\tpublic warn(...messages: unknown[]): void {\n\t\tthis.log(FLIGHTDECK_WARN, ...messages)\n\t}\n\n\tpublic error(...messages: unknown[]): void {\n\t\tthis.log(FLIGHTDECK_ERROR, ...messages)\n\t}\n}\n"],"mappings":"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"}
|