@wirecat/cli-base 0.27.2 → 0.28.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.
Files changed (85) hide show
  1. package/dist/commands/document.d.ts.map +1 -1
  2. package/dist/commands/document.js +4 -3
  3. package/dist/commands/document.js.map +1 -1
  4. package/dist/commands/index.d.ts +16 -9
  5. package/dist/commands/index.d.ts.map +1 -1
  6. package/dist/commands/index.js +24 -0
  7. package/dist/commands/index.js.map +1 -1
  8. package/dist/commands/page.d.ts +1 -1
  9. package/dist/commands/page.d.ts.map +1 -1
  10. package/dist/commands/page.js +5 -1
  11. package/dist/commands/page.js.map +1 -1
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +3 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/dev/lint.d.ts.map +1 -1
  16. package/dist/dev/lint.js +42 -4
  17. package/dist/dev/lint.js.map +1 -1
  18. package/dist/dev/main.d.ts +2 -0
  19. package/dist/dev/main.d.ts.map +1 -1
  20. package/dist/dev/main.js +9 -6
  21. package/dist/dev/main.js.map +1 -1
  22. package/dist/drain.d.ts +3 -0
  23. package/dist/drain.d.ts.map +1 -0
  24. package/dist/drain.js +27 -0
  25. package/dist/drain.js.map +1 -0
  26. package/dist/errors.d.ts +7 -0
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js.map +1 -1
  29. package/dist/failure.d.ts +31 -3
  30. package/dist/failure.d.ts.map +1 -1
  31. package/dist/failure.js +45 -7
  32. package/dist/failure.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/logging.d.ts +4 -5
  38. package/dist/logging.d.ts.map +1 -1
  39. package/dist/logging.js +7 -6
  40. package/dist/logging.js.map +1 -1
  41. package/dist/standards/effects.d.ts +12 -0
  42. package/dist/standards/effects.d.ts.map +1 -0
  43. package/dist/standards/effects.js +10 -0
  44. package/dist/standards/effects.js.map +1 -0
  45. package/dist/standards/errors.d.ts +27 -5
  46. package/dist/standards/errors.d.ts.map +1 -1
  47. package/dist/standards/errors.js +10 -2
  48. package/dist/standards/errors.js.map +1 -1
  49. package/dist/standards/identifiers.d.ts +12 -0
  50. package/dist/standards/identifiers.d.ts.map +1 -0
  51. package/dist/standards/identifiers.js +24 -0
  52. package/dist/standards/identifiers.js.map +1 -0
  53. package/dist/standards/index.d.ts +6 -4
  54. package/dist/standards/index.d.ts.map +1 -1
  55. package/dist/standards/index.js +6 -4
  56. package/dist/standards/index.js.map +1 -1
  57. package/dist/standards/lint.d.ts +13 -2
  58. package/dist/standards/lint.d.ts.map +1 -1
  59. package/dist/standards/lint.js +46 -3
  60. package/dist/standards/lint.js.map +1 -1
  61. package/dist/standards/log.d.ts +15 -0
  62. package/dist/standards/log.d.ts.map +1 -1
  63. package/dist/standards/log.js +26 -1
  64. package/dist/standards/log.js.map +1 -1
  65. package/dist/standards/output.d.ts +130 -27
  66. package/dist/standards/output.d.ts.map +1 -1
  67. package/dist/standards/output.js +64 -15
  68. package/dist/standards/output.js.map +1 -1
  69. package/dist/standards/steps.d.ts +23 -5
  70. package/dist/standards/steps.d.ts.map +1 -1
  71. package/dist/standards/steps.js +51 -19
  72. package/dist/standards/steps.js.map +1 -1
  73. package/dist/standards/vocabulary.d.ts +2 -0
  74. package/dist/standards/vocabulary.d.ts.map +1 -1
  75. package/dist/standards/vocabulary.js +16 -1
  76. package/dist/standards/vocabulary.js.map +1 -1
  77. package/dist/streams.d.ts +1 -0
  78. package/dist/streams.d.ts.map +1 -1
  79. package/dist/streams.js +4 -0
  80. package/dist/streams.js.map +1 -1
  81. package/dist/testing/index.d.ts +3 -0
  82. package/dist/testing/index.d.ts.map +1 -1
  83. package/dist/testing/index.js +7 -0
  84. package/dist/testing/index.js.map +1 -1
  85. package/package.json +1 -1
@@ -14,19 +14,38 @@ export declare const errorObjectSchema: v.StrictObjectSchema<{
14
14
  /** The option or argument at fault. */
15
15
  readonly param: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>, undefined>;
16
16
  readonly details: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
17
- readonly next: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
17
+ readonly next: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.VariantSchema<"kind", [v.StrictObjectSchema<{
18
+ readonly kind: v.LiteralSchema<"command", undefined>;
18
19
  readonly step: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "dotted lower-case words, such as `page.next`">]>;
19
20
  readonly command: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
20
21
  readonly args: v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>;
21
22
  readonly why: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
22
- }, undefined>, undefined>, v.MaxLengthAction<{
23
+ readonly safe_to_auto_execute: v.BooleanSchema<undefined>;
24
+ }, undefined>, v.StrictObjectSchema<{
25
+ readonly kind: v.LiteralSchema<"user_action", undefined>;
26
+ readonly step: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "dotted lower-case words, such as `page.next`">]>;
27
+ readonly why: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
28
+ readonly safe_to_auto_execute: v.LiteralSchema<false, undefined>;
29
+ }, undefined>], undefined>, undefined>, v.MaxLengthAction<({
30
+ kind: "command";
23
31
  step: string;
24
32
  command: string;
25
33
  args: {
26
34
  [x: string]: unknown;
27
35
  };
28
36
  why: string;
29
- }[], 3, undefined>]>, undefined>;
37
+ safe_to_auto_execute: boolean;
38
+ } | {
39
+ kind: "user_action";
40
+ step: string;
41
+ why: string;
42
+ safe_to_auto_execute: false;
43
+ })[], 2, undefined>]>, undefined>;
44
+ /** Whether running the same command again may work and cannot do harm; never for a write that may have landed. */
45
+ readonly retry: v.StrictObjectSchema<{
46
+ readonly safe: v.BooleanSchema<undefined>;
47
+ readonly after_ms: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
48
+ }, undefined>;
30
49
  /** Optional until every CLI keeps a run for each failure. */
31
50
  readonly run_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>, undefined>;
32
51
  }, undefined>;
@@ -43,8 +62,11 @@ declare const reasonSchema: v.StrictObjectSchema<{
43
62
  export type ErrorReason = v.InferOutput<typeof reasonSchema>;
44
63
  /** Reasons live where they are raised; each package defines its own list with this. */
45
64
  export declare const defineReasons: (input: unknown) => ErrorReason[];
46
- /** Keys any reason's `details` may carry; the handler drops every other key it was not told about. */
47
- export declare const COMMON_DETAILS: readonly ["retryable", "retry_after_ms", "attempts", "status", "request_id", "operation"];
65
+ /**
66
+ * Keys any reason's `details` may carry; the handler drops every other key it was not told about. `retryable`,
67
+ * `retry_after_ms` and `sent` are read into `retry`, not repeated here.
68
+ */
69
+ export declare const COMMON_DETAILS: readonly ["attempts", "status", "request_id", "operation", "operation_id"];
48
70
  /** One reason per code, used when the code site named none, the crash, and the reasons cli-base raises itself. */
49
71
  export declare const BASE_REASONS: ErrorReason[];
50
72
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/standards/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B;;;GAGG;AACH,eAAO,MAAM,UAAU,mBAAmB,CAAA;AAC1C,eAAO,MAAM,YAAY,oBAAoB,CAAA;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB;;;;;QAK1B,uCAAuC;;;;;;;;;;;;;;;;QAIvC,6DAA6D;;;aAG/D,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,QAAA,MAAM,YAAY;;;IAGhB,oDAAoD;;;;aAIpD,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAE5D,uFAAuF;AACvF,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,WAAW,EAQtD,CAAA;AAEJ,sGAAsG;AACtG,eAAO,MAAM,cAAc,YAAI,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAU,CAAA;AAEvH,kHAAkH;AAClH,eAAO,MAAM,YAAY,EAAE,WAAW,EAsCpC,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/standards/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B;;;GAGG;AACH,eAAO,MAAM,UAAU,mBAAmB,CAAA;AAC1C,eAAO,MAAM,YAAY,oBAAoB,CAAA;AAE7C,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB;;;;;QAK1B,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAIvC,kHAAkH;;;;;QAKlH,6DAA6D;;;aAG/D,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,QAAA,MAAM,YAAY;;;IAGhB,oDAAoD;;;;aAIpD,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAE5D,uFAAuF;AACvF,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,WAAW,EAQtD,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,YAAI,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,CAAU,CAAA;AAExG,kHAAkH;AAClH,eAAO,MAAM,YAAY,EAAE,WAAW,EAsCpC,CAAA"}
@@ -18,6 +18,11 @@ export const errorObjectSchema = v.strictObject({
18
18
  param: v.optional(text),
19
19
  details: v.optional(v.record(v.string(), v.unknown())),
20
20
  next: v.optional(v.pipe(v.array(nextStepSchema), v.maxLength(MAX_NEXT_STEPS))),
21
+ /** Whether running the same command again may work and cannot do harm; never for a write that may have landed. */
22
+ retry: v.strictObject({
23
+ safe: v.boolean(),
24
+ after_ms: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
25
+ }),
21
26
  /** Optional until every CLI keeps a run for each failure. */
22
27
  run_id: v.optional(text),
23
28
  }),
@@ -37,8 +42,11 @@ export const defineReasons = (input) => parseRegistry("error reasons", v.array(r
37
42
  .filter((name) => !entry.details.includes(name))
38
43
  .map((name) => `${entry.reason}: the message names {${name}}, which is not one of its details`)),
39
44
  ]);
40
- /** Keys any reason's `details` may carry; the handler drops every other key it was not told about. */
41
- export const COMMON_DETAILS = ["retryable", "retry_after_ms", "attempts", "status", "request_id", "operation"];
45
+ /**
46
+ * Keys any reason's `details` may carry; the handler drops every other key it was not told about. `retryable`,
47
+ * `retry_after_ms` and `sent` are read into `retry`, not repeated here.
48
+ */
49
+ export const COMMON_DETAILS = ["attempts", "status", "request_id", "operation", "operation_id"];
42
50
  /** One reason per code, used when the code site named none, the crash, and the reasons cli-base raises itself. */
43
51
  export const BASE_REASONS = defineReasons([
44
52
  { reason: "input.invalid", code: "validation_error", message: "the input is not valid", details: [] },
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/standards/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/standards/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as v from "valibot";
2
+ declare const identifierSchema: v.StrictObjectSchema<{
3
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a snake_case key">]>;
4
+ readonly meaning: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
5
+ readonly replaces: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a snake_case key">]>, undefined>, undefined>;
6
+ }, undefined>;
7
+ export type Identifier = v.InferOutput<typeof identifierSchema>;
8
+ export declare const defineIdentifiers: (input: unknown) => Identifier[];
9
+ /** The ids a CLI's answers, errors and logs carry; one name each. */
10
+ export declare const IDENTIFIERS: Identifier[];
11
+ export {};
12
+ //# sourceMappingURL=identifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/standards/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,QAAA,MAAM,gBAAgB;;;;aAA6E,CAAA;AAEnG,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,UAAU,EAQzD,CAAA;AAEJ,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,UAAU,EASlC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import * as v from "valibot";
2
+ import { duplicates, parseRegistry, SNAKE_CASE, text } from "./registry.js";
3
+ const key = v.pipe(v.string(), v.regex(SNAKE_CASE, "a snake_case key"));
4
+ const identifierSchema = v.strictObject({ key, meaning: text, replaces: v.optional(v.array(key)) });
5
+ export const defineIdentifiers = (input) => parseRegistry("identifiers", v.array(identifierSchema), input, (identifiers) => {
6
+ const keys = identifiers.map((entry) => entry.key);
7
+ const replaced = identifiers.flatMap((entry) => entry.replaces ?? []);
8
+ return [
9
+ ...duplicates([...keys, ...replaced]).map((name) => `"${name}" is listed twice`),
10
+ ...replaced.filter((name) => keys.includes(name)).map((name) => `"${name}" is both a key and replaced`),
11
+ ];
12
+ });
13
+ /** The ids a CLI's answers, errors and logs carry; one name each. */
14
+ export const IDENTIFIERS = defineIdentifiers([
15
+ {
16
+ key: "run_id",
17
+ meaning: "one invocation of a command, what `runs show` opens",
18
+ replaces: ["execution_id", "invocation_id", "log_id", "diagnostic_id"],
19
+ },
20
+ { key: "operation_id", meaning: "one logical write attempt; a retry of it reuses the id" },
21
+ { key: "request_id", meaning: "the provider's own reference for one request, as it sent it" },
22
+ { key: "trace_id", meaning: "the distributed trace a run belongs to, from `traceparent`" },
23
+ ]);
24
+ //# sourceMappingURL=identifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/standards/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAE3E,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAEvE,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;AAInG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAgB,EAAE,CAChE,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;IAC7E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO;QACL,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,mBAAmB,CAAC;QAChF,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,8BAA8B,CAAC;KACxG,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAiB,iBAAiB,CAAC;IACzD;QACE,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,CAAC;KACvE;IACD,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,wDAAwD,EAAE;IAC1F,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,6DAA6D,EAAE;IAC7F,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,4DAA4D,EAAE;CAC3F,CAAC,CAAA"}
@@ -1,9 +1,11 @@
1
1
  export { AUDIT_BLOCKS, AUDIT_RULES, type AuditRule, defineAuditRules, defineParityGroups, defineRequiredRoots, PARITY_GROUPS, type ParityGroup, REQUIRED_ROOTS, type RequiredRoot, } from "./audit.js";
2
+ export { EFFECT_LEVELS, type EffectLevel, type Effects, effectsSchema, writes } from "./effects.js";
2
3
  export { BASE_REASONS, COMMON_DETAILS, CRASH_CODE, CRASH_REASON, defineReasons, type ErrorObject, type ErrorReason, errorObjectSchema, } from "./errors.js";
3
- export { baselineProblems, baselineSchema, defineLintRules, LINT_RULES, LINT_SEVERITIES, type LintRule, type LintSeverity, OVERRIDE_BUDGET, type Override, overridesProblems, overridesSchema, } from "./lint.js";
4
- export { isContentKey, LOG_ATTRIBUTE_KEYS, LOG_SEVERITIES, type LogRecord, type LogSeverity, logAttributesJsonSchema, logRecordSchema, traceIdOf, } from "./log.js";
5
- export { defineFieldRules, FIELD_RULES, type FieldRule, type ItemEnvelope, isoTime, itemEnvelopeSchema, type ListEnvelope, listEnvelopeSchema, MAX_NEXT_STEPS, type Meta, type Missing, metaSchema, missingSchema, type NextStep, nextStepSchema, type Page, pageSchema, reference, } from "./output.js";
4
+ export { defineIdentifiers, IDENTIFIERS, type Identifier } from "./identifiers.js";
5
+ export { baselineProblems, baselineSchema, defineLintRules, LINT_RULES, LINT_SEVERITIES, type LintRule, type LintSeverity, OVERRIDE_BUDGET, OVERRIDE_RULE_REVIEW, type Override, overridesProblems, overridesSchema, rulesForReview, } from "./lint.js";
6
+ export { defineLogEvents, isContentKey, LOG_ATTRIBUTE_KEYS, LOG_EVENTS, LOG_SEVERITIES, type LogEvent, type LogRecord, type LogSeverity, logAttributesJsonSchema, logEventProblems, logRecordSchema, traceIdOf, } from "./log.js";
7
+ export { defineFieldRules, FIELD_RULES, type FieldRule, type Issue, type ItemEnvelope, isoTime, issueSchema, itemEnvelopeSchema, jsonlEndSchema, jsonlItemSchema, jsonlOf, type ListEnvelope, listEnvelopeSchema, MAX_NEXT_STEPS, type Meta, type Missing, metaSchema, missingSchema, type NextStep, nextStepSchema, type Page, pageSchema, reference, } from "./output.js";
6
8
  export { fill, jsonSchemaOf, RegistryError } from "./registry.js";
7
- export { defineSteps, SAME_COMMAND, STEPS, type StepDefinition, type StepInput, stepOf } from "./steps.js";
9
+ export { defineSteps, SAME_COMMAND, STEPS, type StepDefinition, type StepInput, type StepTarget, stepOf, } from "./steps.js";
8
10
  export { defineVocabulary, FLAG_ROLES, FLAG_TYPES, type FlagRole, type FlagType, VOCABULARY, type Vocabulary, type VocabularyFlag, type VocabularyNoun, type VocabularyVerb, vocabularySchema, } from "./vocabulary.js";
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/standards/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,SAAS,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,KAAK,WAAW,EAChB,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,eAAe,EACf,KAAK,QAAQ,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,uBAAuB,EACvB,eAAe,EACf,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,OAAO,EACP,kBAAkB,EAClB,KAAK,YAAY,EACjB,kBAAkB,EAClB,cAAc,EACd,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,UAAU,EACV,aAAa,EACb,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,IAAI,EACT,UAAU,EACV,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1G,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/standards/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,SAAS,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,KAAK,WAAW,EAChB,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,eAAe,EACf,oBAAoB,EACpB,KAAK,QAAQ,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,OAAO,EACP,KAAK,YAAY,EACjB,kBAAkB,EAClB,cAAc,EACd,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,UAAU,EACV,aAAa,EACb,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,IAAI,EACT,UAAU,EACV,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,MAAM,GACP,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
@@ -1,9 +1,11 @@
1
1
  export { AUDIT_BLOCKS, AUDIT_RULES, defineAuditRules, defineParityGroups, defineRequiredRoots, PARITY_GROUPS, REQUIRED_ROOTS, } from "./audit.js";
2
+ export { EFFECT_LEVELS, effectsSchema, writes } from "./effects.js";
2
3
  export { BASE_REASONS, COMMON_DETAILS, CRASH_CODE, CRASH_REASON, defineReasons, errorObjectSchema, } from "./errors.js";
3
- export { baselineProblems, baselineSchema, defineLintRules, LINT_RULES, LINT_SEVERITIES, OVERRIDE_BUDGET, overridesProblems, overridesSchema, } from "./lint.js";
4
- export { isContentKey, LOG_ATTRIBUTE_KEYS, LOG_SEVERITIES, logAttributesJsonSchema, logRecordSchema, traceIdOf, } from "./log.js";
5
- export { defineFieldRules, FIELD_RULES, isoTime, itemEnvelopeSchema, listEnvelopeSchema, MAX_NEXT_STEPS, metaSchema, missingSchema, nextStepSchema, pageSchema, reference, } from "./output.js";
4
+ export { defineIdentifiers, IDENTIFIERS } from "./identifiers.js";
5
+ export { baselineProblems, baselineSchema, defineLintRules, LINT_RULES, LINT_SEVERITIES, OVERRIDE_BUDGET, OVERRIDE_RULE_REVIEW, overridesProblems, overridesSchema, rulesForReview, } from "./lint.js";
6
+ export { defineLogEvents, isContentKey, LOG_ATTRIBUTE_KEYS, LOG_EVENTS, LOG_SEVERITIES, logAttributesJsonSchema, logEventProblems, logRecordSchema, traceIdOf, } from "./log.js";
7
+ export { defineFieldRules, FIELD_RULES, isoTime, issueSchema, itemEnvelopeSchema, jsonlEndSchema, jsonlItemSchema, jsonlOf, listEnvelopeSchema, MAX_NEXT_STEPS, metaSchema, missingSchema, nextStepSchema, pageSchema, reference, } from "./output.js";
6
8
  export { fill, jsonSchemaOf, RegistryError } from "./registry.js";
7
- export { defineSteps, SAME_COMMAND, STEPS, stepOf } from "./steps.js";
9
+ export { defineSteps, SAME_COMMAND, STEPS, stepOf, } from "./steps.js";
8
10
  export { defineVocabulary, FLAG_ROLES, FLAG_TYPES, VOCABULARY, vocabularySchema, } from "./vocabulary.js";
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/standards/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAEb,cAAc,GAEf,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EAGb,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EAGf,eAAe,EAEf,iBAAiB,EACjB,eAAe,GAChB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EAGd,uBAAuB,EACvB,eAAe,EACf,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,gBAAgB,EAChB,WAAW,EAGX,OAAO,EACP,kBAAkB,EAElB,kBAAkB,EAClB,cAAc,EAGd,UAAU,EACV,aAAa,EAEb,cAAc,EAEd,UAAU,EACV,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAuC,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1G,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EAGV,UAAU,EAKV,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/standards/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAEb,cAAc,GAEf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAkC,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EAGb,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAA;AAClF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EAGf,eAAe,EACf,oBAAoB,EAEpB,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,cAAc,EAId,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,gBAAgB,EAChB,WAAW,EAIX,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,OAAO,EAEP,kBAAkB,EAClB,cAAc,EAGd,UAAU,EACV,aAAa,EAEb,cAAc,EAEd,UAAU,EACV,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,KAAK,EAIL,MAAM,GACP,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EAGV,UAAU,EAKV,gBAAgB,GACjB,MAAM,iBAAiB,CAAA"}
@@ -14,16 +14,27 @@ export declare const defineLintRules: (input: unknown) => LintRule[];
14
14
  export declare const LINT_RULES: LintRule[];
15
15
  /** `lint/baseline/<rule-id>.json`: today's violations of one rule, by target. It may only shrink. */
16
16
  export declare const baselineSchema: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>, undefined>;
17
- /** `lint/overrides.json`: permanent exceptions, each with its reason, counted against a budget. */
17
+ /** `lint/overrides.json`: exceptions, each with its reason, who keeps it and when to look again; counted against a budget. */
18
18
  export declare const overridesSchema: v.ArraySchema<v.StrictObjectSchema<{
19
19
  readonly rule: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a lower-case word, words joined by -">]>;
20
20
  readonly target: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
21
21
  readonly reason: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>, v.MinLengthAction<string, 10, "say why, in a sentence">]>;
22
+ /** A GitHub handle or a team, `@leemour`. */
23
+ readonly owner: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a GitHub handle or team, such as @leemour">]>;
24
+ readonly review_after: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoDateAction<string, "a date, YYYY-MM-DD">]>;
22
25
  }, undefined>, undefined>;
23
26
  export type Override = v.InferOutput<typeof overridesSchema>[number];
24
27
  /** What the schemas cannot say, so they stay convertible to JSON Schema: no entry twice. */
25
28
  export declare const baselineProblems: (targets: readonly string[]) => string[];
26
- export declare const overridesProblems: (entries: readonly Override[]) => string[];
29
+ /** No entry twice, and none past its `review_after` on `today` (YYYY-MM-DD, the caller's clock). */
30
+ export declare const overridesProblems: (entries: readonly Override[], today: string) => string[];
27
31
  export declare const OVERRIDE_BUDGET = 10;
32
+ /** More overrides of one rule than this, across every CLI, and the rule itself is due for review. */
33
+ export declare const OVERRIDE_RULE_REVIEW = 3;
34
+ /** Rules overridden more than `OVERRIDE_RULE_REVIEW` times across the CLIs given, most first. */
35
+ export declare const rulesForReview: (lists: readonly (readonly Override[])[]) => {
36
+ rule: string;
37
+ overrides: number;
38
+ }[];
28
39
  export {};
29
40
  //# sourceMappingURL=lint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/standards/lint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,eAAO,MAAM,eAAe,YAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAA;AAEjE,QAAA,MAAM,cAAc;;;IAGlB,uEAAuE;;;aAGvE,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,QAAQ,EAGtD,CAAA;AAEH,4GAA4G;AAC5G,eAAO,MAAM,UAAU,EAAE,QAAQ,EA6E/B,CAAA;AAEF,qGAAqG;AACrG,eAAO,MAAM,cAAc,8HAAgB,CAAA;AAE3C,mGAAmG;AACnG,eAAO,MAAM,eAAe;;;;yBAE3B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,YAAa,SAAS,MAAM,EAAE,KAAG,MAAM,EACA,CAAA;AAEpE,eAAO,MAAM,iBAAiB,YAAa,SAAS,QAAQ,EAAE,KAAG,MAAM,EACyC,CAAA;AAEhH,eAAO,MAAM,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/standards/lint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,eAAO,MAAM,eAAe,YAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAA;AAEjE,QAAA,MAAM,cAAc;;;IAGlB,uEAAuE;;;aAGvE,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,QAAQ,EAGtD,CAAA;AAEH,4GAA4G;AAC5G,eAAO,MAAM,UAAU,EAAE,QAAQ,EA+F/B,CAAA;AAEF,qGAAqG;AACrG,eAAO,MAAM,cAAc,8HAAgB,CAAA;AAE3C,8HAA8H;AAC9H,eAAO,MAAM,eAAe;;;;IAKxB,6CAA6C;;;yBAIhD,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,YAAa,SAAS,MAAM,EAAE,KAAG,MAAM,EACA,CAAA;AAEpE,oGAAoG;AACpG,eAAO,MAAM,iBAAiB,YAAa,SAAS,QAAQ,EAAE,SAAS,MAAM,KAAG,MAAM,EAKrF,CAAA;AAED,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC,iGAAiG;AACjG,eAAO,MAAM,cAAc,UAAW,SAAS,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAO3G,CAAA"}
@@ -80,6 +80,24 @@ export const LINT_RULES = defineLintRules([
80
80
  scope: "command",
81
81
  summary: "every query field's example, and every default term, parses and validates",
82
82
  },
83
+ {
84
+ id: "nullable-list",
85
+ severity: "medium",
86
+ scope: "key",
87
+ summary: "a list in a registered JSON Schema is never null: known empty is `[]`, not known is absent",
88
+ },
89
+ {
90
+ id: "flag-synonym",
91
+ severity: "medium",
92
+ scope: "option",
93
+ summary: "an option is not another name for a vocabulary flag: `--max` and `--take` are `--limit`",
94
+ },
95
+ {
96
+ id: "identifier-name",
97
+ severity: "high",
98
+ scope: "key",
99
+ summary: "an identifier key is one from the glossary: `run_id`, never `execution_id` or `log_id`",
100
+ },
83
101
  {
84
102
  id: "log-attribute-key",
85
103
  severity: "high",
@@ -89,10 +107,35 @@ export const LINT_RULES = defineLintRules([
89
107
  ]);
90
108
  /** `lint/baseline/<rule-id>.json`: today's violations of one rule, by target. It may only shrink. */
91
109
  export const baselineSchema = v.array(text);
92
- /** `lint/overrides.json`: permanent exceptions, each with its reason, counted against a budget. */
93
- export const overridesSchema = v.array(v.strictObject({ rule: word, target: text, reason: v.pipe(text, v.minLength(10, "say why, in a sentence")) }));
110
+ /** `lint/overrides.json`: exceptions, each with its reason, who keeps it and when to look again; counted against a budget. */
111
+ export const overridesSchema = v.array(v.strictObject({
112
+ rule: word,
113
+ target: text,
114
+ reason: v.pipe(text, v.minLength(10, "say why, in a sentence")),
115
+ /** A GitHub handle or a team, `@leemour`. */
116
+ owner: v.pipe(v.string(), v.regex(/^@[\w.-]+(\/[\w.-]+)?$/, "a GitHub handle or team, such as @leemour")),
117
+ review_after: v.pipe(v.string(), v.isoDate("a date, YYYY-MM-DD")),
118
+ }));
94
119
  /** What the schemas cannot say, so they stay convertible to JSON Schema: no entry twice. */
95
120
  export const baselineProblems = (targets) => duplicates(targets).map((target) => `"${target}" is listed twice`);
96
- export const overridesProblems = (entries) => duplicates(entries.map((entry) => `${entry.rule} ${entry.target}`)).map((both) => `"${both}" is listed twice`);
121
+ /** No entry twice, and none past its `review_after` on `today` (YYYY-MM-DD, the caller's clock). */
122
+ export const overridesProblems = (entries, today) => [
123
+ ...duplicates(entries.map((entry) => `${entry.rule} ${entry.target}`)).map((both) => `"${both}" is listed twice`),
124
+ ...entries
125
+ .filter((entry) => entry.review_after < today)
126
+ .map((entry) => `"${entry.rule} ${entry.target}" was due for review on ${entry.review_after}; ask ${entry.owner}`),
127
+ ];
97
128
  export const OVERRIDE_BUDGET = 10;
129
+ /** More overrides of one rule than this, across every CLI, and the rule itself is due for review. */
130
+ export const OVERRIDE_RULE_REVIEW = 3;
131
+ /** Rules overridden more than `OVERRIDE_RULE_REVIEW` times across the CLIs given, most first. */
132
+ export const rulesForReview = (lists) => {
133
+ const counts = new Map();
134
+ for (const entry of lists.flat())
135
+ counts.set(entry.rule, (counts.get(entry.rule) ?? 0) + 1);
136
+ return [...counts]
137
+ .filter(([, count]) => count > OVERRIDE_RULE_REVIEW)
138
+ .map(([rule, overrides]) => ({ rule, overrides }))
139
+ .sort((a, b) => b.overrides - a.overrides || (a.rule < b.rule ? -1 : 1));
140
+ };
98
141
  //# sourceMappingURL=lint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/standards/lint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAErE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAA;AAEjE,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IACpC,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;IACrC,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5E,OAAO,EAAE,IAAI;CACd,CAAC,CAAA;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAc,EAAE,CAC5D,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACpE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAChF,CAAA;AAEH,4GAA4G;AAC5G,MAAM,CAAC,MAAM,UAAU,GAAe,eAAe,CAAC;IACpD;QACE,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,OAAO,EACL,uIAAuI;KAC1I;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,6FAA6F;KACvG;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,2FAA2F;KACrG;IACD,EAAE,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC1G;QACE,EAAE,EAAE,uBAAuB;QAC3B,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,oCAAoC;KAC9C;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,yEAAyE;KACnF;IACD;QACE,EAAE,EAAE,gCAAgC;QACpC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,sGAAsG;KAChH;IACD,EAAE,EAAE,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC5G,EAAE,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE;IACtG;QACE,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,kFAAkF;KAC5F;IACD;QACE,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0GAA0G;KACpH;IACD;QACE,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,mFAAmF;KAC7F;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,4EAA4E;KACtF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,2EAA2E;KACrF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,sFAAsF;KAChG;CACF,CAAC,CAAA;AAEF,qGAAqG;AACrG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAE3C,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CACpC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAC9G,CAAA;AAID,4FAA4F;AAC5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA0B,EAAY,EAAE,CACvE,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,mBAAmB,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA4B,EAAY,EAAE,CAC1E,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,mBAAmB,CAAC,CAAA;AAEhH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/standards/lint.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare const LOG_SEVERITIES: readonly ["trace", "debug", "info", "warn",
9
9
  export declare const logRecordSchema: v.StrictObjectSchema<{
10
10
  readonly time: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time with a zone">]>;
11
11
  readonly severity: v.PicklistSchema<readonly ["trace", "debug", "info", "warn", "error", "fatal"], undefined>;
12
+ /** The registered event id, `provider.request.failed`: never a sentence, so never content. */
12
13
  readonly body: v.StringSchema<undefined>;
13
14
  readonly run_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
14
15
  /** From an MCP caller's `_meta.traceparent`, when it sent one. */
@@ -21,6 +22,19 @@ export declare const logRecordSchema: v.StrictObjectSchema<{
21
22
  }, undefined>;
22
23
  }, undefined>;
23
24
  export type LogRecord = v.InferOutput<typeof logRecordSchema>;
25
+ declare const logEventSchema: v.StrictObjectSchema<{
26
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "dotted lower-case words, such as `page.next`">]>;
27
+ readonly meaning: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "must not be empty">]>;
28
+ /** Attribute keys every record of this event carries. */
29
+ readonly keys: v.ArraySchema<v.StringSchema<undefined>, undefined>;
30
+ }, undefined>;
31
+ export type LogEvent = v.InferOutput<typeof logEventSchema>;
32
+ /** Events live where they are logged; each package defines its own list with this. */
33
+ export declare const defineLogEvents: (input: unknown) => LogEvent[];
34
+ /** The events cli-base logs itself. */
35
+ export declare const LOG_EVENTS: LogEvent[];
36
+ /** Why a record is not one of `events` (cli-base's are always known): an unknown `body`, or a required key missing. */
37
+ export declare const logEventProblems: (record: Pick<LogRecord, "body" | "attributes">, events: readonly LogEvent[]) => string[];
24
38
  export type LogSeverity = (typeof LOG_SEVERITIES)[number];
25
39
  /** Attribute keys every program may log; a program adds its own with `allow`. Keys are camelCase until §3.9 reaches logs. */
26
40
  export declare const LOG_ATTRIBUTE_KEYS: readonly ["code", "count", "durationMs", "errorClass", "errorCode", "event", "frames", "operation", "outcome", "reason", "status"];
@@ -33,4 +47,5 @@ export declare const logAttributesJsonSchema: (allow?: readonly string[]) => Rec
33
47
  * for anything the spec says to ignore: version `ff`, an all-zero id, extra fields on version `00`.
34
48
  */
35
49
  export declare const traceIdOf: (traceparent: unknown) => string | undefined;
50
+ export {};
36
51
  //# sourceMappingURL=log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/standards/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,kEAAkE;AAClE,eAAO,MAAM,cAAc,YAAI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAA;AAE3F;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;IAK1B,kEAAkE;;;;;;;;aAKlE,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,6HAA6H;AAC7H,eAAO,MAAM,kBAAkB,YAC7B,MAAM,EACN,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,CACA,CAAA;AA+BV,yGAAyG;AACzG,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,OAG1C,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,uBAAuB,WAAW,SAAS,MAAM,EAAE,KAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAI5F,CAAA;AAIF;;;GAGG;AACH,eAAO,MAAM,SAAS,gBAAiB,OAAO,KAAG,MAAM,GAAG,SAQzD,CAAA"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/standards/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,kEAAkE;AAClE,eAAO,MAAM,cAAc,YAAI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAA;AAE3F;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;IAG1B,8FAA8F;;;IAG9F,kEAAkE;;;;;;;;aAKlE,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,QAAA,MAAM,cAAc;;;IAGlB,yDAAyD;;aAEzD,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,sFAAsF;AACtF,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,QAAQ,EAIrD,CAAA;AAEJ,uCAAuC;AACvC,eAAO,MAAM,UAAU,EAAE,QAAQ,EAE/B,CAAA;AAEF,uHAAuH;AACvH,eAAO,MAAM,gBAAgB,WAAY,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,UAAU,SAAS,QAAQ,EAAE,aAM3G,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,6HAA6H;AAC7H,eAAO,MAAM,kBAAkB,YAC7B,MAAM,EACN,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,CACA,CAAA;AA+BV,yGAAyG;AACzG,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,OAG1C,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,uBAAuB,WAAW,SAAS,MAAM,EAAE,KAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAI5F,CAAA;AAIF;;;GAGG;AACH,eAAO,MAAM,SAAS,gBAAiB,OAAO,KAAG,MAAM,GAAG,SAQzD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import * as v from "valibot";
2
2
  import { isoTime } from "./output.js";
3
- import { text } from "./registry.js";
3
+ import { dottedId, duplicates, parseRegistry, text } from "./registry.js";
4
4
  /** Upper-cased, these are OpenTelemetry's SeverityText values. */
5
5
  export const LOG_SEVERITIES = ["trace", "debug", "info", "warn", "error", "fatal"];
6
6
  /**
@@ -11,6 +11,7 @@ export const LOG_SEVERITIES = ["trace", "debug", "info", "warn", "error", "fatal
11
11
  export const logRecordSchema = v.strictObject({
12
12
  time: isoTime,
13
13
  severity: v.picklist(LOG_SEVERITIES),
14
+ /** The registered event id, `provider.request.failed`: never a sentence, so never content. */
14
15
  body: v.string(),
15
16
  run_id: text,
16
17
  /** From an MCP caller's `_meta.traceparent`, when it sent one. */
@@ -19,6 +20,30 @@ export const logRecordSchema = v.strictObject({
19
20
  attributes: v.record(v.string(), v.unknown()),
20
21
  resource: v.strictObject({ service: text, version: text }),
21
22
  });
23
+ const logEventSchema = v.strictObject({
24
+ id: dottedId,
25
+ meaning: text,
26
+ /** Attribute keys every record of this event carries. */
27
+ keys: v.array(v.string()),
28
+ });
29
+ /** Events live where they are logged; each package defines its own list with this. */
30
+ export const defineLogEvents = (input) => parseRegistry("log events", v.array(logEventSchema), input, (events) => [
31
+ ...duplicates(events.map((event) => event.id)).map((id) => `"${id}" is listed twice`),
32
+ ...events.flatMap((event) => duplicates(event.keys).map((key) => `${event.id}: key "${key}" is listed twice`)),
33
+ ]);
34
+ /** The events cli-base logs itself. */
35
+ export const LOG_EVENTS = defineLogEvents([
36
+ { id: "command.failed", meaning: "a command ended with an error", keys: ["code", "reason"] },
37
+ ]);
38
+ /** Why a record is not one of `events` (cli-base's are always known): an unknown `body`, or a required key missing. */
39
+ export const logEventProblems = (record, events) => {
40
+ const event = [...LOG_EVENTS, ...events].find((one) => one.id === record.body);
41
+ if (!event)
42
+ return [`"${record.body}" is not a registered log event`];
43
+ return event.keys
44
+ .filter((key) => record.attributes[key] === undefined)
45
+ .map((key) => `${event.id}: no "${key}" attribute`);
46
+ };
22
47
  /** Attribute keys every program may log; a program adds its own with `allow`. Keys are camelCase until §3.9 reaches logs. */
23
48
  export const LOG_ATTRIBUTE_KEYS = [
24
49
  "code",
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/standards/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/standards/log.ts"],"names":[],"mappings":"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"}