salt-agent-sdk 0.33.0 → 0.34.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.
package/dist/index.js CHANGED
@@ -36,5 +36,6 @@ __exportStar(require("./ask"), exports);
36
36
  __exportStar(require("./socket"), exports);
37
37
  __exportStar(require("./actions"), exports);
38
38
  __exportStar(require("./config"), exports);
39
+ __exportStar(require("./media"), exports);
39
40
  __exportStar(require("./device/index.js"), exports);
40
41
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB;AACxB,oDAAkC"}
@@ -0,0 +1,125 @@
1
+ import type { SaltId } from "./ids.js";
2
+ export interface MediaPerson {
3
+ id: SaltId;
4
+ username: string;
5
+ display_name: string;
6
+ avatar_url: string | null;
7
+ account_type: string;
8
+ }
9
+ export type LiveSessionState = "connecting" | "live" | "ending" | "ended" | "failed";
10
+ export interface LiveSession {
11
+ id: string;
12
+ chat_id: SaltId;
13
+ state: LiveSessionState;
14
+ title: string | null;
15
+ source_type: "webrtc" | "rtmp";
16
+ record: boolean;
17
+ host: MediaPerson;
18
+ started_at: string | null;
19
+ ended_at: string | null;
20
+ ended_reason: string | null;
21
+ viewer_count: number;
22
+ peak_viewers: number;
23
+ recording: null | {
24
+ media_id: string;
25
+ video_post_id: string;
26
+ status: "processing" | "draft" | "published" | "discarded";
27
+ };
28
+ /** Viewer-relative: the host, or a room admin. */
29
+ can_end: boolean;
30
+ }
31
+ export interface StreamCredential {
32
+ id: SaltId;
33
+ chat_id: SaltId;
34
+ label: string | null;
35
+ protocol: "rtmps";
36
+ key_last4: string;
37
+ persistent: boolean;
38
+ enabled: boolean;
39
+ last_used_at: string | null;
40
+ created_at: string;
41
+ }
42
+ /** Returned once, when a live session or credential is made or rotated, and never again. Treat `stream_key` as a secret. */
43
+ export interface PublishBlock {
44
+ ingest_endpoint: string;
45
+ stream_key: string;
46
+ /** `rtmps://<ingest_endpoint>:443/app/`: append the stream key for the full publish URL. */
47
+ rtmps_url: string;
48
+ }
49
+ export interface MediaAsset {
50
+ id: string;
51
+ kind: string;
52
+ state: "uploading" | "processing" | "ready" | "failed" | "removed";
53
+ playback: null | {
54
+ kind: "progressive" | "hls";
55
+ url: string;
56
+ poster_url: string | null;
57
+ };
58
+ duration_ms: number | null;
59
+ width: number | null;
60
+ height: number | null;
61
+ failed_reason: string | null;
62
+ transcript: null | {
63
+ status: "pending" | "ready" | "failed";
64
+ language: string | null;
65
+ text_url: string | null;
66
+ vtt_url: string | null;
67
+ };
68
+ created_at: string;
69
+ }
70
+ export interface VideoPost {
71
+ id: string;
72
+ status: "draft" | "published" | "hidden" | "removed";
73
+ caption: string | null;
74
+ media: MediaAsset;
75
+ creator: MediaPerson;
76
+ chat_id: SaltId;
77
+ room: null | {
78
+ id: SaltId;
79
+ name: string;
80
+ };
81
+ also_in_chat_id: SaltId | null;
82
+ message_id: SaltId | null;
83
+ published_at: string | null;
84
+ seq: number | null;
85
+ counts: {
86
+ views: number;
87
+ replies: number;
88
+ reactions: number;
89
+ };
90
+ can_edit: boolean;
91
+ live_session_id: string | null;
92
+ }
93
+ export interface UploadPlan {
94
+ upload_id: string;
95
+ part_size: number;
96
+ parts: {
97
+ n: number;
98
+ url: string;
99
+ }[];
100
+ }
101
+ export interface VideoFeedPage {
102
+ items: VideoPost[];
103
+ live: LiveSession[];
104
+ next_before_seq: number | null;
105
+ }
106
+ export type VideoFeedScope = "following" | "everyone" | "room";
107
+ export interface VideoEvent {
108
+ post_id: string;
109
+ kind: string;
110
+ at: string;
111
+ }
112
+ export interface MediaPlaybackCookies {
113
+ expires_at: string;
114
+ /** Name to value. Send them as a `Cookie` header on requests to the media CDN host. */
115
+ cookies: Record<string, string>;
116
+ }
117
+ /** Where `uploadVideo` reads from: bytes in memory, or a path to a file on disk. */
118
+ export type VideoUploadSource = Uint8Array | string;
119
+ export interface UploadVideoOptions {
120
+ contentType: "video/mp4" | "video/quicktime" | "video/webm" | (string & {});
121
+ filename?: string;
122
+ /** Attempts per part before giving up (default 3). */
123
+ retries?: number;
124
+ }
125
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
package/dist/media.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Live and short-video types (salt-api /api/v1/live_sessions, /stream_credentials, /media, /video_posts, /video/feed).
3
+ // Shapes follow the media build contract; client.ts carries the methods.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,yEAAyE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "salt-agent-sdk",
3
- "version": "0.33.0",
3
+ "version": "0.34.0",
4
4
  "description": "Plumbing for building Salt (saltapp.ai) agents: webhook receiving/routing, PGP encrypt/decrypt, a typed REST client, and card builders. Bring your own agent logic -- this handles everything Salt-protocol-specific.",
5
5
  "license": "MIT",
6
6
  "author": "0x0000F8 <0000F8@proton.me>",