@swarmvaultai/engine 0.1.19 → 0.1.21

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.
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>SwarmVault Graph</title>
7
- <script type="module" crossorigin src="/assets/index-DWUwoLny.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-DEETVhXx.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-mRA-6D-Z.css">
9
9
  </head>
10
10
  <body>
@@ -168,6 +168,39 @@ type ViewerCandidateRecord = {
168
168
  createdAt: string;
169
169
  updatedAt: string;
170
170
  };
171
+ type ViewerWatchStatus = {
172
+ generatedAt: string;
173
+ watchedRepoRoots: string[];
174
+ lastRun?: {
175
+ startedAt: string;
176
+ finishedAt: string;
177
+ durationMs: number;
178
+ inputDir: string;
179
+ reasons: string[];
180
+ importedCount: number;
181
+ scannedCount: number;
182
+ attachmentCount: number;
183
+ changedPages: string[];
184
+ repoImportedCount?: number;
185
+ repoUpdatedCount?: number;
186
+ repoRemovedCount?: number;
187
+ repoScannedCount?: number;
188
+ pendingSemanticRefreshCount?: number;
189
+ pendingSemanticRefreshPaths?: string[];
190
+ lintFindingCount?: number;
191
+ success: boolean;
192
+ error?: string;
193
+ };
194
+ pendingSemanticRefresh: Array<{
195
+ id: string;
196
+ repoRoot: string;
197
+ path: string;
198
+ changeType: "added" | "modified" | "removed";
199
+ detectedAt: string;
200
+ sourceId?: string;
201
+ sourceKind?: string;
202
+ }>;
203
+ };
171
204
  declare global {
172
205
  interface Window {
173
206
  __SWARMVAULT_EMBEDDED_DATA__?: {
@@ -196,5 +229,6 @@ declare function fetchApprovalDetail(approvalId: string): Promise<ViewerApproval
196
229
  declare function applyReviewAction(approvalId: string, action: "accept" | "reject", targets?: string[]): Promise<ViewerReviewActionResult>;
197
230
  declare function fetchCandidates(): Promise<ViewerCandidateRecord[]>;
198
231
  declare function applyCandidateAction(target: string, action: "promote" | "archive"): Promise<ViewerCandidateRecord>;
232
+ declare function fetchWatchStatus(): Promise<ViewerWatchStatus>;
199
233
 
200
- export { type ViewerApprovalDetail, type ViewerApprovalEntry, type ViewerApprovalSummary, type ViewerCandidateRecord, type ViewerGraphArtifact, type ViewerGraphEdge, type ViewerGraphExplainResult, type ViewerGraphNode, type ViewerGraphPage, type ViewerGraphPathResult, type ViewerGraphQueryResult, type ViewerOutputAsset, type ViewerPagePayload, type ViewerReviewActionResult, type ViewerSearchOptions, type ViewerSearchResult, applyCandidateAction, applyReviewAction, fetchApprovalDetail, fetchApprovals, fetchCandidates, fetchGraphArtifact, fetchGraphExplain, fetchGraphPath, fetchGraphQuery, fetchViewerPage, searchViewerPages };
234
+ export { type ViewerApprovalDetail, type ViewerApprovalEntry, type ViewerApprovalSummary, type ViewerCandidateRecord, type ViewerGraphArtifact, type ViewerGraphEdge, type ViewerGraphExplainResult, type ViewerGraphNode, type ViewerGraphPage, type ViewerGraphPathResult, type ViewerGraphQueryResult, type ViewerOutputAsset, type ViewerPagePayload, type ViewerReviewActionResult, type ViewerSearchOptions, type ViewerSearchResult, type ViewerWatchStatus, applyCandidateAction, applyReviewAction, fetchApprovalDetail, fetchApprovals, fetchCandidates, fetchGraphArtifact, fetchGraphExplain, fetchGraphPath, fetchGraphQuery, fetchViewerPage, fetchWatchStatus, searchViewerPages };
@@ -182,6 +182,20 @@ async function applyCandidateAction(target, action) {
182
182
  }
183
183
  return response.json();
184
184
  }
185
+ async function fetchWatchStatus() {
186
+ if (embeddedData()) {
187
+ return {
188
+ generatedAt: "",
189
+ watchedRepoRoots: [],
190
+ pendingSemanticRefresh: []
191
+ };
192
+ }
193
+ const response = await fetch("/api/watch-status");
194
+ if (!response.ok) {
195
+ throw new Error(`Failed to load watch status: ${response.status} ${response.statusText}`);
196
+ }
197
+ return response.json();
198
+ }
185
199
  export {
186
200
  applyCandidateAction,
187
201
  applyReviewAction,
@@ -193,5 +207,6 @@ export {
193
207
  fetchGraphPath,
194
208
  fetchGraphQuery,
195
209
  fetchViewerPage,
210
+ fetchWatchStatus,
196
211
  searchViewerPages
197
212
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swarmvaultai/engine",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "Core engine for SwarmVault: ingest, compile, query, lint, and provider abstractions.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",