@qontinui/shared-types 2.4.1 → 3.0.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 (57) hide show
  1. package/dist/scheduler.d.cts +81 -0
  2. package/dist/scheduler.d.ts +81 -0
  3. package/package.json +1 -1
  4. package/src/generated/ChangeTimeline.d.ts +484 -0
  5. package/src/generated/CriterionVerification.d.ts +11 -0
  6. package/src/generated/DetectedAnimation.d.ts +32 -0
  7. package/src/generated/EarsPattern.d.ts +20 -0
  8. package/src/generated/EdgeTiming.d.ts +156 -0
  9. package/src/generated/ExecutePlaybookStep.d.ts +5 -4
  10. package/src/generated/ExternalRef.d.ts +22 -0
  11. package/src/generated/InterfaceMappingFrontmatter.d.ts +21 -0
  12. package/src/generated/JourneyArrivalDoubt.d.ts +26 -0
  13. package/src/generated/JourneyCoverage.d.ts +91 -0
  14. package/src/generated/JourneyDeadEnds.d.ts +109 -0
  15. package/src/generated/JourneyEdgeObservation.d.ts +3 -2
  16. package/src/generated/JourneyEdgeTimingAnswer.d.ts +88 -0
  17. package/src/generated/JourneyFilter.d.ts +35 -0
  18. package/src/generated/JourneyFrontier.d.ts +51 -0
  19. package/src/generated/JourneyGraph.d.ts +165 -0
  20. package/src/generated/JourneyGraphEdge.d.ts +45 -0
  21. package/src/generated/JourneyPriorKnowledge.d.ts +112 -0
  22. package/src/generated/JourneyReachable.d.ts +64 -0
  23. package/src/generated/JourneySearchFrontier.d.ts +59 -0
  24. package/src/generated/JourneySearchFrontierNode.d.ts +37 -0
  25. package/src/generated/JourneySteps.d.ts +65 -0
  26. package/src/generated/JourneyUnmeasuredDepartures.d.ts +84 -0
  27. package/src/generated/ManagedBy.d.ts +45 -0
  28. package/src/generated/MappingRow.d.ts +23 -0
  29. package/src/generated/MetricDistribution.d.ts +54 -0
  30. package/src/generated/RecurringAgentDispatchRole.d.ts +11 -0
  31. package/src/generated/RecurringAgentExcludedValue.d.ts +20 -0
  32. package/src/generated/RecurringAgentOs.d.ts +11 -0
  33. package/src/generated/RecurringAgentOverride.d.ts +48 -0
  34. package/src/generated/RecurringAgentParamDef.d.ts +100 -0
  35. package/src/generated/RecurringAgentParamKind.d.ts +89 -0
  36. package/src/generated/RecurringAgentParamSchema.d.ts +16 -0
  37. package/src/generated/RecurringAgentSpec.d.ts +91 -0
  38. package/src/generated/RecurringAgentState.d.ts +13 -0
  39. package/src/generated/RecurringAgentStatus.d.ts +79 -0
  40. package/src/generated/RecurringAgentStatusReport.d.ts +48 -0
  41. package/src/generated/RecurringAgentTarget.d.ts +78 -0
  42. package/src/generated/RequestFrontmatter.d.ts +30 -0
  43. package/src/generated/RequirementFrontmatter.d.ts +31 -0
  44. package/src/generated/ScheduledTask.d.ts +15 -0
  45. package/src/generated/ScheduledTaskType.d.ts +21 -0
  46. package/src/generated/SourceCitation.d.ts +25 -0
  47. package/src/generated/SourceCitationKind.d.ts +12 -0
  48. package/src/generated/SpecAcceptanceCriterion.d.ts +28 -0
  49. package/src/generated/SpecFrontmatter.d.ts +36 -0
  50. package/src/generated/SpecLanguage.d.ts +11 -0
  51. package/src/generated/StoryFrontmatter.d.ts +26 -0
  52. package/src/generated/TemplateRef.d.ts +17 -0
  53. package/src/generated/UnknownCode.d.ts +8 -1
  54. package/src/generated/index.ts +45 -3
  55. package/src/generated/CapabilityState.d.ts +0 -25
  56. package/src/generated/CliProfile.d.ts +0 -492
  57. package/src/generated/SessionFailure.d.ts +0 -129
@@ -0,0 +1,45 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { JourneyTrigger } from "./JourneyTrigger";
9
+
10
+ /**
11
+ * Every observation of one `(from, to, trigger, outcome)` combination,
12
+ * aggregated. `to_node_unobserved` rows are not graph edges (they have no
13
+ * destination); they count on the from-node's `unobservedDepartures`.
14
+ */
15
+ export interface JourneyGraphEdge {
16
+ /**
17
+ * Earliest `observedAt` among them, RFC 3339 UTC.
18
+ */
19
+ firstObservedAt: string;
20
+ /**
21
+ * `fromNode.key()`.
22
+ */
23
+ fromKey: string;
24
+ /**
25
+ * Latest `observedAt` among them, RFC 3339 UTC.
26
+ */
27
+ lastObservedAt: string;
28
+ /**
29
+ * How many ledger rows this edge aggregates (≥ 1).
30
+ */
31
+ observations: number;
32
+ /**
33
+ * How the edge closed.
34
+ */
35
+ outcome:
36
+ "changed" | "no_change" | "error" | "settle_timeout" | "to_node_unobserved";
37
+ /**
38
+ * `toNode.key()`.
39
+ */
40
+ toKey: string;
41
+ /**
42
+ * The trigger, exactly as recorded — enough to replay the step.
43
+ */
44
+ trigger: JourneyTrigger;
45
+ }
@@ -0,0 +1,112 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { FrontierEntry } from "./FrontierEntry";
9
+ import type { JourneyArrivalDoubt } from "./JourneyArrivalDoubt";
10
+ import type { JourneyCoverage } from "./JourneyCoverage";
11
+ import type { JourneyFilter } from "./JourneyFilter";
12
+ import type { JourneyLedgerHealth } from "./JourneyLedgerHealth";
13
+ import type { JourneyNode } from "./JourneyNode";
14
+ import type { JourneySearchFrontier } from "./JourneySearchFrontier";
15
+ import type { JourneySearchFrontierNode } from "./JourneySearchFrontierNode";
16
+ import type { JourneyUnmeasuredDepartures } from "./JourneyUnmeasuredDepartures";
17
+
18
+ /**
19
+ * The answer of [`requires_prior_knowledge`].
20
+ */
21
+ export interface JourneyPriorKnowledge {
22
+ /**
23
+ * The graph's coverage.
24
+ */
25
+ coverage: JourneyCoverage;
26
+ /**
27
+ * The graph's filter.
28
+ */
29
+ filterEcho: JourneyFilter;
30
+ /**
31
+ * What the whole graph did not look at. A listed node never rests on an
32
+ * open frontier (any open entry moves every candidate to `unsettled`);
33
+ * this block is what the NEGATIVE about the rest — "no other node
34
+ * requires prior knowledge" — is unknown over unless it is settled.
35
+ */
36
+ frontier: JourneySearchFrontier;
37
+ /**
38
+ * Nodes that require prior knowledge, settled: they qualify, nothing
39
+ * the graph left out could reach them by a click or a back button, no
40
+ * affordance anywhere is still unexplored, and the ledger is `writing`.
41
+ * Sorted by key.
42
+ */
43
+ nodes: JourneyPriorKnowledgeNode[];
44
+ /**
45
+ * Nodes that qualify on their kept arrivals but cannot be settled, with
46
+ * the causes that could still reach them. Sorted by key.
47
+ */
48
+ unsettled: JourneyPriorKnowledgeUnsettledNode[];
49
+ }
50
+ /**
51
+ * A node users only ever arrived at without clicking anything.
52
+ */
53
+ export interface JourneyPriorKnowledgeNode {
54
+ /**
55
+ * Observed arrivals per navigation trigger (`initial`, `push`,
56
+ * `replace`, `hash` only — by definition).
57
+ */
58
+ arrivals: {
59
+ [k: string]: number;
60
+ };
61
+ /**
62
+ * The node.
63
+ */
64
+ nodeKey: string;
65
+ }
66
+ /**
67
+ * A node that qualifies on its KEPT arrivals, but that some row the graph
68
+ * left out could still reach by a click or a back button — so whether it
69
+ * requires prior knowledge is unknown.
70
+ */
71
+ export interface JourneyPriorKnowledgeUnsettledNode {
72
+ /**
73
+ * Excluded (filtered / withdrawn) affordance or pop arrivals into it.
74
+ */
75
+ arrivalDoubt: JourneyArrivalDoubt;
76
+ /**
77
+ * Its kept URL-trigger arrivals, as in [`JourneyPriorKnowledgeNode`].
78
+ */
79
+ arrivals: {
80
+ [k: string]: number;
81
+ };
82
+ /**
83
+ * The ledger is not `writing`: a click into this node may simply have
84
+ * failed to be recorded.
85
+ */
86
+ ledgerNotWriting: boolean;
87
+ /**
88
+ * The node.
89
+ */
90
+ nodeKey: string;
91
+ /**
92
+ * Open frontier entries across the WHOLE graph — listable ones, rejected
93
+ * ones placed at a node, and unplaced rejected ones, each row once. An
94
+ * affordance nobody activated anywhere may be the link into this node.
95
+ */
96
+ openFrontierEntries: number;
97
+ /**
98
+ * No observed arrival at this node closed `changed` or `no_change`
99
+ * ([`JourneyGraphNode::unconfirmed_destination`]): it may be an
100
+ * intermediate state, not a page a URL leads to.
101
+ */
102
+ unconfirmedDestination: boolean;
103
+ /**
104
+ * [`JourneyGraph::unknown_destination_arrivals`] — any of them may
105
+ * arrive here.
106
+ */
107
+ unknownDestinationArrivals: number;
108
+ /**
109
+ * [`JourneyGraph::unplaced_rejected_rows`] — any of them may arrive here.
110
+ */
111
+ unplacedRejectedRows: number;
112
+ }
@@ -0,0 +1,64 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { FrontierEntry } from "./FrontierEntry";
9
+ import type { JourneyCoverage } from "./JourneyCoverage";
10
+ import type { JourneyFilter } from "./JourneyFilter";
11
+ import type { JourneyLedgerHealth } from "./JourneyLedgerHealth";
12
+ import type { JourneyNode } from "./JourneyNode";
13
+ import type { JourneySearchFrontier } from "./JourneySearchFrontier";
14
+ import type { JourneySearchFrontierNode } from "./JourneySearchFrontierNode";
15
+ import type { JourneyUnmeasuredDepartures } from "./JourneyUnmeasuredDepartures";
16
+
17
+ /**
18
+ * The answer of [`reachable_from`].
19
+ */
20
+ export interface JourneyReachable {
21
+ /**
22
+ * The graph's coverage.
23
+ */
24
+ coverage: JourneyCoverage;
25
+ /**
26
+ * The graph's filter.
27
+ */
28
+ filterEcho: JourneyFilter;
29
+ /**
30
+ * The start node's key.
31
+ */
32
+ fromKey: string;
33
+ /**
34
+ * Whether the start node was observed at all. `false` means the
35
+ * question was asked about a node the ledger has never seen — the
36
+ * caller answers `unknown` (`no_observations`), never "reaches nothing".
37
+ */
38
+ fromObserved: boolean;
39
+ /**
40
+ * What the searched component (exactly the `reachable` nodes) did not
41
+ * look at. Unsettled ⇒ "X is not reachable" is unknown.
42
+ */
43
+ frontier: JourneySearchFrontier;
44
+ /**
45
+ * Every node reachable from the start, INCLUDING the start at 0 steps
46
+ * (empty when `fromObserved` is false), sorted by key.
47
+ */
48
+ reachable: JourneyReachedNode[];
49
+ }
50
+ /**
51
+ * A node reached, and its BFS distance.
52
+ */
53
+ export interface JourneyReachedNode {
54
+ /**
55
+ * The node.
56
+ */
57
+ nodeKey: string;
58
+ /**
59
+ * Shortest OBSERVED number of navigation edges from the start (0 = the
60
+ * start) — an upper bound on the true distance while the frontier is
61
+ * unsettled.
62
+ */
63
+ steps: number;
64
+ }
@@ -0,0 +1,59 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { FrontierEntry } from "./FrontierEntry";
9
+ import type { JourneyNode } from "./JourneyNode";
10
+ import type { JourneySearchFrontierNode } from "./JourneySearchFrontierNode";
11
+ import type { JourneyUnmeasuredDepartures } from "./JourneyUnmeasuredDepartures";
12
+
13
+ /**
14
+ * What the searched part of the graph did NOT look at. Empty
15
+ * ([`Self::is_settled`]) means a negative answer over that part is a real
16
+ * negative; otherwise it is unknown.
17
+ */
18
+ export interface JourneySearchFrontier {
19
+ /**
20
+ * Open frontier entries per reason — every reason present, zeros
21
+ * included.
22
+ */
23
+ byReason: {
24
+ [k: string]: number;
25
+ };
26
+ /**
27
+ * Nodes with open frontier entries, unobserved departures or unmeasured
28
+ * departures, sorted by key.
29
+ */
30
+ nodes: JourneySearchFrontierNode[];
31
+ /**
32
+ * The off-graph part included in `unmeasuredDepartures` (all zero for a
33
+ * question about one component).
34
+ */
35
+ offGraphDepartures: JourneyUnmeasuredDepartures;
36
+ /**
37
+ * Open frontier entries across those nodes.
38
+ */
39
+ openEntries: number;
40
+ /**
41
+ * Unmeasured departures across those nodes, plus — for a graph-wide
42
+ * question — `offGraphDepartures`.
43
+ */
44
+ unmeasuredDepartures: JourneyUnmeasuredDepartures;
45
+ /**
46
+ * Unobserved departures across those nodes.
47
+ */
48
+ unobservedDepartures: number;
49
+ /**
50
+ * Rejected frontier rows that could not be placed at any node (counted
51
+ * by every question).
52
+ */
53
+ unplacedRejectedFrontier: number;
54
+ /**
55
+ * Untrusted edge rows that could not be placed at any node (counted by
56
+ * every question).
57
+ */
58
+ unplacedRejectedRows: number;
59
+ }
@@ -0,0 +1,37 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { FrontierEntry } from "./FrontierEntry";
9
+ import type { JourneyNode } from "./JourneyNode";
10
+ import type { JourneyUnmeasuredDepartures } from "./JourneyUnmeasuredDepartures";
11
+
12
+ /**
13
+ * One node, inside a query's searched component, that was not fully looked
14
+ * at.
15
+ */
16
+ export interface JourneySearchFrontierNode {
17
+ /**
18
+ * The node.
19
+ */
20
+ nodeKey: string;
21
+ /**
22
+ * Its open frontier entries, grouped by reason (only reasons present),
23
+ * each list sorted by `affordanceFingerprint` — the affordances that
24
+ * would have to be explored to settle the question.
25
+ */
26
+ openByReason: {
27
+ [k: string]: FrontierEntry[];
28
+ };
29
+ /**
30
+ * Departures from it the navigation edge set left out.
31
+ */
32
+ unmeasuredDepartures: JourneyUnmeasuredDepartures;
33
+ /**
34
+ * Departures from it whose destination was never observed.
35
+ */
36
+ unobservedDepartures: number;
37
+ }
@@ -0,0 +1,65 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { FrontierEntry } from "./FrontierEntry";
9
+ import type { JourneyCoverage } from "./JourneyCoverage";
10
+ import type { JourneyFilter } from "./JourneyFilter";
11
+ import type { JourneyGraphEdge } from "./JourneyGraphEdge";
12
+ import type { JourneyLedgerHealth } from "./JourneyLedgerHealth";
13
+ import type { JourneyNode } from "./JourneyNode";
14
+ import type { JourneySearchFrontier } from "./JourneySearchFrontier";
15
+ import type { JourneySearchFrontierNode } from "./JourneySearchFrontierNode";
16
+ import type { JourneyTrigger } from "./JourneyTrigger";
17
+ import type { JourneyUnmeasuredDepartures } from "./JourneyUnmeasuredDepartures";
18
+
19
+ /**
20
+ * The answer of [`steps_to`].
21
+ */
22
+ export interface JourneySteps {
23
+ /**
24
+ * The graph's coverage.
25
+ */
26
+ coverage: JourneyCoverage;
27
+ /**
28
+ * The graph's filter.
29
+ */
30
+ filterEcho: JourneyFilter;
31
+ /**
32
+ * The start node's key.
33
+ */
34
+ fromKey: string;
35
+ /**
36
+ * Whether the start node was observed.
37
+ */
38
+ fromObserved: boolean;
39
+ /**
40
+ * What the component reachable from the start did not look at.
41
+ */
42
+ frontier: JourneySearchFrontier;
43
+ /**
44
+ * The edges of one shortest path, in order (empty when `steps` is null
45
+ * or 0). Among equally short paths, the one whose next node key is
46
+ * byte-wise smallest at every step; between parallel edges, the
47
+ * smallest edge in graph order.
48
+ */
49
+ path: JourneyGraphEdge[];
50
+ /**
51
+ * Shortest OBSERVED number of navigation edges from start to target — an
52
+ * upper bound on the true distance while the frontier is unsettled;
53
+ * `null` = no observed path (which is a negative only when `frontier` is settled and
54
+ * both endpoints were observed).
55
+ */
56
+ steps?: number | null;
57
+ /**
58
+ * The target node's key.
59
+ */
60
+ toKey: string;
61
+ /**
62
+ * Whether the target node was observed.
63
+ */
64
+ toObserved: boolean;
65
+ }
@@ -0,0 +1,84 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Departures from one node that the NAVIGATION edge set (affordance +
10
+ * `changed`) leaves out, yet that may still lead somewhere — so a negative
11
+ * answer over a component containing the node stays `unknown`, never
12
+ * `absent`. The navigation counters count only `affordance`-triggered rows
13
+ * (a typed URL is not a way the app offers); excluded back-button (`pop`)
14
+ * rows have their own counter, [`Self::excluded_back_arrivals`]. A filtered
15
+ * or withdrawn click or back that closed `no_change`, or `error` on its own
16
+ * node, is never counted: that exclusion is a genuine negative (a URL-trigger
17
+ * row never is one). (A REJECTED row is not counted here at all: nothing in it is
18
+ * trusted, so it is placed at no node — see
19
+ * [`JourneyGraph::unplaced_rejected_rows`].) Each counter is its own
20
+ * `coverage.unmeasured` dimension — see [`JourneySearchFrontier::unmeasured`]
21
+ * for the dimension names and codes.
22
+ */
23
+ export interface JourneyUnmeasuredDepartures {
24
+ /**
25
+ * `error` edges to a DIFFERENT node: the action errored yet the
26
+ * configuration moved. Dimension `errored_departures`.
27
+ */
28
+ errored: number;
29
+ /**
30
+ * Back-button (`pop`) rows from this node that are not a kept, changed
31
+ * exit: valid `pop` rows the filter excluded or that were withdrawn
32
+ * (unless a genuine negative: `no_change`, or `error` on its own node),
33
+ * kept `pop` edges to ANOTHER node whose outcome is `error` or
34
+ * `settle_timeout`, and kept `pop` self-loops that closed
35
+ * `settle_timeout` (the same rules as an affordance edge's). A REJECTED pop row is not here — nothing in a rejected row
36
+ * is trusted, so it counts in `JourneyGraph::unplaced_rejected_rows`.
37
+ * Not a navigation
38
+ * departure, so a question about one component ignores it; the
39
+ * graph-wide questions it can change — `dead_ends`' `backOnly`,
40
+ * `requires_prior_knowledge`, the whole frontier — count it. Dimension
41
+ * `excluded_back_arrivals`.
42
+ */
43
+ excludedBackArrivals: number;
44
+ /**
45
+ * Valid URL-trigger rows (`initial` / `push` / `replace` / `hash`) from
46
+ * this node that the filter excluded or that were withdrawn, WHATEVER
47
+ * their outcome (a URL row is an arrival, never a genuine negative). A typed URL is not a navigation departure, so a question
48
+ * about one component ignores it; but it is an ARRIVAL that decides
49
+ * `requires_prior_knowledge`, and it may reveal a node no kept row
50
+ * shows, so the graph-wide questions (`requires_prior_knowledge`,
51
+ * `dead_ends`, the whole frontier) count it. Dimension
52
+ * `excluded_url_arrivals`.
53
+ */
54
+ excludedUrlArrivals: number;
55
+ /**
56
+ * Live, valid affordance rows the request's filter (`since` /
57
+ * `appVersion` / `runKind`) excluded, unless they are a genuine negative
58
+ * (`no_change`, or `error` on their own node). Dimension
59
+ * `filtered_departures`.
60
+ */
61
+ filteredOut: number;
62
+ /**
63
+ * Frontier rows at this node that failed `validate()` — treated as OPEN
64
+ * entries the read cannot list. A row whose `nodeKey` column disagrees
65
+ * with its `node` is counted at BOTH keys (the column's, and the valid
66
+ * node's), since either may be the true one. Dimension
67
+ * `rejected_frontier`.
68
+ */
69
+ rejectedFrontier: number;
70
+ /**
71
+ * Affordance edges that closed `settle_timeout` — to a DIFFERENT node
72
+ * (the destination may be an intermediate render), or to the SAME node
73
+ * (the destination may not have rendered before the snapshot). Not a
74
+ * navigation step, but not a negative either. Dimension
75
+ * `settle_timeout_departures`.
76
+ */
77
+ settleTimeout: number;
78
+ /**
79
+ * Withdrawn affordance rows (`invalidatedAt` set) that pass `validate()`,
80
+ * unless they are a genuine negative (`no_change`, or `error` on their
81
+ * own node). Dimension `withdrawn_departures`.
82
+ */
83
+ withdrawn: number;
84
+ }
@@ -0,0 +1,45 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Provenance of a [`ScheduledTask`] that the runner reconciles from a
10
+ * fleet-wide declaration (plan
11
+ * `2026-10-29-recurring-agents-declared-in-coord-reconciled-by-runner`, D5).
12
+ *
13
+ * `(source, tenant_id, agent)` is the managed key: the runner holds at most
14
+ * one task per key. What the reconciler compares to decide whether a task is
15
+ * current is `digest`, never `version` — a catalog fix in coord's code moves
16
+ * no row version, and a deleted-and-recreated agent restarts its version at 1.
17
+ */
18
+ export interface ManagedBy {
19
+ /**
20
+ * The recurring agent's name — its join key across coord's status, run
21
+ * requests and this managed task (coord forbids renames).
22
+ */
23
+ agent: string;
24
+ /**
25
+ * sha256 (64 lowercase hex) of the resolved spec coord served when this
26
+ * task was applied. `None` = applied from a declaration that carried no
27
+ * digest.
28
+ */
29
+ digest?: string | null;
30
+ /**
31
+ * Which declaration store the task came from — [`MANAGED_SOURCE_COORD`].
32
+ * A plain string rather than an enum, so a stored task from a newer
33
+ * source still loads; the consumer decides what it recognises.
34
+ */
35
+ source: string;
36
+ /**
37
+ * The coord tenant (UUID) whose declaration this task applies. A device
38
+ * bound to several tenants holds one managed task per tenant and agent.
39
+ */
40
+ tenantId: string;
41
+ /**
42
+ * The declaration's row version when applied. History and display only.
43
+ */
44
+ version: number;
45
+ }
@@ -0,0 +1,23 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * One row of an interface mapping.
10
+ */
11
+ export interface MappingRow {
12
+ /**
13
+ * The business rule or requirement (`spec_ref`) the row implements.
14
+ */
15
+ rule_ref?: string | null;
16
+ source_field: string;
17
+ target_field: string;
18
+ /**
19
+ * The transformation applied, in prose or a short expression.
20
+ */
21
+ transform?: string | null;
22
+ [k: string]: unknown;
23
+ }
@@ -0,0 +1,54 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * One metric over every sample. The order statistics are over the MEASURED
10
+ * values only (degraded ones included — their value stands) and are `null`
11
+ * when none was measured; `absent` and `unknownByCode` say what the rest
12
+ * were. `measured + absent + Σ unknownByCode + withoutTimeline = n`.
13
+ */
14
+ export interface MetricDistribution {
15
+ /**
16
+ * Samples whose producer looked and found the thing did not occur.
17
+ */
18
+ absent: number;
19
+ /**
20
+ * Of those, how many were degraded (`coverage.unmeasured` non-empty).
21
+ */
22
+ degraded: number;
23
+ /**
24
+ * Largest measured value.
25
+ */
26
+ max?: number | null;
27
+ /**
28
+ * Samples with a measured value.
29
+ */
30
+ measured: number;
31
+ /**
32
+ * Nearest-rank 50th percentile (the lower middle value of an even count).
33
+ */
34
+ median?: number | null;
35
+ /**
36
+ * Smallest measured value.
37
+ */
38
+ min?: number | null;
39
+ /**
40
+ * Nearest-rank 90th percentile.
41
+ */
42
+ p90?: number | null;
43
+ /**
44
+ * Samples the producer could not answer, per `UnknownCode` wire value.
45
+ */
46
+ unknownByCode: {
47
+ [k: string]: number;
48
+ };
49
+ /**
50
+ * Samples with no timeline at all.
51
+ */
52
+ withoutTimeline: number;
53
+ [k: string]: unknown;
54
+ }
@@ -0,0 +1,11 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * A device's dispatch role, in coord's vocabulary (`dispatch_role.rs`).
10
+ */
11
+ export type RecurringAgentDispatchRole = "workhorse" | "bench" | "ci_node";
@@ -0,0 +1,20 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * An [`RecurringAgentParamKind::IntegerSet`] value the entry refuses.
10
+ */
11
+ export interface RecurringAgentExcludedValue {
12
+ /**
13
+ * Why it is refused.
14
+ */
15
+ reason: string;
16
+ /**
17
+ * The refused value.
18
+ */
19
+ value: number;
20
+ }
@@ -0,0 +1,11 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * An operating system a [`RecurringAgentTarget::Os`] target selects.
10
+ */
11
+ export type RecurringAgentOs = "linux" | "windows" | "macos";
@@ -0,0 +1,48 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { ConditionScheduleConfig } from "./ConditionScheduleConfig";
9
+ import type { IdleCondition } from "./IdleCondition";
10
+ import type { McpConnectionRef } from "./McpConnectionRef";
11
+ import type { ProbeCondition } from "./ProbeCondition";
12
+ import type { RepositoryInactiveCondition } from "./RepositoryInactiveCondition";
13
+ import type { RepositoryWatch } from "./RepositoryWatch";
14
+ import type { ScheduleConditions } from "./ScheduleConditions";
15
+ import type { ScheduleExpression } from "./ScheduleExpression";
16
+ import type { ScheduledTaskType } from "./ScheduledTaskType";
17
+
18
+ /**
19
+ * A local override of a managed task on one machine (plan D6), stored by the
20
+ * runner and reported to coord so the web shows it. Only the fields set are
21
+ * overridden; the rest follow the fleet declaration.
22
+ */
23
+ export interface RecurringAgentOverride {
24
+ /**
25
+ * Replacement conditions (e.g. require idle / repo inactive).
26
+ */
27
+ conditions?: ScheduleConditions | null;
28
+ /**
29
+ * ISO 8601 timestamp when the override was made.
30
+ */
31
+ created_at: string;
32
+ /**
33
+ * Free-form note from whoever made the override.
34
+ */
35
+ note?: string | null;
36
+ /**
37
+ * Replacement schedule.
38
+ */
39
+ schedule?: ScheduleExpression | null;
40
+ /**
41
+ * Replacement task.
42
+ */
43
+ task?: ScheduledTaskType | null;
44
+ /**
45
+ * Replacement IANA time zone.
46
+ */
47
+ timezone?: string | null;
48
+ }