@ultrst-armada/kloks 1.4.8 → 1.5.2

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.
@@ -1,10 +1,3 @@
1
- import {
2
- StorageAdapterFactory
3
- } from "./chunk-J2J24JVC.js";
4
- import {
5
- findUserWorkspace
6
- } from "./chunk-E72GXBXF.js";
7
-
8
1
  // ../../node_modules/.pnpm/@ultrst-armada+krnl@1.0.3/node_modules/@ultrst-armada/krnl/packages/core/dist/index.js
9
2
  var ServiceStateStore = class {
10
3
  state;
@@ -376,158 +369,8 @@ function createServiceProxy(definition, adapter, endpoint) {
376
369
  }
377
370
  var asyncHooks = globalThis.process?.getBuiltinModule?.("node:async_hooks");
378
371
 
379
- // src/services/workspaceGraphService.ts
380
- function slugify(name) {
381
- const value = String(name || "").trim().replace(/[/\\]+/g, "_").replace(/[<>:"|?*]/g, "").slice(0, 80);
382
- return value || "New Graph";
383
- }
384
- function storage() {
385
- return StorageAdapterFactory.create({
386
- provider: "local_fs",
387
- basePath: process.env.KLOKS_GRAPH_STORAGE_ROOT || "./workspaces-data"
388
- });
389
- }
390
- function graphPath(workspaceId, slug) {
391
- return `workspaces/${workspaceId}/graphs/${slug}.graph.json`;
392
- }
393
- async function assertWorkspace(userId, workspaceId) {
394
- const result = await findUserWorkspace(workspaceId);
395
- if (!result.workspace || !result.user || result.user.id !== userId) {
396
- throw new Error(`Workspace ${workspaceId} does not exist`);
397
- }
398
- return result.workspace;
399
- }
400
- async function readGraph(workspaceId, slug) {
401
- const adapter = storage();
402
- const path = graphPath(workspaceId, slug);
403
- if (!await adapter.exists(path)) return null;
404
- const raw = new TextDecoder().decode(await adapter.read(path));
405
- return JSON.parse(raw);
406
- }
407
- async function writeGraph(document) {
408
- const adapter = storage();
409
- await adapter.write(graphPath(document.workspaceId, document.graphSlug), JSON.stringify(document, null, 2), "application/json");
410
- }
411
- function toDocument(workspaceId, id, name, slug, nodes = [], edges = [], createdAt = (/* @__PURE__ */ new Date()).toISOString()) {
412
- const now = (/* @__PURE__ */ new Date()).toISOString();
413
- return {
414
- $schema: "https://skipo.dev/schemas/node-graph.v1.json",
415
- version: "1.0.0",
416
- appId: workspaceId,
417
- appName: name,
418
- createdAt,
419
- updatedAt: now,
420
- exportedAt: now,
421
- workspaceId,
422
- graphId: id,
423
- graphSlug: slug,
424
- graph: { nodes, edges }
425
- };
426
- }
427
- var workspaceGraphService = {
428
- async listGraphs(userId, workspaceId) {
429
- await assertWorkspace(userId, workspaceId);
430
- const adapter = storage();
431
- const files = await adapter.list(`workspaces/${workspaceId}/graphs`);
432
- const graphs = [];
433
- for (const file of files.filter((item) => item.path.endsWith(".graph.json"))) {
434
- try {
435
- const raw = new TextDecoder().decode(await adapter.read(file.path));
436
- const graph = JSON.parse(raw);
437
- graphs.push({
438
- id: graph.graphId,
439
- name: graph.appName,
440
- slug: graph.graphSlug,
441
- createdAt: graph.createdAt,
442
- updatedAt: graph.updatedAt,
443
- nodeCount: graph.graph.nodes.length
444
- });
445
- } catch {
446
- }
447
- }
448
- graphs.sort((a, b) => a.createdAt.localeCompare(b.createdAt));
449
- return { success: true, graphs };
450
- },
451
- async createGraph(userId, workspaceId, input) {
452
- await assertWorkspace(userId, workspaceId);
453
- const targetName = String(input?.name || "").trim().slice(0, 80) || "New Graph";
454
- const baseSlug = slugify(targetName);
455
- let slug = baseSlug;
456
- let n = 2;
457
- while (await readGraph(workspaceId, slug)) slug = `${baseSlug} (${n++})`;
458
- const graph = toDocument(workspaceId, `graph-${Date.now()}`, targetName, slug);
459
- await writeGraph(graph);
460
- return { success: true, graph, graphs: (await this.listGraphs(userId, workspaceId)).graphs };
461
- },
462
- async getGraph(userId, workspaceId, slug) {
463
- await assertWorkspace(userId, workspaceId);
464
- const graph = await readGraph(workspaceId, slug);
465
- if (!graph) throw new Error(`Graph "${slug}" not found`);
466
- return { success: true, graph };
467
- },
468
- async saveGraph(userId, workspaceId, slug, patch) {
469
- await assertWorkspace(userId, workspaceId);
470
- const existing = await readGraph(workspaceId, slug);
471
- if (!existing) throw new Error(`Graph "${slug}" not found`);
472
- const next = {
473
- ...existing,
474
- appName: typeof patch.name === "string" && patch.name.trim() ? patch.name.trim().slice(0, 80) : existing.appName,
475
- graph: {
476
- nodes: Array.isArray(patch.nodes) ? patch.nodes : existing.graph.nodes,
477
- edges: Array.isArray(patch.edges) ? patch.edges : existing.graph.edges
478
- },
479
- updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
480
- exportedAt: (/* @__PURE__ */ new Date()).toISOString()
481
- };
482
- await writeGraph(next);
483
- return { success: true, graph: next };
484
- },
485
- async deleteGraph(userId, workspaceId, slug) {
486
- await assertWorkspace(userId, workspaceId);
487
- const adapter = storage();
488
- const path = graphPath(workspaceId, slug);
489
- if (!await adapter.exists(path)) throw new Error(`Graph "${slug}" not found`);
490
- await adapter.delete(path);
491
- return { success: true, deletedSlug: slug, graphs: (await this.listGraphs(userId, workspaceId)).graphs };
492
- },
493
- async duplicateGraph(userId, workspaceId, slug, newName) {
494
- const existing = (await this.getGraph(userId, workspaceId, slug)).graph;
495
- const targetName = (newName || `${existing.appName} (Copy)`).trim().slice(0, 80);
496
- const baseSlug = slugify(targetName);
497
- let newSlug = baseSlug;
498
- let n = 2;
499
- while (await readGraph(workspaceId, newSlug)) newSlug = `${baseSlug} (${n++})`;
500
- const now = (/* @__PURE__ */ new Date()).toISOString();
501
- const graph = {
502
- ...JSON.parse(JSON.stringify(existing)),
503
- graphId: `graph-${Date.now()}`,
504
- graphSlug: newSlug,
505
- appName: targetName,
506
- createdAt: now,
507
- updatedAt: now,
508
- exportedAt: now
509
- };
510
- await writeGraph(graph);
511
- return { success: true, graph, graphs: (await this.listGraphs(userId, workspaceId)).graphs };
512
- },
513
- async clearGraph(userId, workspaceId, slug) {
514
- const existing = (await this.getGraph(userId, workspaceId, slug)).graph;
515
- return this.saveGraph(userId, workspaceId, slug, { nodes: [], edges: [] });
516
- },
517
- async getGraphDocument(userId, workspaceId, slug) {
518
- return (await this.getGraph(userId, workspaceId, slug)).graph;
519
- },
520
- async saveGraphDocument(userId, workspaceId, document) {
521
- await assertWorkspace(userId, workspaceId);
522
- if (document.workspaceId !== workspaceId) throw new Error("Graph workspace mismatch");
523
- await writeGraph({ ...document, updatedAt: (/* @__PURE__ */ new Date()).toISOString(), exportedAt: (/* @__PURE__ */ new Date()).toISOString() });
524
- return { success: true, graph: document };
525
- }
526
- };
527
-
528
372
  export {
529
373
  createServiceDefinition,
530
374
  createService,
531
- createServiceProxy,
532
- workspaceGraphService
375
+ createServiceProxy
533
376
  };
@@ -0,0 +1,202 @@
1
+ import * as _ultrst_armada_krnl from '@ultrst-armada/krnl';
2
+ import { ServiceDefinition } from '@ultrst-armada/krnl';
3
+
4
+ type DevelopmentProvider = 'webcontainer' | 'github-actions';
5
+ type DevelopmentTask = 'install' | 'lint' | 'test' | 'build' | 'validate' | 'check';
6
+ interface DevelopmentRequest {
7
+ provider: DevelopmentProvider;
8
+ task: DevelopmentTask;
9
+ repository?: string;
10
+ ref?: string;
11
+ workflowId?: string | number;
12
+ workflowInputs?: Record<string, string>;
13
+ cwd?: string;
14
+ env?: Record<string, string>;
15
+ }
16
+ interface DevelopmentResult {
17
+ provider: DevelopmentProvider;
18
+ task: DevelopmentTask;
19
+ ok: boolean;
20
+ exitCode?: number;
21
+ output?: string;
22
+ runId?: number;
23
+ url?: string;
24
+ }
25
+ interface WebContainerCommand {
26
+ command: string;
27
+ args: string[];
28
+ }
29
+ interface DevelopmentServiceContract {
30
+ definition: ServiceDefinition;
31
+ }
32
+
33
+ interface GitHubActionsConfig {
34
+ token: string;
35
+ apiBaseUrl?: string;
36
+ fetchImpl?: typeof fetch;
37
+ }
38
+ interface WorkflowRun {
39
+ id: number;
40
+ name?: string;
41
+ status?: string;
42
+ conclusion?: string | null;
43
+ html_url?: string;
44
+ }
45
+ declare class GitHubActionsClient {
46
+ private readonly config;
47
+ private readonly baseUrl;
48
+ private readonly fetchImpl;
49
+ constructor(config: GitHubActionsConfig);
50
+ private request;
51
+ listWorkflowRuns(repository: string, workflowId?: string | number, branch?: string): Promise<{
52
+ workflow_runs: WorkflowRun[];
53
+ }>;
54
+ getWorkflowRun(repository: string, runId: number): Promise<WorkflowRun>;
55
+ getWorkflowJobs(repository: string, runId: number): Promise<{
56
+ jobs: Array<{
57
+ id: number;
58
+ name: string;
59
+ status: string;
60
+ conclusion?: string | null;
61
+ }>;
62
+ }>;
63
+ getJobLogs(repository: string, jobId: number): Promise<string>;
64
+ listArtifacts(repository: string, runId?: number): Promise<{
65
+ artifacts: Array<{
66
+ id: number;
67
+ name: string;
68
+ expired: boolean;
69
+ }>;
70
+ }>;
71
+ dispatchWorkflow(repository: string, workflowId: string | number, ref: string, inputs?: Record<string, string>): Promise<void>;
72
+ rerunWorkflow(repository: string, runId: number): Promise<void>;
73
+ rerunFailedJobs(repository: string, runId: number): Promise<void>;
74
+ cancelWorkflow(repository: string, runId: number): Promise<void>;
75
+ }
76
+ declare const GitHubActionsServiceDefinition: ServiceDefinition;
77
+ declare const GitHubActionsServiceFacade: {
78
+ id: string;
79
+ name: string;
80
+ version: string;
81
+ runtime: "server";
82
+ deployment: "remote";
83
+ definition: ServiceDefinition<Record<string, unknown>, Record<string, unknown>>;
84
+ createInstance: () => _ultrst_armada_krnl.ServiceInstance<Record<string, unknown>, Record<string, unknown>>;
85
+ execute: <TIn = unknown, TOut = unknown>(op: string, input?: TIn) => Promise<TOut>;
86
+ };
87
+
88
+ declare const COMMANDS: Record<string, WebContainerCommand>;
89
+ interface WebContainerRunCommandInput {
90
+ command: string;
91
+ args?: string[];
92
+ cwd?: string;
93
+ env?: Record<string, string | number | boolean>;
94
+ }
95
+ declare class WebContainerRuntime {
96
+ private container;
97
+ private instancePromise;
98
+ boot(): Promise<any>;
99
+ mount(files: Record<string, unknown>): Promise<{
100
+ mounted: boolean;
101
+ }>;
102
+ private runProcess;
103
+ run(task: keyof typeof COMMANDS, cwd?: string, env?: Record<string, string>): Promise<{
104
+ exitCode: any;
105
+ output: string;
106
+ }>;
107
+ runCommand(command: string, args?: string[], cwd?: string, env?: Record<string, string | number | boolean>): Promise<{
108
+ exitCode: any;
109
+ output: string;
110
+ }>;
111
+ teardown(): Promise<{
112
+ tornDown: boolean;
113
+ }>;
114
+ }
115
+ declare const WebContainerServiceDefinition: ServiceDefinition;
116
+ declare const WebContainerServiceFacade: {
117
+ id: string;
118
+ name: string;
119
+ version: string;
120
+ runtime: "client";
121
+ deployment: "local";
122
+ definition: ServiceDefinition<Record<string, unknown>, Record<string, unknown>>;
123
+ createInstance: () => _ultrst_armada_krnl.ServiceInstance<Record<string, unknown>, Record<string, unknown>>;
124
+ execute: <TIn = unknown, TOut = unknown>(op: string, input?: TIn) => Promise<TOut>;
125
+ };
126
+
127
+ declare function resolveDevelopmentCommand(task: DevelopmentRequest['task']): [string, string[]];
128
+ declare const DevelopmentServiceDefinition: ServiceDefinition;
129
+ declare class DevelopmentRuntime {
130
+ private readonly webContainer;
131
+ private readonly githubActions?;
132
+ constructor(webContainer?: WebContainerRuntime, githubActions?: GitHubActionsClient);
133
+ run(request: DevelopmentRequest): Promise<DevelopmentResult>;
134
+ }
135
+ declare const DevelopmentServiceFacade: {
136
+ id: string;
137
+ name: string;
138
+ version: string;
139
+ runtime: "server";
140
+ deployment: "local";
141
+ definition: ServiceDefinition<Record<string, unknown>, Record<string, unknown>>;
142
+ createInstance: () => _ultrst_armada_krnl.ServiceInstance<Record<string, unknown>, Record<string, unknown>>;
143
+ execute: <TIn = unknown, TOut = unknown>(op: string, input?: TIn) => Promise<TOut>;
144
+ };
145
+
146
+ type ValidationLayer = 'syntax' | 'lint' | 'test' | 'build' | 'krnl' | 'frnl' | 'law-l9';
147
+ interface CodeValidationInput {
148
+ layers?: ValidationLayer[];
149
+ cwd?: string;
150
+ env?: Record<string, string>;
151
+ maxLines?: number;
152
+ files?: Record<string, unknown>;
153
+ install?: boolean;
154
+ }
155
+ interface ValidationDiagnostic {
156
+ layer: ValidationLayer;
157
+ ok: boolean;
158
+ exitCode: number;
159
+ output: string;
160
+ command: string;
161
+ }
162
+ interface CodeValidationResult {
163
+ ok: boolean;
164
+ diagnostics: ValidationDiagnostic[];
165
+ failedLayers: ValidationLayer[];
166
+ }
167
+
168
+ declare class CodeValidationRuntime {
169
+ private readonly runtime;
170
+ constructor(runtime?: WebContainerRuntime);
171
+ validate(input?: CodeValidationInput): Promise<CodeValidationResult>;
172
+ private validateLawL9;
173
+ }
174
+ declare const CodeValidationServiceDefinition: ServiceDefinition;
175
+ declare const CodeValidationServiceFacade: {
176
+ id: string;
177
+ name: string;
178
+ version: string;
179
+ runtime: "client";
180
+ deployment: "local";
181
+ definition: ServiceDefinition<Record<string, unknown>, Record<string, unknown>>;
182
+ createInstance: () => _ultrst_armada_krnl.ServiceInstance<Record<string, unknown>, Record<string, unknown>>;
183
+ execute: <TIn = CodeValidationInput, TOut = CodeValidationResult>(op: string, input?: TIn) => Promise<TOut>;
184
+ };
185
+
186
+ interface CodeDiagnosticsInput {
187
+ cwd?: string;
188
+ file?: string;
189
+ }
190
+ interface CodeDiagnosticsResult {
191
+ ok: boolean;
192
+ output: string;
193
+ command: string;
194
+ }
195
+ declare class CodeDiagnosticsService {
196
+ private readonly runtime;
197
+ constructor(runtime?: WebContainerRuntime);
198
+ diagnostics(input?: CodeDiagnosticsInput): Promise<CodeDiagnosticsResult>;
199
+ }
200
+ declare const codeDiagnosticsService: CodeDiagnosticsService;
201
+
202
+ export { type CodeDiagnosticsInput, type CodeDiagnosticsResult, CodeDiagnosticsService, type CodeValidationInput, type CodeValidationResult, CodeValidationRuntime, CodeValidationServiceDefinition, CodeValidationServiceFacade, type DevelopmentProvider, type DevelopmentRequest, type DevelopmentResult, DevelopmentRuntime, type DevelopmentServiceContract, DevelopmentServiceDefinition, DevelopmentServiceFacade, type DevelopmentTask, GitHubActionsClient, type GitHubActionsConfig, GitHubActionsServiceDefinition, GitHubActionsServiceFacade, type ValidationDiagnostic, type ValidationLayer, type WebContainerCommand, type WebContainerRunCommandInput, WebContainerRuntime, WebContainerServiceDefinition, WebContainerServiceFacade, type WorkflowRun, codeDiagnosticsService, resolveDevelopmentCommand };
@@ -0,0 +1,35 @@
1
+ import {
2
+ CodeDiagnosticsService,
3
+ CodeValidationRuntime,
4
+ CodeValidationServiceDefinition,
5
+ CodeValidationServiceFacade,
6
+ DevelopmentRuntime,
7
+ DevelopmentServiceDefinition,
8
+ DevelopmentServiceFacade,
9
+ GitHubActionsClient,
10
+ GitHubActionsServiceDefinition,
11
+ GitHubActionsServiceFacade,
12
+ WebContainerRuntime,
13
+ WebContainerServiceDefinition,
14
+ WebContainerServiceFacade,
15
+ codeDiagnosticsService,
16
+ resolveDevelopmentCommand
17
+ } from "../chunk-3Z7EUZWE.js";
18
+ import "../chunk-TY32TUNI.js";
19
+ export {
20
+ CodeDiagnosticsService,
21
+ CodeValidationRuntime,
22
+ CodeValidationServiceDefinition,
23
+ CodeValidationServiceFacade,
24
+ DevelopmentRuntime,
25
+ DevelopmentServiceDefinition,
26
+ DevelopmentServiceFacade,
27
+ GitHubActionsClient,
28
+ GitHubActionsServiceDefinition,
29
+ GitHubActionsServiceFacade,
30
+ WebContainerRuntime,
31
+ WebContainerServiceDefinition,
32
+ WebContainerServiceFacade,
33
+ codeDiagnosticsService,
34
+ resolveDevelopmentCommand
35
+ };
@@ -13,6 +13,7 @@ export { AdaptedStorageConnection, AppAccountManifest, AppServiceDeclaration, CA
13
13
  export { CompositeBackend, EndpointGenerator, GeneratedEndpointSummary, LOCAL_STORAGE_GRAPHS_PREFIX, LocalService, NodeGraphPersistenceService, NodeGraphValidationResult, RemoteServiceProxy, SaveGraphOptions, UniversalAppEntity, UniversalGraphEdge, UniversalGraphNode, UniversalNodeGraphDocument, UniversalStorageConnection, WorkspaceGraphDocument, WorkspaceGraphSummary, createBackend, createCompositeService, createLocalService, createRemoteService, exportGraphAsJsonFile, nodeGraphPersistence, parseGraphJsonFile, validateGraphDocument, workspaceGraphService } from './services/index.js';
14
14
  import { AssetDataType as AssetDataType$1, AssetChannelType as AssetChannelType$1, GraphFolderInfo as GraphFolderInfo$1, GraphAssetItem as GraphAssetItem$1, SpaceNode, NodeConnection, DawProject } from '@ultrst-armada/kloks/state-graph';
15
15
  export { AuthServiceDefinition, AuthServiceFacade, ControlPlaneServiceDefinition, ControlPlaneServiceFacade, DatabaseServiceDefinition, DatabaseServiceFacade, GeminiServiceDefinition, GeminiServiceFacade, SrklServiceDefinition, SrklServiceFacade, StorageServiceDefinition, StorageServiceFacade, WorkspaceGraphServiceDefinition, WorkspaceGraphServiceFacade, WorkspaceServiceDefinition, WorkspaceServiceFacade, krnlAuthServiceDefinition, krnlAuthServiceFacade, krnlControlPlaneServiceDefinition, krnlControlPlaneServiceFacade, krnlDatabaseServiceDefinition, krnlDatabaseServiceFacade, krnlGeminiServiceDefinition, krnlGeminiServiceFacade, krnlSrklServiceDefinition, krnlSrklServiceFacade, krnlStorageServiceDefinition, krnlStorageServiceFacade, krnlWorkspaceGraphServiceDefinition, krnlWorkspaceGraphServiceFacade, krnlWorkspaceServiceDefinition, krnlWorkspaceServiceFacade } from './krnl-services.js';
16
+ export { CodeDiagnosticsInput, CodeDiagnosticsResult, CodeDiagnosticsService, CodeValidationInput, CodeValidationResult, CodeValidationRuntime, CodeValidationServiceDefinition, CodeValidationServiceFacade, DevelopmentProvider, DevelopmentRequest, DevelopmentResult, DevelopmentRuntime, DevelopmentServiceContract, DevelopmentServiceDefinition, DevelopmentServiceFacade, DevelopmentTask, GitHubActionsClient, GitHubActionsConfig, GitHubActionsServiceDefinition, GitHubActionsServiceFacade, ValidationDiagnostic, ValidationLayer, WebContainerCommand, WebContainerRunCommandInput, WebContainerRuntime, WebContainerServiceDefinition, WebContainerServiceFacade, WorkflowRun, codeDiagnosticsService, resolveDevelopmentCommand } from './development/index.js';
16
17
  export { EndpointDescriptor, IService, ProtocolAdapter, ServiceDefinition } from '@ultrst-armada/krnl';
17
18
  import 'react';
18
19
 
@@ -1,3 +1,17 @@
1
+ import {
2
+ CompositeBackend,
3
+ EndpointGenerator,
4
+ LOCAL_STORAGE_GRAPHS_PREFIX,
5
+ NodeGraphPersistenceService,
6
+ createBackend,
7
+ createCompositeService,
8
+ createLocalService,
9
+ createRemoteService,
10
+ exportGraphAsJsonFile,
11
+ nodeGraphPersistence,
12
+ parseGraphJsonFile,
13
+ validateGraphDocument
14
+ } from "./chunk-RBF2OGMC.js";
1
15
  import {
2
16
  CANONICAL_SRKL_URL,
3
17
  SrklClient,
@@ -61,12 +75,30 @@ import {
61
75
  krnlWorkspaceGraphServiceFacade,
62
76
  krnlWorkspaceServiceDefinition,
63
77
  krnlWorkspaceServiceFacade
64
- } from "./chunk-KYBO7FGP.js";
78
+ } from "./chunk-GQUNN7SA.js";
79
+ import {
80
+ workspaceGraphService
81
+ } from "./chunk-DBZVGMJ7.js";
65
82
  import {
66
83
  getPrimarySrklDeploymentUrl,
67
84
  getSrklAccounts,
68
85
  srklListBackblazeBuckets
69
86
  } from "./chunk-VDROUXFT.js";
87
+ import {
88
+ BackblazeB2Adapter,
89
+ BaseStorageAdapter,
90
+ LocalFSAdapter,
91
+ S3Adapter,
92
+ StorageAdapterFactory,
93
+ SupabaseStorageAdapter,
94
+ ensureS3DirectoryMarker,
95
+ isSecretMasked,
96
+ normalizeBackblazeCredentials,
97
+ permanentDeleteS3Folder,
98
+ permanentDeleteS3Object,
99
+ renameS3Folder,
100
+ resolveBackblazeEndpoint
101
+ } from "./chunk-J2J24JVC.js";
70
102
  import {
71
103
  authorizeB2,
72
104
  b2DownloadFile,
@@ -78,6 +110,35 @@ import {
78
110
  formatCanonicalWorkspaceFolderName,
79
111
  sanitizeWorkspaceName
80
112
  } from "./chunk-FZKBTF34.js";
113
+ import {
114
+ b2DeleteFileVersion,
115
+ b2DeleteFolder,
116
+ b2ListBuckets as b2ListBuckets2,
117
+ cleanDbUrl,
118
+ createWorkspace,
119
+ deleteWorkspace,
120
+ deleteWorkspaceFile,
121
+ deleteWorkspaceFolder,
122
+ findUserWorkspace,
123
+ getB2BucketId,
124
+ getUnifiedDbUrl,
125
+ getWorkspaceFolderPrefix,
126
+ getWorkspaceStorageDetails,
127
+ getWorkspaces,
128
+ isB2Workspace,
129
+ listWorkspaceFiles,
130
+ loadWorkspaceData,
131
+ queryUnifiedDb,
132
+ readWorkspaceFile,
133
+ renameAppInWorkspaceData,
134
+ resolveWorkspaceConnection,
135
+ saveWorkspaceData,
136
+ syncWorkspaceCreateToBucket,
137
+ syncWorkspaceDataToBucket,
138
+ syncWorkspaceDeleteToBucket,
139
+ updateWorkspace,
140
+ writeWorkspaceFile
141
+ } from "./chunk-E72GXBXF.js";
81
142
  import {
82
143
  BaseApiRoute,
83
144
  createSSEResponse,
@@ -96,6 +157,11 @@ import {
96
157
  loginSystemUser,
97
158
  resolveUserFromToken
98
159
  } from "./chunk-ZDH4XI7W.js";
160
+ import {
161
+ BackendProvider,
162
+ useBackend,
163
+ useBackendClient
164
+ } from "./chunk-G3ZOSXUR.js";
99
165
  import {
100
166
  BackendRegistry,
101
167
  ConcurrencyConflictError,
@@ -109,19 +175,6 @@ import {
109
175
  RemoteExecutor,
110
176
  createEmptyContract
111
177
  } from "./chunk-5E6JRFUH.js";
112
- import {
113
- AuditLogger,
114
- ControlPlaneManager,
115
- DatabaseClusterManager,
116
- detectDatabaseEngine,
117
- getSystemDatabaseUrls,
118
- resolveSystemDatabaseClusterNodes
119
- } from "./chunk-RCCQ7IRM.js";
120
- import {
121
- BackendProvider,
122
- useBackend,
123
- useBackendClient
124
- } from "./chunk-G3ZOSXUR.js";
125
178
  import {
126
179
  BackendClient,
127
180
  BackendResolver,
@@ -134,66 +187,31 @@ import {
134
187
  createBackendClient
135
188
  } from "./chunk-NIP22V2G.js";
136
189
  import {
137
- CompositeBackend,
138
- EndpointGenerator,
139
- LOCAL_STORAGE_GRAPHS_PREFIX,
140
- NodeGraphPersistenceService,
141
- createBackend,
142
- createCompositeService,
143
- createLocalService,
144
- createRemoteService,
145
- exportGraphAsJsonFile,
146
- nodeGraphPersistence,
147
- parseGraphJsonFile,
148
- validateGraphDocument
149
- } from "./chunk-R27SHBHK.js";
150
- import {
151
- workspaceGraphService
152
- } from "./chunk-ZFCEXTNI.js";
153
- import {
154
- BackblazeB2Adapter,
155
- BaseStorageAdapter,
156
- LocalFSAdapter,
157
- S3Adapter,
158
- StorageAdapterFactory,
159
- SupabaseStorageAdapter,
160
- ensureS3DirectoryMarker,
161
- isSecretMasked,
162
- normalizeBackblazeCredentials,
163
- permanentDeleteS3Folder,
164
- permanentDeleteS3Object,
165
- renameS3Folder,
166
- resolveBackblazeEndpoint
167
- } from "./chunk-J2J24JVC.js";
190
+ AuditLogger,
191
+ ControlPlaneManager,
192
+ DatabaseClusterManager,
193
+ detectDatabaseEngine,
194
+ getSystemDatabaseUrls,
195
+ resolveSystemDatabaseClusterNodes
196
+ } from "./chunk-RCCQ7IRM.js";
168
197
  import {
169
- b2DeleteFileVersion,
170
- b2DeleteFolder,
171
- b2ListBuckets as b2ListBuckets2,
172
- cleanDbUrl,
173
- createWorkspace,
174
- deleteWorkspace,
175
- deleteWorkspaceFile,
176
- deleteWorkspaceFolder,
177
- findUserWorkspace,
178
- getB2BucketId,
179
- getUnifiedDbUrl,
180
- getWorkspaceFolderPrefix,
181
- getWorkspaceStorageDetails,
182
- getWorkspaces,
183
- isB2Workspace,
184
- listWorkspaceFiles,
185
- loadWorkspaceData,
186
- queryUnifiedDb,
187
- readWorkspaceFile,
188
- renameAppInWorkspaceData,
189
- resolveWorkspaceConnection,
190
- saveWorkspaceData,
191
- syncWorkspaceCreateToBucket,
192
- syncWorkspaceDataToBucket,
193
- syncWorkspaceDeleteToBucket,
194
- updateWorkspace,
195
- writeWorkspaceFile
196
- } from "./chunk-E72GXBXF.js";
198
+ CodeDiagnosticsService,
199
+ CodeValidationRuntime,
200
+ CodeValidationServiceDefinition,
201
+ CodeValidationServiceFacade,
202
+ DevelopmentRuntime,
203
+ DevelopmentServiceDefinition,
204
+ DevelopmentServiceFacade,
205
+ GitHubActionsClient,
206
+ GitHubActionsServiceDefinition,
207
+ GitHubActionsServiceFacade,
208
+ WebContainerRuntime,
209
+ WebContainerServiceDefinition,
210
+ WebContainerServiceFacade,
211
+ codeDiagnosticsService,
212
+ resolveDevelopmentCommand
213
+ } from "./chunk-3Z7EUZWE.js";
214
+ import "./chunk-TY32TUNI.js";
197
215
 
198
216
  // src/data/BaseDataProvider.ts
199
217
  import { SkipoBase } from "@ultrst-armada/kloks/functions";
@@ -4366,6 +4384,10 @@ export {
4366
4384
  CANONICAL_SRKL_URL,
4367
4385
  CallbackRegistry,
4368
4386
  CloudflareResourceFetcher,
4387
+ CodeDiagnosticsService,
4388
+ CodeValidationRuntime,
4389
+ CodeValidationServiceDefinition,
4390
+ CodeValidationServiceFacade,
4369
4391
  CompositeBackend,
4370
4392
  ConcurrencyConflictError,
4371
4393
  ConcurrencyManager,
@@ -4375,6 +4397,9 @@ export {
4375
4397
  DatabaseClusterManager,
4376
4398
  DatabaseServiceDefinition,
4377
4399
  DatabaseServiceFacade,
4400
+ DevelopmentRuntime,
4401
+ DevelopmentServiceDefinition,
4402
+ DevelopmentServiceFacade,
4378
4403
  EndpointGenerator,
4379
4404
  EventBus,
4380
4405
  FrontendSession,
@@ -4382,6 +4407,9 @@ export {
4382
4407
  GRAPHS_ROOT,
4383
4408
  GeminiServiceDefinition,
4384
4409
  GeminiServiceFacade,
4410
+ GitHubActionsClient,
4411
+ GitHubActionsServiceDefinition,
4412
+ GitHubActionsServiceFacade,
4385
4413
  HTTPTransport,
4386
4414
  HealthMonitor,
4387
4415
  IdempotencyManager,
@@ -4420,6 +4448,9 @@ export {
4420
4448
  VercelResourceFetcher,
4421
4449
  WORKSPACE_ASSETS_ROOT,
4422
4450
  WORKSPACE_ROOT,
4451
+ WebContainerRuntime,
4452
+ WebContainerServiceDefinition,
4453
+ WebContainerServiceFacade,
4423
4454
  WebSocketTransport,
4424
4455
  WorkingWorkspaceService,
4425
4456
  WorkspaceCloneSyncEngine,
@@ -4438,6 +4469,7 @@ export {
4438
4469
  buildProjectObservability,
4439
4470
  buildProjectsList,
4440
4471
  cleanDbUrl,
4472
+ codeDiagnosticsService,
4441
4473
  computeDeploymentFinalWeight,
4442
4474
  computeUsageWeightScore,
4443
4475
  configureStarterProjectTemplate,
@@ -4568,6 +4600,7 @@ export {
4568
4600
  renameAppInWorkspaceData,
4569
4601
  renameS3Folder,
4570
4602
  resolveBackblazeEndpoint,
4603
+ resolveDevelopmentCommand,
4571
4604
  resolveDynamicRouteFromDb,
4572
4605
  resolveSystemDatabaseClusterNodes,
4573
4606
  resolveSystemDatabaseUrl,