car-runtime 0.28.0 → 0.29.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 (2) hide show
  1. package/index.d.ts +46 -7
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -394,6 +394,24 @@ export class CarRuntime {
394
394
  */
395
395
  inferTrackedWithRequest(requestJson: string): Promise<string>;
396
396
 
397
+ /**
398
+ * Generate an image from a text prompt via the daemon's installed Flux/MLX
399
+ * models. `requestJson` is a JSON-stringified `GenerateImageRequest`
400
+ * (`{ prompt, model?, width?, height?, steps?, guidance?, seed?,
401
+ * output_path?, ... }`). Returns `GenerateImageResult` JSON
402
+ * (`{ image_path, model_used, latency_ms, ... }`). The FFI analogue of the
403
+ * `image.generate` WS method (car-releases#70).
404
+ */
405
+ generateImage(requestJson: string): Promise<string>;
406
+
407
+ /**
408
+ * Generate a video from a text/image prompt via the daemon's installed
409
+ * LTX/MLX models. `requestJson` is a JSON-stringified `GenerateVideoRequest`;
410
+ * returns `GenerateVideoResult` JSON. FFI analogue of the `video.generate` WS
411
+ * method (car-releases#70).
412
+ */
413
+ generateVideo(requestJson: string): Promise<string>;
414
+
397
415
  /**
398
416
  * Build a runnable workflow from a natural-language goal via the daemon's
399
417
  * builder. `requestJson` is `{ goal, existing?, max_attempts? }`; on the
@@ -661,9 +679,11 @@ export class CarRuntime {
661
679
  /**
662
680
  * AgentDNS-style discovery: resolve a natural-language need into ranked
663
681
  * CAR-local services, each named under `agentdns://org/category/name`.
664
- * Returns `{ services: [{ identifier, name, kind, protocol, score,
665
- * similarity }], count }` JSON. `limit` caps results (clamped to [1, 50];
666
- * null = default 5).
682
+ * Providers: declarative agents, observe-only registry services
683
+ * (`~/.car/registry/`, kind `registry`), MCP connector tools, external
684
+ * CLIs, A2A peers, and an opt-in remote root. Returns `{ services: [{
685
+ * identifier, name, kind, protocol, score, similarity }], count }` JSON.
686
+ * `limit` caps results (clamped to [1, 50]; null = default 5).
667
687
  */
668
688
  discoveryResolve(need: string, limit?: number | undefined | null): Promise<string>;
669
689
  /**
@@ -870,7 +890,13 @@ export class CarRuntime {
870
890
  /** Returns JSON `{domains: [...]}` listing every permission domain CAR knows. */
871
891
  permissionDomains(): string;
872
892
 
873
- /** Returns JSON `{status: "granted"|"denied"|"prompt"|"unsupported", ...}`. */
893
+ /**
894
+ * Returns JSON `{ domain, status, target_bundle_id }`. `status` is one of
895
+ * `granted` | `denied` | `not_determined` | `restricted` | `not_applicable` |
896
+ * `restart_required` | `signature_changed` | `unknown`. The `calendar` domain
897
+ * additionally reports a real, non-prompting EventKit query and can return
898
+ * `write_only` (macOS-14 write-only calendar grant).
899
+ */
874
900
  permissionStatus(domain: string, targetBundleId?: string | null): string;
875
901
 
876
902
  /** Triggers the OS permission prompt; returns the resulting status. */
@@ -897,8 +923,15 @@ export class CarRuntime {
897
923
  calendarList(): string;
898
924
 
899
925
  /**
900
- * Returns JSON array of events in the [start, end] window. Times are
901
- * RFC3339; `calendarIdsCsv` is an optional comma-separated filter.
926
+ * Returns JSON for events in the [start, end] window. Times are RFC3339;
927
+ * `calendarIdsCsv` is an optional comma-separated filter.
928
+ *
929
+ * Each event carries `status` (`confirmed`|`tentative`|`canceled`|`none`,
930
+ * from `EKEvent.status`) and `attendees` as objects (not bare names):
931
+ * `{ name?, email?, status?, role?, is_current_user }` where `status` is
932
+ * `accepted`|`declined`|`tentative`|`pending`|… (`EKParticipant.participantStatus`)
933
+ * and `role` is `required`|`optional`|`chair`|`non_participant`|`unknown` — so a
934
+ * consumer can tell a firm commitment from a tentative RSVP.
902
935
  */
903
936
  calendarEvents(
904
937
  startRfc3339: string,
@@ -909,7 +942,9 @@ export class CarRuntime {
909
942
  /**
910
943
  * Create a calendar event. `inputJson` is JSON-encoded
911
944
  * `{ calendar_id, title, start, end, all_day?, notes?, location?, url? }`
912
- * with RFC3339 timestamps. Returns JSON-encoded EventMutationResult.
945
+ * with RFC3339 timestamps. Returns JSON-encoded EventMutationResult; its
946
+ * embedded `event` carries the same enriched shape as `calendarEvents`
947
+ * (attendee objects with RSVP status + event `status`).
913
948
  */
914
949
  calendarCreateEvent(inputJson: string): string;
915
950
 
@@ -1544,11 +1579,15 @@ export function getMeeting(
1544
1579
  * "dashboard_url": "http://127.0.0.1:8731",
1545
1580
  * "status": "running",
1546
1581
  * "display_name": "Trader (paper)",
1582
+ * "capability": "places stock trades through Alpaca",
1547
1583
  * "port": 8731,
1548
1584
  * "pid": 12345
1549
1585
  * }
1550
1586
  * ```
1551
1587
  * `name` and `dashboard_url` are required; the rest are optional.
1588
+ * `capability` is a natural-language description that lets
1589
+ * `discoveryResolve` rank this service against a need — without it the
1590
+ * service still resolves but ranks on its label alone.
1552
1591
  * Returns `"null"` on success.
1553
1592
  */
1554
1593
  export function registerAgent(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "car-runtime",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "description": "Common Agent Runtime — a deterministic execution layer for AI agents",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",