@qontinui/shared-types 0.8.1 → 0.12.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 (36) hide show
  1. package/dist/index.cjs.map +1 -1
  2. package/dist/index.d.cts +412 -1
  3. package/dist/index.d.ts +412 -1
  4. package/package.json +1 -1
  5. package/src/generated/AgentCommand.d.ts +81 -0
  6. package/src/generated/AgentCommandError.d.ts +23 -0
  7. package/src/generated/AgentCommandVersion.d.ts +67 -0
  8. package/src/generated/App.d.ts +34 -0
  9. package/src/generated/AppError.d.ts +5 -0
  10. package/src/generated/ComponentActionInfo.d.ts +33 -0
  11. package/src/generated/ElementState.d.ts +27 -1
  12. package/src/generated/GitCommitLite.d.ts +24 -0
  13. package/src/generated/GitLite.d.ts +27 -0
  14. package/src/generated/HealthLevel.d.ts +11 -0
  15. package/src/generated/HealthLite.d.ts +28 -0
  16. package/src/generated/HelperAnswer.d.ts +47 -0
  17. package/src/generated/HelperAnswerSchema.d.ts +40 -0
  18. package/src/generated/HelperTask.d.ts +59 -0
  19. package/src/generated/HelperTaskKind.d.ts +16 -0
  20. package/src/generated/HelperTaskPayload.d.ts +37 -0
  21. package/src/generated/HelperTaskSource.d.ts +31 -0
  22. package/src/generated/HelperTaskStatus.d.ts +14 -0
  23. package/src/generated/HelperVerdict.d.ts +21 -0
  24. package/src/generated/PendingQuestion.d.ts +32 -0
  25. package/src/generated/ProcessStatusLite.d.ts +38 -0
  26. package/src/generated/ProjectSnapshot.d.ts +63 -0
  27. package/src/generated/RegisterAppRequest.d.ts +24 -0
  28. package/src/generated/SavedProject.d.ts +102 -0
  29. package/src/generated/SessionLite.d.ts +44 -0
  30. package/src/generated/SessionSource.d.ts +11 -0
  31. package/src/generated/SpecCheckResult.d.ts +7 -0
  32. package/src/generated/StateMatchResult.d.ts +5 -0
  33. package/src/generated/UIBridgeComponent.d.ts +10 -0
  34. package/src/generated/UpdateAppRequest.d.ts +24 -0
  35. package/src/generated/index.ts +21 -0
  36. package/src/index.ts +14 -0
@@ -0,0 +1,102 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * A project the user has told the runner about (typically via the setup
10
+ * wizard's project picker, the new-project flow, or the Projects
11
+ * dashboard's "find on disk" discovery).
12
+ *
13
+ * Persisted to `settings.json` under the `saved_projects` key.
14
+ *
15
+ * `id` is the stable key: a project's `path` can move on disk (renamed
16
+ * folder, relocated workspace) but its identity must not. Entries persisted
17
+ * before `id` existed are backfilled with a freshly-minted UUID on first
18
+ * load — `#[serde(default)]` exists only so that load succeeds, never as a
19
+ * legitimate steady-state value.
20
+ *
21
+ * `project_type` is deliberately a free-form `String` so a new framework
22
+ * never requires a schema change.
23
+ * `Default` exists so a producer that only knows a few fields can write
24
+ * `SavedProject { path, name, ..Default::default() }` — the new-project flow
25
+ * and the setup wizard both do. A defaulted `id` is the empty string, which
26
+ * the registry treats as "mint me one" (see the field docs), never as a key.
27
+ */
28
+ export interface SavedProject {
29
+ /**
30
+ * Accent colour for the card, as a CSS colour string.
31
+ */
32
+ color?: string | null;
33
+ /**
34
+ * One-line plain-English description ("Website for the pizzeria, with
35
+ * menu + ordering"). Shown on the project card under the name.
36
+ */
37
+ description?: string | null;
38
+ /**
39
+ * Emoji used as the card's visual identity (e.g. "🍕").
40
+ */
41
+ emoji?: string | null;
42
+ /**
43
+ * The project's front page ("http://localhost:3000"). Seeded from the
44
+ * setup wizard's dev-server port detection; user-correctable.
45
+ */
46
+ frontPageUrl?: string | null;
47
+ /**
48
+ * Stable identifier (UUID). Survives a path move; the registry key.
49
+ */
50
+ id: string;
51
+ /**
52
+ * Unix epoch milliseconds of the last time the project was activated.
53
+ */
54
+ lastOpenedMs?: number | null;
55
+ /**
56
+ * Manifest file that identified the project (e.g. "package.json").
57
+ */
58
+ manifest: string;
59
+ /**
60
+ * Human-friendly display name (usually the directory basename).
61
+ */
62
+ name: string;
63
+ /**
64
+ * The user's own free-form notes about the project.
65
+ */
66
+ notes?: string | null;
67
+ /**
68
+ * Absolute path to the project root.
69
+ */
70
+ path: string;
71
+ /**
72
+ * Pinned projects sort first and render as sidebar entries.
73
+ */
74
+ pinned: boolean;
75
+ /**
76
+ * Ids of the `ProcessConfig` entries this project owns.
77
+ */
78
+ processIds: string[];
79
+ /**
80
+ * Framework/language tag, e.g. "react", "python", "rust", "node".
81
+ */
82
+ projectType: string;
83
+ /**
84
+ * `owner/name` GitHub slug, from `repo_detection::detect_repo_slug`.
85
+ */
86
+ repoSlug?: string | null;
87
+ /**
88
+ * Bound Terminal page id.
89
+ *
90
+ * **A hint, not a handle.** Terminal pages persist to the frontend's
91
+ * `instanceStorage` (localStorage, port-namespaced), which Rust cannot
92
+ * read, so this id can name a page that does not exist in the current
93
+ * window. Activation must treat an unknown id as "not created yet" —
94
+ * create a page named after the project and rewrite the id — and must
95
+ * never fail on a dangling value.
96
+ */
97
+ terminalPageId?: string | null;
98
+ /**
99
+ * Terminal zone profile to restore when the project is activated.
100
+ */
101
+ zoneProfile?: string | null;
102
+ }
@@ -0,0 +1,44 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ import type { SessionSource } from "./SessionSource";
9
+
10
+ /**
11
+ * One session attributed to a project — either a live terminal or an AI
12
+ * session reconstructed from its touched files.
13
+ */
14
+ export interface SessionLite {
15
+ /**
16
+ * Number of distinct files this session touched **under this project
17
+ * root**. Zero for terminal-sourced rows.
18
+ */
19
+ filesTouched: number;
20
+ /**
21
+ * `task_runs.id` for AI sessions, the terminal id for live terminals.
22
+ */
23
+ id: string;
24
+ /**
25
+ * Unix epoch milliseconds of the most recent observed activity —
26
+ * `max(recorded_at)` over the session's touched files, or the
27
+ * terminal's creation time.
28
+ */
29
+ lastActivityMs?: number | null;
30
+ /**
31
+ * Session name — `task_runs.task_name` or the terminal's title.
32
+ */
33
+ name?: string | null;
34
+ source: SessionSource;
35
+ /**
36
+ * `task_runs.status` ("running", "completed", …) for AI sessions;
37
+ * `None` for terminals (liveness is `is_alive` in the terminal list).
38
+ */
39
+ status?: string | null;
40
+ /**
41
+ * Working directory, when known (terminal sessions always carry one).
42
+ */
43
+ workingDir?: string | null;
44
+ }
@@ -0,0 +1,11 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated.
4
+ * DO NOT MODIFY IT BY HAND. Regenerate with `just generate-types` or
5
+ * `qontinui-runner/src-tauri/scripts/generate_types.sh`.
6
+ */
7
+
8
+ /**
9
+ * Where a [`SessionLite`] was observed.
10
+ */
11
+ export type SessionSource = "terminal" | "touched_files";
@@ -30,6 +30,12 @@ import type { StateMatchResult } from "./StateMatchResult";
30
30
  */
31
31
  export interface SpecCheckResult {
32
32
  bridgeFingerprint: BridgeFingerprint;
33
+ /**
34
+ * Red/Yellow/Green classification of the overall match rate.
35
+ * Derived from `summary.overall_match_rate` and the app's configured
36
+ * thresholds at evaluation time (see `thresholds_used`).
37
+ */
38
+ classification: "red" | "yellow" | "green";
33
39
  /**
34
40
  * ISO-8601 UTC. When the spec was hashed and the snapshot indexed.
35
41
  */
@@ -72,6 +78,7 @@ export interface SpecCheckResult {
72
78
  */
73
79
  stateResults: StateMatchResult[];
74
80
  summary: SpecCheckSummary;
81
+ thresholdsUsed: ThresholdConfig;
75
82
  /**
76
83
  * Soft signals — currently used for `Stale` from `SnapshotFetchError`.
77
84
  */
@@ -21,6 +21,11 @@ export interface StateMatchResult {
21
21
  * One entry per IR assertion in the state.
22
22
  */
23
23
  assertions: AssertionResult[];
24
+ /**
25
+ * Red/Yellow/Green classification of this state's match rate.
26
+ * Derived from `match_rate` and the app's configured thresholds.
27
+ */
28
+ classification: "red" | "yellow" | "green";
24
29
  /**
25
30
  * Fraction of assertions that passed (0.0..=1.0).
26
31
  */
@@ -14,6 +14,16 @@ import type { ComponentActionInfo } from "./ComponentActionInfo";
14
14
  * (e.g. "submit form", "reset filters").
15
15
  */
16
16
  export interface UIBridgeComponent {
17
+ /**
18
+ * Invocation-path template for this component's actions, emitted with a
19
+ * literal `{actionId}` placeholder:
20
+ * `/control/component/<componentId>/action/{actionId}`.
21
+ *
22
+ * **Server-annotated, not author-declared**: emitted by the SDK's
23
+ * `annotateComponentWithInvocationPaths` alongside the per-action
24
+ * [`ComponentActionInfo::path`].
25
+ */
26
+ actionInvocationPath?: string | null;
17
27
  /**
18
28
  * Actions exposed by this component.
19
29
  */
@@ -6,7 +6,31 @@
6
6
  */
7
7
 
8
8
  export interface UpdateAppRequest {
9
+ /**
10
+ * Whether this app requires authentication before spec checks.
11
+ */
12
+ authRequired?: boolean | null;
13
+ /**
14
+ * Build command for "pull_build" strategy.
15
+ */
16
+ buildCommand?: string | null;
9
17
  displayName?: string | null;
18
+ /**
19
+ * Red threshold for spec match rates (0.0–1.0). Must be < yellow_threshold.
20
+ */
21
+ redThreshold?: number | null;
22
+ /**
23
+ * Start command to restart after build.
24
+ */
25
+ startCommand?: string | null;
10
26
  uiBridgeUrl?: string | null;
27
+ /**
28
+ * Auto-fresh update strategy: "pull_only" or "pull_build".
29
+ */
30
+ updateStrategy?: string | null;
31
+ /**
32
+ * Yellow threshold for spec match rates (0.0–1.0). Must be > red_threshold.
33
+ */
34
+ yellowThreshold?: number | null;
11
35
  [k: string]: unknown;
12
36
  }
@@ -18,6 +18,9 @@ export type { ActionResponse } from './ActionResponse';
18
18
  export type { ActionStatus } from './ActionStatus';
19
19
  export type { ActionType } from './ActionType';
20
20
  export type { ActiveStatesResult } from './ActiveStatesResult';
21
+ export type { AgentCommand } from './AgentCommand';
22
+ export type { AgentCommandError } from './AgentCommandError';
23
+ export type { AgentCommandVersion } from './AgentCommandVersion';
21
24
  export type { AgenticPhaseOutput } from './AgenticPhaseOutput';
22
25
  export type { AgenticStatus } from './AgenticStatus';
23
26
  export type { AiWorkflow } from './AiWorkflow';
@@ -184,9 +187,21 @@ export type { FunctionalSpec } from './FunctionalSpec';
184
187
  export type { GUIElementChunk } from './GUIElementChunk';
185
188
  export type { GapReason } from './GapReason';
186
189
  export type { GateEvaluationResult } from './GateEvaluationResult';
190
+ export type { GitCommitLite } from './GitCommitLite';
191
+ export type { GitLite } from './GitLite';
187
192
  export type { GitOpListResponse } from './GitOpListResponse';
188
193
  export type { GitOpRecord } from './GitOpRecord';
189
194
  export type { HealthCheckUrl } from './HealthCheckUrl';
195
+ export type { HealthLevel } from './HealthLevel';
196
+ export type { HealthLite } from './HealthLite';
197
+ export type { HelperAnswer } from './HelperAnswer';
198
+ export type { HelperAnswerSchema } from './HelperAnswerSchema';
199
+ export type { HelperTask } from './HelperTask';
200
+ export type { HelperTaskKind } from './HelperTaskKind';
201
+ export type { HelperTaskPayload } from './HelperTaskPayload';
202
+ export type { HelperTaskSource } from './HelperTaskSource';
203
+ export type { HelperTaskStatus } from './HelperTaskStatus';
204
+ export type { HelperVerdict } from './HelperVerdict';
190
205
  export type { HistoricalActionQuery } from './HistoricalActionQuery';
191
206
  export type { HistoricalActionResult } from './HistoricalActionResult';
192
207
  export type { HttpConfig } from './HttpConfig';
@@ -288,6 +303,7 @@ export type { PathfindingRequest } from './PathfindingRequest';
288
303
  export type { PathfindingResult } from './PathfindingResult';
289
304
  export type { PathfindingStep } from './PathfindingStep';
290
305
  export type { PatternOptions } from './PatternOptions';
306
+ export type { PendingQuestion } from './PendingQuestion';
291
307
  export type { PipelineConfig } from './PipelineConfig';
292
308
  export type { PlaybackFrameRequest } from './PlaybackFrameRequest';
293
309
  export type { PlaywrightExecutionMode } from './PlaywrightExecutionMode';
@@ -299,7 +315,9 @@ export type { PollingConfig } from './PollingConfig';
299
315
  export type { ProcessConfig } from './ProcessConfig';
300
316
  export type { ProcessState } from './ProcessState';
301
317
  export type { ProcessStatus } from './ProcessStatus';
318
+ export type { ProcessStatusLite } from './ProcessStatusLite';
302
319
  export type { Profile } from './Profile';
320
+ export type { ProjectSnapshot } from './ProjectSnapshot';
303
321
  export type { PromptStep } from './PromptStep';
304
322
  export type { PromptStepPhase } from './PromptStepPhase';
305
323
  export type { ProposalStatus } from './ProposalStatus';
@@ -345,6 +363,7 @@ export type { RunnerStatusEvent } from './RunnerStatusEvent';
345
363
  export type { RunnerUiError } from './RunnerUiError';
346
364
  export type { RuntimeData } from './RuntimeData';
347
365
  export type { SaveWorkflowArtifactStep } from './SaveWorkflowArtifactStep';
366
+ export type { SavedProject } from './SavedProject';
348
367
  export type { ScheduleConditions } from './ScheduleConditions';
349
368
  export type { ScheduleExpression } from './ScheduleExpression';
350
369
  export type { ScheduledTask } from './ScheduledTask';
@@ -362,6 +381,8 @@ export type { SearchStrategy } from './SearchStrategy';
362
381
  export type { SectionVerdict } from './SectionVerdict';
363
382
  export type { SemanticSearchRequest } from './SemanticSearchRequest';
364
383
  export type { SemanticSearchResponse } from './SemanticSearchResponse';
384
+ export type { SessionLite } from './SessionLite';
385
+ export type { SessionSource } from './SessionSource';
365
386
  export type { SpecApiEvent } from './SpecApiEvent';
366
387
  export type { SpecCheckConfidence } from './SpecCheckConfidence';
367
388
  export type { SpecCheckPolicy } from './SpecCheckPolicy';
package/src/index.ts CHANGED
@@ -12,6 +12,20 @@ export * from "./render-log";
12
12
  export type { SpecValidation } from "./generated/SpecValidation";
13
13
  export type { ProposalStatus } from "./generated/ProposalStatus";
14
14
 
15
+ // Projects dashboard — the saved-project registry and its joined snapshot
16
+ // view. Generated from `rust/src/projects.rs`; `SavedProject` replaces the
17
+ // hand-written interface the runner carried in `hooks/useSavedProjects.ts`.
18
+ export type { SavedProject } from "./generated/SavedProject";
19
+ export type { ProjectSnapshot } from "./generated/ProjectSnapshot";
20
+ export type { ProcessStatusLite } from "./generated/ProcessStatusLite";
21
+ export type { SessionLite } from "./generated/SessionLite";
22
+ export type { SessionSource } from "./generated/SessionSource";
23
+ export type { GitLite } from "./generated/GitLite";
24
+ export type { GitCommitLite } from "./generated/GitCommitLite";
25
+ export type { PendingQuestion } from "./generated/PendingQuestion";
26
+ export type { HealthLite } from "./generated/HealthLite";
27
+ export type { HealthLevel } from "./generated/HealthLevel";
28
+
15
29
  // State discovery types
16
30
  export * from "./discovery";
17
31