@kvell007/embed-labs-protocol 0.1.0-alpha.98 → 0.1.0-alpha.99

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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @embed-labs/protocol
2
2
 
3
- Shared TypeScript contracts for Embed Labs Cloud clients, services, the CLI,
4
- and the local bridge.
3
+ Shared TypeScript contracts for EmbedLabs local Agent clients, services, the
4
+ CLI, and the local bridge.
5
5
 
6
6
  ## Package Status
7
7
 
@@ -13,16 +13,30 @@ are complete.
13
13
  ## What It Provides
14
14
 
15
15
  - API success and failure envelopes.
16
- - Cloud task, project, event, artifact, and validation evidence contracts.
17
- - Server build template, workspace, resource lease, and execution mode
18
- contracts.
19
16
  - Local bridge device, serial, probe, job, approval, and flash plan contracts.
20
17
  - Board Pack manifest and validation matrix types.
18
+ - BoardPack catalog/profile metadata used by the local Agent and Cloud download
19
+ metadata services.
21
20
  - Small `ok()` and `fail()` helpers for consistent API responses.
22
21
 
23
22
  The package is types-first and has no direct hardware, network, filesystem, or
24
23
  process side effects.
25
24
 
25
+ ## Retired Internal Contracts
26
+
27
+ Some exported types still describe historical Cloud task, project, artifact,
28
+ token-usage, build-template, server-workspace, source-sync, resource-lease, and
29
+ execution-mode prototypes. They are retained only so the current Cloud API can
30
+ read migration evidence, raw diagnostics, and retired records while those code
31
+ paths are being cleaned up.
32
+
33
+ Those legacy types are not a current public product contract. New client code,
34
+ plugins, BoardPacks, SDK installers, and user-facing docs must not use them to
35
+ create server workspaces, cloud compile flows, platform API-key login, token
36
+ usage metering, recharge, quota, billing, or artifact-download workflows.
37
+ Current user workflows go through the local Native Agent, GoLocalBridge,
38
+ BoardPacks, local SDK/toolchains, and redacted public reports.
39
+
26
40
  ## Install
27
41
 
28
42
  After the package is approved for public release:
@@ -40,16 +54,15 @@ import {
40
54
  fail,
41
55
  ok,
42
56
  type DeviceScanResult,
43
- type FlashPlan,
44
- type TaskStatus
57
+ type FlashPlan
45
58
  } from "@embed-labs/protocol";
46
59
 
47
60
  export function health() {
48
61
  return ok({ service: "example", status: "ok" });
49
62
  }
50
63
 
51
- export function missingTask(taskId: string) {
52
- return fail("task_not_found", `No task found for ${taskId}.`, {
64
+ export function missingLocalDevice(localDeviceId: string) {
65
+ return fail("local_device_not_found", `No local device found for ${localDeviceId}.`, {
53
66
  retryable: false
54
67
  });
55
68
  }
package/dist/index.d.ts CHANGED
@@ -51,7 +51,12 @@ export interface BoardDeployRequest {
51
51
  user?: string;
52
52
  artifact_path: string;
53
53
  remote_path?: string;
54
+ remote_dir?: string;
55
+ remote_file?: string;
54
56
  run_command?: string;
57
+ wrapper_script?: string;
58
+ run_script?: string;
59
+ wrapper_remote_path?: string;
55
60
  run?: boolean;
56
61
  timeout_seconds?: number;
57
62
  approved?: boolean;
@@ -63,14 +68,24 @@ export interface BoardDeployResult {
63
68
  artifact_path: string;
64
69
  artifact_size_bytes?: number;
65
70
  remote_path: string;
71
+ remote_dir?: string;
72
+ remote_file?: string;
66
73
  deployed: boolean;
67
74
  ran: boolean;
75
+ run_status?: "not_requested" | "running" | "run_failed" | string;
76
+ run_command?: string;
77
+ wrapper_script?: string;
78
+ wrapper_remote_path?: string;
68
79
  remote_pid?: string;
80
+ app_pid?: string;
81
+ wrapper_pid?: string;
69
82
  log_path?: string;
70
83
  exit_code?: number | null;
71
84
  stdout?: string;
72
85
  stderr?: string;
73
86
  output_tail?: string[];
87
+ process_check?: unknown;
88
+ error?: ErrorEnvelope | Record<string, unknown>;
74
89
  observed_at: string;
75
90
  }
76
91
  export type TaishanPiDeployRequest = BoardDeployRequest;
@@ -87,6 +102,11 @@ export interface ValidationEvidence {
87
102
  artifact_ids?: string[];
88
103
  verdict: "pass" | "fail" | "inconclusive";
89
104
  }
105
+ /**
106
+ * @deprecated Retired Cloud task prototype contract. Current user-facing
107
+ * EmbedLabs flows use the local Native Agent, GoLocalBridge jobs, BoardPacks,
108
+ * local SDK/toolchains, and redacted public reports instead of server tasks.
109
+ */
90
110
  export interface TaskStatus {
91
111
  task_id: string;
92
112
  state: TaskState;
@@ -104,6 +124,10 @@ export interface TaskStatus {
104
124
  created_at: string;
105
125
  updated_at: string;
106
126
  }
127
+ /**
128
+ * @deprecated Retired project/workspace prototype contract. Do not use for new
129
+ * local Agent, plugin, BoardPack, SDK, or Cloud API product flows.
130
+ */
107
131
  export interface ProjectStatus {
108
132
  project_id: string;
109
133
  name: string;
@@ -112,102 +136,46 @@ export interface ProjectStatus {
112
136
  created_at: string;
113
137
  updated_at: string;
114
138
  }
139
+ /**
140
+ * @deprecated Retired project/workspace prototype contract. Current product
141
+ * paths must not create server-side user projects or workspaces.
142
+ */
115
143
  export interface ProjectCreateRequest {
116
144
  name: string;
117
145
  board_id?: string;
118
146
  workspace_path?: string;
119
147
  }
120
- export interface AccountStatus {
121
- account_id: string;
122
- email: string;
123
- display_name?: string;
124
- device_limit?: number;
125
- created_at: string;
126
- updated_at: string;
127
- }
128
- export interface AccountCreateRequest {
129
- email: string;
130
- display_name?: string;
131
- }
132
- export type AuthContextInfo = {
148
+ export interface AuthContextInfo {
133
149
  kind: "admin";
134
150
  roles?: string[];
135
- } | {
136
- kind: "user";
137
- account_id: string;
138
- user_id: string;
139
- } | {
140
- kind: "api_key";
141
- account_id: string;
142
- api_key_id: string;
143
- client_device_id?: string;
144
- device_id?: string;
145
- };
146
- export interface ApiKeySummary {
147
- api_key_id: string;
148
- account_id: string;
149
- name?: string;
150
- key_prefix: string;
151
- api_key?: string;
152
- secret_available?: boolean;
153
- created_at: string;
154
- last_used_at?: string;
155
- revoked_at?: string;
156
- }
157
- export interface ApiKeyCreateRequest {
158
- name?: string;
159
- }
160
- export interface ApiKeyCreateResult {
161
- api_key: string;
162
- api_key_record: ApiKeySummary;
163
151
  }
152
+ /**
153
+ * @deprecated Retired platform token-usage prototype. Current reporting is
154
+ * product-improvement telemetry and redacted public experience, not account
155
+ * billing, recharge, quota, or finance-grade token metering.
156
+ */
164
157
  export interface TokenUsageRecord {
165
158
  usage_id: string;
166
- account_id: string;
167
- api_key_id: string;
168
159
  client_device_id?: string;
169
160
  local_device_id?: string;
170
- /** @deprecated Use client_device_id for account_devices rows. */
171
- device_id?: string;
172
161
  provider?: string;
173
162
  model: string;
174
163
  operation?: string;
175
164
  input_tokens: number;
176
165
  output_tokens: number;
177
166
  total_tokens: number;
178
- task_id?: string;
179
167
  request_id?: string;
180
168
  created_at: string;
181
169
  }
182
- export interface TokenUsageCreateRequest {
183
- api_key?: string;
184
- api_key_id?: string;
185
- client_device_id?: string;
186
- local_device_id?: string;
187
- /** @deprecated Use client_device_id for account_devices rows or local_device_id for boards. */
188
- device_id?: string;
189
- provider?: string;
190
- model: string;
191
- operation?: string;
192
- input_tokens: number;
193
- output_tokens: number;
194
- task_id?: string;
195
- request_id?: string;
196
- created_at?: string;
197
- }
198
170
  export interface McpToolEventRecord {
199
171
  event_id: string;
200
- account_id?: string;
201
- user_id?: string;
202
- api_key_id?: string;
172
+ client_installation_id?: string;
203
173
  client_device_id?: string;
174
+ client_installation?: Record<string, unknown>;
204
175
  local_device_id?: string;
205
- /** @deprecated Use client_device_id for account_devices rows. */
206
- device_id?: string;
207
176
  client: string;
208
177
  tool_name: string;
209
178
  mode: string;
210
- server_model_used: boolean;
211
179
  success: boolean;
212
180
  request_id?: string;
213
181
  duration_ms?: number;
@@ -217,15 +185,13 @@ export interface McpToolEventRecord {
217
185
  created_at: string;
218
186
  }
219
187
  export interface McpToolEventCreateRequest {
220
- account_id?: string;
188
+ client_installation_id?: string;
221
189
  client_device_id?: string;
190
+ client_installation?: Record<string, unknown>;
222
191
  local_device_id?: string;
223
- /** @deprecated Use client_device_id for account_devices rows or local_device_id for boards. */
224
- device_id?: string;
225
192
  client?: string;
226
193
  tool_name: string;
227
194
  mode?: string;
228
- server_model_used?: boolean;
229
195
  success?: boolean;
230
196
  request_id?: string;
231
197
  duration_ms?: number;
@@ -234,286 +200,11 @@ export interface McpToolEventCreateRequest {
234
200
  metadata?: Record<string, unknown>;
235
201
  created_at?: string;
236
202
  }
237
- export interface ClientDeviceContext {
238
- device_id: string;
239
- fingerprint_hash: string;
240
- platform?: string;
241
- arch?: string;
242
- label?: string;
243
- }
244
- export interface ClientDeviceRegistrationRequest {
245
- fingerprint_hash: string;
246
- public_key: string;
247
- label?: string;
248
- platform?: string;
249
- arch?: string;
250
- hostname_hash?: string;
251
- client_name?: string;
252
- client_version?: string;
253
- metadata?: Record<string, unknown>;
254
- }
255
- export interface AccountDeviceRecord {
256
- device_id: string;
257
- account_id: string;
258
- api_key_id?: string;
259
- fingerprint_hash: string;
260
- public_key?: string;
261
- label?: string;
262
- platform?: string;
263
- arch?: string;
264
- hostname_hash?: string;
265
- status: "active" | "revoked";
266
- first_seen_at: string;
267
- last_seen_at: string;
268
- revoked_at?: string;
269
- metadata?: Record<string, unknown>;
270
- }
271
- export interface ClientDeviceRegistrationResult {
272
- device: AccountDeviceRecord;
273
- device_limit: number;
274
- active_device_count: number;
275
- }
276
- export interface TokenUsageModelSummary {
277
- model: string;
278
- input_tokens: number;
279
- output_tokens: number;
280
- total_tokens: number;
281
- event_count: number;
282
- }
283
- export interface TokenUsageSummary {
284
- account_id?: string;
285
- api_key_id?: string;
286
- from?: string;
287
- to?: string;
288
- input_tokens: number;
289
- output_tokens: number;
290
- total_tokens: number;
291
- event_count: number;
292
- by_model: TokenUsageModelSummary[];
293
- }
294
- export interface TokenUsageEventList {
295
- account_id: string;
296
- api_key_id?: string;
297
- from?: string;
298
- to?: string;
299
- limit?: number;
300
- usage_events: TokenUsageRecord[];
301
- }
302
- export interface BillingStatementLine {
303
- provider?: string;
304
- model: string;
305
- input_tokens: number;
306
- output_tokens: number;
307
- total_tokens: number;
308
- event_count: number;
309
- input_cost_microusd: number;
310
- output_cost_microusd: number;
311
- total_cost_microusd: number;
312
- }
313
- export interface BillingStatement {
314
- account_id: string;
315
- from?: string;
316
- to?: string;
317
- currency: "USD";
318
- rate_source: "env";
319
- input_microusd_per_token: number;
320
- output_microusd_per_token: number;
321
- input_tokens: number;
322
- output_tokens: number;
323
- total_tokens: number;
324
- event_count: number;
325
- input_cost_microusd: number;
326
- output_cost_microusd: number;
327
- total_cost_microusd: number;
328
- line_items: BillingStatementLine[];
329
- generated_at: string;
330
- }
331
- export interface BillingSnapshot {
332
- billing_snapshot_id: string;
333
- account_id: string;
334
- from?: string;
335
- to?: string;
336
- currency: "USD";
337
- rate_source: "env";
338
- input_microusd_per_token: number;
339
- output_microusd_per_token: number;
340
- input_tokens: number;
341
- output_tokens: number;
342
- total_tokens: number;
343
- event_count: number;
344
- input_cost_microusd: number;
345
- output_cost_microusd: number;
346
- total_cost_microusd: number;
347
- line_items: BillingStatementLine[];
348
- statement_generated_at: string;
349
- created_at: string;
350
- }
351
- export type BillingPaymentProvider = "mock" | "stripe" | "onchain";
352
- export type BillingRechargeSessionStatus = "pending" | "confirming" | "paid" | "expired" | "cancelled" | "manual_review";
353
- export interface AccountCreditBalance {
354
- account_id: string;
355
- currency: "USD";
356
- balance_cents: number;
357
- pending_recharge_cents: number;
358
- updated_at: string;
359
- source: "local";
360
- }
361
- export type TokenLedgerEntryKind = "recharge_credit" | "model_usage_debit" | "storage_debit";
362
- export interface AccountTokenBalance {
363
- account_id: string;
364
- balance_tokens: number;
365
- updated_at: string;
366
- source: "local";
367
- }
368
- export interface TokenLedgerEntry {
369
- ledger_entry_id: string;
370
- account_id: string;
371
- kind: TokenLedgerEntryKind;
372
- token_delta: number;
373
- balance_after_tokens: number;
374
- created_at: string;
375
- idempotency_key: string;
376
- usage_id?: string;
377
- api_key_id?: string;
378
- provider?: string;
379
- model?: string;
380
- task_id?: string;
381
- workspace_id?: string;
382
- metered_from?: string;
383
- metered_to?: string;
384
- description?: string;
385
- }
386
- export interface TokenLedgerEntryList {
387
- entries: TokenLedgerEntry[];
388
- }
389
- export interface WorkspaceStorageUsage {
390
- workspace_id: string;
391
- account_id: string;
392
- project_id: string;
393
- template_id: string;
394
- quota_mb: number;
395
- allocated_bytes: number;
396
- used_bytes: number;
397
- age_seconds: number;
398
- storage_token_rate_per_gb_hour: number;
399
- accrued_storage_tokens: number;
400
- created_at: string;
401
- updated_at: string;
402
- last_storage_settled_at?: string;
403
- observed_at: string;
404
- }
405
- export interface AccountStorageSummary {
406
- account_id: string;
407
- quota_mb: number;
408
- allocated_mb: number;
409
- allocated_bytes: number;
410
- used_bytes: number;
411
- workspace_count: number;
412
- storage_token_rate_per_gb_hour: number;
413
- accrued_storage_tokens: number;
414
- observed_at: string;
415
- workspaces: WorkspaceStorageUsage[];
416
- }
417
- export interface StorageSettlementRequest {
418
- dry_run?: boolean;
419
- }
420
- export interface StorageSettlementWorkspaceLine {
421
- workspace_id: string;
422
- project_id: string;
423
- template_id: string;
424
- quota_mb: number;
425
- metered_from: string;
426
- metered_to: string;
427
- duration_seconds: number;
428
- storage_token_rate_per_gb_hour: number;
429
- tokens: number;
430
- }
431
- export interface StorageSettlementResult {
432
- account_id: string;
433
- dry_run: boolean;
434
- settled_at: string;
435
- balance_before_tokens: number;
436
- balance_after_tokens: number;
437
- tokens_debited: number;
438
- ledger_entries: TokenLedgerEntry[];
439
- workspaces: StorageSettlementWorkspaceLine[];
440
- }
441
- export interface BillingRechargeSessionCreateRequest {
442
- account_id?: string;
443
- amount_cents?: number;
444
- amount_usd?: string | number;
445
- currency?: "USD";
446
- provider?: BillingPaymentProvider;
447
- chain?: string;
448
- token_symbol?: string;
449
- success_url?: string;
450
- cancel_url?: string;
451
- }
452
- export interface BillingOnchainPaymentDetails {
453
- chain: string;
454
- chain_id?: string;
455
- token_symbol: string;
456
- token_contract?: string;
457
- token_decimals: number;
458
- token_amount: string;
459
- token_amount_units: string;
460
- receive_address: string;
461
- payment_uri: string;
462
- required_confirmations: number;
463
- tx_hash?: string;
464
- received_at?: string;
465
- confirmed_at?: string;
466
- explorer_url?: string;
467
- }
468
- export interface BillingRechargeSessionTxSubmitRequest {
469
- tx_hash?: string;
470
- transaction_hash?: string;
471
- }
472
- export interface BillingRechargeSession {
473
- recharge_session_id: string;
474
- account_id: string;
475
- provider: BillingPaymentProvider;
476
- amount_cents: number;
477
- currency: "USD";
478
- status: BillingRechargeSessionStatus;
479
- checkout_url: string;
480
- qr_payload: string;
481
- supported_payment_method_policy: "provider_dynamic" | "onchain_wallet_only";
482
- provider_session_id?: string;
483
- onchain?: BillingOnchainPaymentDetails;
484
- created_at: string;
485
- expires_at: string;
486
- paid_at?: string;
487
- }
488
- export interface BillingRechargeSessionList {
489
- recharge_sessions: BillingRechargeSession[];
490
- }
491
- export interface BillingOnchainPaymentObservation {
492
- chain: string;
493
- token_symbol: string;
494
- token_contract?: string;
495
- receive_address: string;
496
- token_amount_units: string;
497
- tx_hash: string;
498
- confirmations: number;
499
- observed_at?: string;
500
- block_height?: number;
501
- }
502
- export interface BillingOnchainPaymentObservationResult {
503
- observation_id: string;
504
- status: "confirming" | "paid" | "manual_review" | "duplicate";
505
- reason?: string;
506
- recharge_session?: BillingRechargeSession;
507
- matched_session_ids: string[];
508
- required_confirmations?: number;
509
- confirmations: number;
510
- observed_at: string;
511
- }
512
203
  export interface BuildTemplateWorkspace {
513
204
  root_kind: string;
514
205
  seed_relative_path: string;
515
- user_workspace_relative_path: string;
516
- artifact_relative_path: string;
206
+ local_project_relative_path: string;
207
+ build_output_relative_path: string;
517
208
  cache_relative_path: string;
518
209
  copy_strategy: string;
519
210
  ignored_names?: string[];
@@ -551,9 +242,18 @@ export interface BuildTemplate {
551
242
  hardware_profile_id: string;
552
243
  default_build_profile_id: string;
553
244
  image_build_profile_id?: string;
245
+ execution_plane: "local_toolchain" | "local_bridge" | string;
554
246
  workspace: BuildTemplateWorkspace;
555
- docker: BuildTemplateDocker;
556
- resource_limits: BuildTemplateResourceLimits;
247
+ /**
248
+ * @deprecated Retired server-workspace prototype. Current build templates are
249
+ * local toolchain metadata and must not require Docker workers.
250
+ */
251
+ docker?: BuildTemplateDocker;
252
+ /**
253
+ * @deprecated Retired server-workspace prototype. Current build templates are
254
+ * local toolchain metadata and must not allocate server resource limits.
255
+ */
256
+ resource_limits?: BuildTemplateResourceLimits;
557
257
  outputs: string[];
558
258
  validation: BuildTemplateValidation;
559
259
  }
@@ -596,8 +296,9 @@ export interface BoardKnowledgeSearchResult {
596
296
  matches: BoardKnowledgeSearchMatch[];
597
297
  observed_at: string;
598
298
  }
599
- export type BoardServerMethodOperation = "workspace.provision" | "source.list" | "source.read" | "source.write" | "app.build" | "app.compile" | "image.build" | "artifact.download" | "workspace.release" | "local_toolchain.list" | "local_toolchain.latest" | "local_toolchain.install" | "local_toolchain.validate" | "local.compile" | "local.qt_smoke" | "board.status" | "board.deploy" | "image.logo.package" | "image.logo.compose" | "monitor.capabilities" | "monitor.status" | "monitor.gpio.read" | "monitor.gpio.write" | "monitor.uart.write" | "monitor.i2c.transfer" | "monitor.spi.transfer" | "monitor.logic.capture" | "monitor.logic.decode" | "monitor.wifi.manage" | "monitor.probe.debug" | "monitor.firmware.flash" | "initial_firmware.flash" | "flash.plan" | "flash.run";
600
- export type ProductAccessTier = "free_registered" | "paid_resource" | "paid_managed_model";
299
+ export type BoardServerMethodOperation = "local_toolchain.list" | "local_toolchain.latest" | "local_toolchain.install" | "local_toolchain.validate" | "local.compile" | "local.qt_smoke" | "board.status" | "board.deploy" | "image.logo.update" | "image.logo.compose" | "monitor.capabilities" | "monitor.status" | "monitor.gpio.read" | "monitor.gpio.write" | "monitor.uart.write" | "monitor.i2c.transfer" | "monitor.spi.transfer" | "monitor.logic.capture" | "monitor.logic.decode" | "monitor.wifi.manage" | "monitor.probe.debug" | "monitor.firmware.flash" | "initial_firmware.flash" | "artifact.download" | "flash.plan" | "flash.run";
300
+ export type ProductAccessTier = "local_native_agent" | "local_advanced" | "admin_service_agent";
301
+ export type CapabilityMeter = "none" | "local_diagnostics" | "download_distribution" | "admin_review";
601
302
  export interface BoardServerMethodSummary {
602
303
  method_id: string;
603
304
  operation: BoardServerMethodOperation;
@@ -611,10 +312,10 @@ export interface BoardServerMethodSummary {
611
312
  requires_approval: boolean;
612
313
  status: "available" | "mvp_stub" | "mvp_direct" | "planned";
613
314
  access_tier?: ProductAccessTier;
614
- free_for_registered_users?: boolean;
315
+ uses_local_installation_identity?: boolean;
615
316
  allocates_server_workspace?: boolean;
616
317
  allocates_server_resource_lease?: boolean;
617
- meters?: ServiceModeMeter[];
318
+ meters?: CapabilityMeter[];
618
319
  input_schema: Record<string, unknown>;
619
320
  output_artifact_kinds?: ArtifactMetadata["kind"][];
620
321
  notes?: string[];
@@ -636,6 +337,11 @@ export interface BoardServerProfileList {
636
337
  profiles: BoardServerProfile[];
637
338
  }
638
339
  export type BuildWorkspaceCopyMode = "auto" | "copy" | "symlink" | "skeleton";
340
+ /**
341
+ * @deprecated Retired server-workspace prototype. Current normal users do not
342
+ * provision Cloud workspaces; source, build, flash, deploy, and debug run
343
+ * locally through the Native Agent.
344
+ */
639
345
  export interface BuildWorkspaceProvisionRequest {
640
346
  account_id: string;
641
347
  project_id: string;
@@ -644,6 +350,10 @@ export interface BuildWorkspaceProvisionRequest {
644
350
  require_seed?: boolean;
645
351
  dry_run?: boolean;
646
352
  }
353
+ /**
354
+ * @deprecated Retired server-workspace prototype retained only for migration
355
+ * evidence and raw diagnostics.
356
+ */
647
357
  export interface BuildWorkspaceProvisionResult {
648
358
  workspace_id?: string;
649
359
  template_id: string;
@@ -666,6 +376,10 @@ export interface BuildWorkspaceProvisionResult {
666
376
  created_at?: string;
667
377
  updated_at?: string;
668
378
  }
379
+ /**
380
+ * @deprecated Retired server-workspace prototype retained only for migration
381
+ * evidence and raw diagnostics.
382
+ */
669
383
  export interface BuildWorkspaceRecord {
670
384
  workspace_id: string;
671
385
  template_id: string;
@@ -688,32 +402,34 @@ export interface BuildWorkspaceRecord {
688
402
  storage_settled_at?: string;
689
403
  released_at?: string;
690
404
  }
405
+ /**
406
+ * @deprecated Retired server-workspace prototype retained only for migration
407
+ * evidence and raw diagnostics.
408
+ */
691
409
  export interface BuildWorkspaceList {
692
410
  workspaces: BuildWorkspaceRecord[];
693
411
  }
694
- export interface BuildWorkspaceReleaseRequest {
695
- dry_run?: boolean;
696
- settle_storage?: boolean;
697
- }
698
- export interface BuildWorkspaceReleaseResult {
699
- workspace_id: string;
700
- account_id: string;
701
- project_id: string;
702
- dry_run: boolean;
703
- released_at?: string;
704
- deleted_paths: string[];
705
- storage_settlement?: StorageSettlementResult;
706
- }
412
+ /**
413
+ * @deprecated Retired server-workspace source-sync prototype. Current source
414
+ * files stay on the user's computer and are handled by local toolchains.
415
+ */
707
416
  export interface BuildWorkspaceSourceFile {
708
417
  path: string;
709
418
  content_base64: string;
710
419
  size_bytes?: number;
711
420
  sha256?: string;
712
421
  }
422
+ /**
423
+ * @deprecated Retired server-workspace source-sync prototype. Do not upload
424
+ * user source trees through this contract in current product flows.
425
+ */
713
426
  export interface BuildWorkspaceSourceSyncRequest {
714
427
  account_id?: string;
715
428
  files: BuildWorkspaceSourceFile[];
716
429
  }
430
+ /**
431
+ * @deprecated Retired server-workspace source-sync prototype.
432
+ */
717
433
  export interface BuildWorkspaceSourceSyncResult {
718
434
  workspace_id: string;
719
435
  source_path: string;
@@ -722,6 +438,9 @@ export interface BuildWorkspaceSourceSyncResult {
722
438
  written_files: string[];
723
439
  updated_at: string;
724
440
  }
441
+ /**
442
+ * @deprecated Retired server-workspace source-list prototype.
443
+ */
725
444
  export interface BuildWorkspaceSourceListResult {
726
445
  workspace_id: string;
727
446
  source_path: string;
@@ -733,6 +452,9 @@ export interface BuildWorkspaceSourceListResult {
733
452
  }>;
734
453
  updated_at: string;
735
454
  }
455
+ /**
456
+ * @deprecated Retired server-workspace source-read prototype.
457
+ */
736
458
  export interface BuildWorkspaceSourceReadResult {
737
459
  workspace_id: string;
738
460
  source_path: string;
@@ -742,11 +464,17 @@ export interface BuildWorkspaceSourceReadResult {
742
464
  sha256: string;
743
465
  updated_at: string;
744
466
  }
467
+ /**
468
+ * @deprecated Retired server-workspace source-search prototype.
469
+ */
745
470
  export interface BuildWorkspaceSourceSearchRequest {
746
471
  query: string;
747
472
  glob?: string;
748
473
  max_results?: number;
749
474
  }
475
+ /**
476
+ * @deprecated Retired server-workspace source-search prototype.
477
+ */
750
478
  export interface BuildWorkspaceSourceSearchMatch {
751
479
  path: string;
752
480
  line: number;
@@ -757,6 +485,9 @@ export interface BuildWorkspaceSourceSearchMatch {
757
485
  size_bytes: number;
758
486
  sha256: string;
759
487
  }
488
+ /**
489
+ * @deprecated Retired server-workspace source-search prototype.
490
+ */
760
491
  export interface BuildWorkspaceSourceSearchResult {
761
492
  workspace_id: string;
762
493
  source_path: string;
@@ -770,6 +501,9 @@ export interface BuildWorkspaceSourceSearchResult {
770
501
  matches: BuildWorkspaceSourceSearchMatch[];
771
502
  updated_at: string;
772
503
  }
504
+ /**
505
+ * @deprecated Retired server-workspace source-patch prototype.
506
+ */
773
507
  export interface BuildWorkspaceSourcePatchFile {
774
508
  path: string;
775
509
  content_base64?: string;
@@ -777,17 +511,27 @@ export interface BuildWorkspaceSourcePatchFile {
777
511
  size_bytes?: number;
778
512
  sha256?: string;
779
513
  }
514
+ /**
515
+ * @deprecated Retired server-workspace source-patch prototype. Current Agent
516
+ * edits local files only; public reports must stay redacted.
517
+ */
780
518
  export interface BuildWorkspaceSourcePatchRequest {
781
519
  account_id?: string;
782
520
  patch?: string;
783
521
  files?: BuildWorkspaceSourcePatchFile[];
784
522
  }
523
+ /**
524
+ * @deprecated Retired server-workspace source-patch prototype.
525
+ */
785
526
  export interface BuildWorkspaceSourcePatchedFile {
786
527
  path: string;
787
528
  operation: "created" | "updated" | "deleted";
788
529
  size_bytes?: number;
789
530
  sha256?: string;
790
531
  }
532
+ /**
533
+ * @deprecated Retired server-workspace source-patch prototype.
534
+ */
791
535
  export interface BuildWorkspaceSourcePatchResult {
792
536
  workspace_id: string;
793
537
  source_path: string;
@@ -795,8 +539,18 @@ export interface BuildWorkspaceSourcePatchResult {
795
539
  modified_files: BuildWorkspaceSourcePatchedFile[];
796
540
  updated_at: string;
797
541
  }
542
+ /**
543
+ * @deprecated Retired server build execution prototype. Current local Agent
544
+ * build execution uses local SDK/toolchains, not Cloud workers.
545
+ */
798
546
  export type BuildExecutionMode = "cloud_worker" | "local_bridge" | "dry_run";
547
+ /**
548
+ * @deprecated Retired server resource-lease prototype.
549
+ */
799
550
  export type BuildResourceLeaseStatus = "active" | "released" | "expired";
551
+ /**
552
+ * @deprecated Retired server resource-lease prototype.
553
+ */
800
554
  export interface BuildResourceLeaseRequest {
801
555
  workspace_id: string;
802
556
  account_id?: string;
@@ -806,6 +560,9 @@ export interface BuildResourceLeaseRequest {
806
560
  worker_pool?: string;
807
561
  purpose?: string;
808
562
  }
563
+ /**
564
+ * @deprecated Retired server resource-lease prototype.
565
+ */
809
566
  export interface BuildResourceLeaseIsolation {
810
567
  workspace_path: string;
811
568
  source_path: string;
@@ -818,6 +575,9 @@ export interface BuildResourceLeaseIsolation {
818
575
  mounts: BuildTemplateDockerMount[];
819
576
  resource_limits: BuildTemplateResourceLimits;
820
577
  }
578
+ /**
579
+ * @deprecated Retired server resource-lease prototype.
580
+ */
821
581
  export interface BuildResourceLeaseRecord {
822
582
  lease_id: string;
823
583
  status: BuildResourceLeaseStatus;
@@ -834,15 +594,30 @@ export interface BuildResourceLeaseRecord {
834
594
  expires_at: string;
835
595
  released_at?: string;
836
596
  }
597
+ /**
598
+ * @deprecated Retired server resource-lease prototype.
599
+ */
837
600
  export interface BuildResourceLeaseReleaseRequest {
838
601
  reason?: string;
839
602
  }
603
+ /**
604
+ * @deprecated Retired server application-build prototype.
605
+ */
840
606
  export interface BuildApplicationStubRequest {
841
607
  workspace_id: string;
842
608
  account_id?: string;
843
609
  }
610
+ /**
611
+ * @deprecated Retired server application-build prototype.
612
+ */
844
613
  export type BuildApplicationCompileMode = "server_direct" | "docker_worker" | "dry_run";
614
+ /**
615
+ * @deprecated Retired server application-build prototype.
616
+ */
845
617
  export type BuildApplicationCompiler = "auto" | "cc" | "gcc" | "clang" | "aarch64-linux-gnu-gcc";
618
+ /**
619
+ * @deprecated Retired server application-build prototype.
620
+ */
846
621
  export interface BuildApplicationCompileRequest {
847
622
  workspace_id: string;
848
623
  account_id?: string;
@@ -853,75 +628,11 @@ export interface BuildApplicationCompileRequest {
853
628
  }
854
629
  export type AgentProvider = "stub" | "openai" | "bai" | "claude-code";
855
630
  export type AgentProviderInput = AgentProvider | "b.ai" | "cc";
856
- export type ModelProviderStatus = "available" | "configured" | "not_configured" | "not_implemented";
857
- export interface ModelProviderSummary {
858
- provider: AgentProvider;
859
- display_name: string;
860
- model: string;
861
- status: ModelProviderStatus;
862
- default: boolean;
863
- supports_tools: boolean;
864
- supports_streaming: boolean;
865
- notes?: string[];
866
- }
867
- export interface ModelCatalog {
868
- default_provider: AgentProvider;
869
- default_model: string;
870
- models: ModelProviderSummary[];
871
- observed_at: string;
872
- }
873
- export interface ModelDefault {
874
- provider: AgentProvider;
875
- model: string;
876
- status: ModelProviderStatus;
877
- observed_at: string;
878
- }
879
- export type ServiceModeId = "managed-model-token" | "bring-your-own-model" | "resource-only";
880
- export type ServiceModeStatus = "available" | "not_configured" | "planned";
881
- export type ServiceModeModelTokenSource = "embed_labs" | "user" | "none";
882
- export type ServiceModeMeter = "managed_model_tokens" | "workspace_storage_tokens" | "build_compute_tokens" | "artifact_storage_tokens" | "local_tool_service_tokens" | "subscription";
883
- export interface ServiceModeSummary {
884
- mode: ServiceModeId;
885
- display_name: string;
886
- status: ServiceModeStatus;
887
- default: boolean;
888
- model_token_source: ServiceModeModelTokenSource;
889
- includes_model_gateway: boolean;
890
- includes_server_build_resources: boolean;
891
- supports_external_cli_agents: boolean;
892
- meters: ServiceModeMeter[];
893
- notes?: string[];
894
- }
895
- export interface ProductCapabilityPolicy {
896
- policy_id: string;
897
- display_name: string;
898
- access_tier: ProductAccessTier;
899
- runtime: "local_bridge" | "cloud_api" | "scheduler_worker" | "hosted" | "mcp";
900
- requires_registered_account: boolean;
901
- requires_server_workspace: boolean;
902
- allocates_server_workspace: boolean;
903
- allocates_server_resource_lease: boolean;
904
- destructive: boolean;
905
- requires_approval: boolean;
906
- meters: ServiceModeMeter[];
907
- examples?: string[];
908
- notes?: string[];
909
- }
910
- export interface ServiceModeCatalog {
911
- default_mode: ServiceModeId;
912
- observed_at: string;
913
- modes: ServiceModeSummary[];
914
- boundaries: {
915
- model_gateway: string;
916
- server_resource_orchestration: string;
917
- local_bridge: string;
918
- free_registered_operations: string;
919
- paid_server_operations: string;
920
- };
921
- allocation_rule: string;
922
- free_registered_capabilities: ProductCapabilityPolicy[];
923
- paid_capabilities: ProductCapabilityPolicy[];
924
- }
631
+ /**
632
+ * @deprecated Retired server application-generation prototype. Current Agent
633
+ * source generation/editing happens in the user's local project and local
634
+ * toolchain environment.
635
+ */
925
636
  export interface BuildApplicationGenerateRequest {
926
637
  workspace_id: string;
927
638
  account_id?: string;
@@ -930,6 +641,10 @@ export interface BuildApplicationGenerateRequest {
930
641
  provider?: AgentProviderInput;
931
642
  model?: string;
932
643
  }
644
+ /**
645
+ * @deprecated Retired server image-generation prototype. Current image/logo
646
+ * composition and flashing are local Agent and GoLocalBridge workflows.
647
+ */
933
648
  export interface BuildImageGenerateRequest {
934
649
  workspace_id: string;
935
650
  account_id?: string;
@@ -940,6 +655,10 @@ export interface BuildImageGenerateRequest {
940
655
  execution_mode?: BuildExecutionMode;
941
656
  worker_pool?: string;
942
657
  }
658
+ /**
659
+ * @deprecated Retired Cloud task creation prototype. Current public Agent
660
+ * tasks run through the local Native Agent action layer.
661
+ */
943
662
  export interface AgentTaskCreateRequest {
944
663
  prompt: string;
945
664
  project_id?: string;
@@ -1073,12 +792,11 @@ export interface ToolCapabilitySummary {
1073
792
  destructive: boolean;
1074
793
  requires_approval: boolean;
1075
794
  access_tier?: ProductAccessTier;
1076
- free_for_registered_users?: boolean;
1077
- requires_registered_account?: boolean;
795
+ uses_local_installation_identity?: boolean;
1078
796
  requires_server_workspace?: boolean;
1079
797
  allocates_server_workspace?: boolean;
1080
798
  allocates_server_resource_lease?: boolean;
1081
- meters?: ServiceModeMeter[];
799
+ meters?: CapabilityMeter[];
1082
800
  status?: "available" | "planned";
1083
801
  input_schema: Record<string, unknown>;
1084
802
  }
@@ -1098,10 +816,10 @@ export interface ToolInvokeResult {
1098
816
  }
1099
817
  export interface AgentLocalToolRunRequest {
1100
818
  prompt: string;
1101
- account_id?: string;
819
+ local_installation_id?: string;
1102
820
  client_device_id?: string;
1103
821
  local_device_id?: string;
1104
- workspace_id?: string;
822
+ local_project_id?: string;
1105
823
  provider?: AgentProviderInput;
1106
824
  model?: string;
1107
825
  max_tool_calls?: number;
@@ -1118,13 +836,10 @@ export interface AgentLocalToolCall {
1118
836
  export interface AgentLocalToolPlan {
1119
837
  plan_id: string;
1120
838
  request_id: string;
1121
- account_id?: string;
1122
- api_key_id?: string;
839
+ local_installation_id?: string;
1123
840
  client_device_id?: string;
1124
841
  local_device_id?: string;
1125
- /** @deprecated Use client_device_id for account_devices rows. */
1126
- device_id?: string;
1127
- workspace_id?: string;
842
+ local_project_id?: string;
1128
843
  provider: AgentProvider;
1129
844
  model: string;
1130
845
  prompt: string;
@@ -1144,8 +859,8 @@ export interface AgentLocalToolResultItem {
1144
859
  export interface AgentLocalToolCompleteRequest {
1145
860
  plan_id: string;
1146
861
  prompt: string;
1147
- account_id?: string;
1148
- workspace_id?: string;
862
+ local_installation_id?: string;
863
+ local_project_id?: string;
1149
864
  provider?: AgentProviderInput;
1150
865
  model?: string;
1151
866
  tool_results: AgentLocalToolResultItem[];
@@ -1163,7 +878,7 @@ export interface AgentLocalToolCompleteResult {
1163
878
  created_at: string;
1164
879
  }
1165
880
  export type DoctorCheckStatus = "ready" | "not_ready" | "unreachable" | "warning";
1166
- export type DoctorCheckId = "cli_runtime" | "auth" | "bridge_health" | "device_scan" | "debug_tools" | "cloud_api_health" | (string & {});
881
+ export type DoctorCheckId = "cli_runtime" | "installation_identity" | "agent_persistence" | "model_config" | "bridge_health" | "ide_plugins" | "device_scan" | "debug_tools" | "cloud_api_health" | (string & {});
1167
882
  export interface DoctorCheck<T = unknown> {
1168
883
  id: DoctorCheckId;
1169
884
  label: string;
@@ -1246,7 +961,7 @@ export interface FlashRunRequest extends FlashPlanRequest {
1246
961
  approved: boolean;
1247
962
  }
1248
963
  export interface BootLogoPackageRequest {
1249
- account_id?: string;
964
+ local_installation_id?: string;
1250
965
  project_id?: string;
1251
966
  board_id: string;
1252
967
  variant_id?: string;
@@ -1261,7 +976,7 @@ export interface BootLogoPackageRequest {
1261
976
  }
1262
977
  export interface BootLogoPackageResult {
1263
978
  task_id: string;
1264
- account_id: string;
979
+ local_installation_id?: string;
1265
980
  project_id: string;
1266
981
  board_id: string;
1267
982
  variant_id?: string;
@@ -1274,14 +989,14 @@ export interface BootLogoPackageResult {
1274
989
  server_generated: true;
1275
990
  requires_server_workspace: false;
1276
991
  allocates_server_resource_lease: false;
1277
- free_for_registered_users: true;
992
+ uses_local_installation_identity: true;
1278
993
  local_merge_required: true;
1279
994
  full_image_download_required: false;
1280
995
  observed_at: string;
1281
996
  summary_for_user: string;
1282
997
  }
1283
998
  export interface DtbPackageRequest {
1284
- account_id?: string;
999
+ local_installation_id?: string;
1285
1000
  project_id?: string;
1286
1001
  board_id: string;
1287
1002
  variant_id?: string;
@@ -1292,7 +1007,7 @@ export interface DtbPackageRequest {
1292
1007
  }
1293
1008
  export interface DtbPackageResult {
1294
1009
  task_id: string;
1295
- account_id: string;
1010
+ local_installation_id?: string;
1296
1011
  project_id: string;
1297
1012
  board_id: string;
1298
1013
  variant_id?: string;
@@ -1305,7 +1020,7 @@ export interface DtbPackageResult {
1305
1020
  server_generated: true;
1306
1021
  requires_server_workspace: false;
1307
1022
  allocates_server_resource_lease: false;
1308
- free_for_registered_users: true;
1023
+ uses_local_installation_identity: true;
1309
1024
  local_merge_required: true;
1310
1025
  full_image_download_required: false;
1311
1026
  observed_at: string;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmsDA,MAAM,UAAU,EAAE,CAAI,IAAO;IAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmD,EAAE;IACvG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA63CA,MAAM,UAAU,EAAE,CAAI,IAAO;IAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmD,EAAE;IACvG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kvell007/embed-labs-protocol",
3
- "version": "0.1.0-alpha.98",
4
- "description": "Shared TypeScript protocol contracts for Embed Labs Cloud. Experimental npm publish.",
3
+ "version": "0.1.0-alpha.99",
4
+ "description": "Shared TypeScript protocol contracts for EmbedLabs local Agent and server infrastructure. Experimental npm publish.",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.js",