@runappsai/sdk 0.5.0 → 0.6.1
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 +30 -1
- package/dist/activity-tracker.d.ts +8 -0
- package/dist/activity-tracker.d.ts.map +1 -1
- package/dist/activity-tracker.js +3 -0
- package/dist/activity-tracker.js.map +1 -1
- package/dist/browser-auth.d.ts +7 -0
- package/dist/browser-auth.d.ts.map +1 -1
- package/dist/browser-auth.js +105 -15
- package/dist/browser-auth.js.map +1 -1
- package/dist/client.d.ts +24 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +22 -0
- package/dist/client.js.map +1 -1
- package/dist/events.d.ts +20 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/files.d.ts +3 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +4 -1
- package/dist/files.js.map +1 -1
- package/dist/idb-sync/codec.d.ts +39 -0
- package/dist/idb-sync/codec.d.ts.map +1 -0
- package/dist/idb-sync/codec.js +364 -0
- package/dist/idb-sync/codec.js.map +1 -0
- package/dist/idb-sync/engine.d.ts +143 -0
- package/dist/idb-sync/engine.d.ts.map +1 -0
- package/dist/idb-sync/engine.js +727 -0
- package/dist/idb-sync/engine.js.map +1 -0
- package/dist/idb-sync/hook.d.ts +42 -0
- package/dist/idb-sync/hook.d.ts.map +1 -0
- package/dist/idb-sync/hook.js +426 -0
- package/dist/idb-sync/hook.js.map +1 -0
- package/dist/idb-sync/index.d.ts +6 -0
- package/dist/idb-sync/index.d.ts.map +1 -0
- package/dist/idb-sync/index.js +6 -0
- package/dist/idb-sync/index.js.map +1 -0
- package/dist/idb-sync/log.d.ts +41 -0
- package/dist/idb-sync/log.d.ts.map +1 -0
- package/dist/idb-sync/log.js +143 -0
- package/dist/idb-sync/log.js.map +1 -0
- package/dist/idb-sync/remote.d.ts +38 -0
- package/dist/idb-sync/remote.d.ts.map +1 -0
- package/dist/idb-sync/remote.js +61 -0
- package/dist/idb-sync/remote.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +4 -2
- package/dist/models.js.map +1 -1
- package/dist/sdk.umd.js +2 -2
- package/dist/sdk.umd.js.map +1 -1
- package/dist/transport.d.ts +11 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +33 -6
- package/dist/transport.js.map +1 -1
- package/package.json +2 -1
- package/src/activity-tracker.ts +5 -0
- package/src/browser-auth.ts +103 -16
- package/src/client.ts +36 -0
- package/src/events.ts +22 -0
- package/src/files.ts +7 -5
- package/src/idb-sync/codec.ts +354 -0
- package/src/idb-sync/engine.ts +818 -0
- package/src/idb-sync/hook.ts +495 -0
- package/src/idb-sync/index.ts +5 -0
- package/src/idb-sync/log.ts +170 -0
- package/src/idb-sync/remote.ts +59 -0
- package/src/index.ts +13 -0
- package/src/models.ts +4 -2
- package/src/transport.ts +38 -8
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// idb-sync/log.ts — the SDK's own IndexedDB database.
|
|
2
|
+
//
|
|
3
|
+
// Holds what the sync engine needs to survive a reload:
|
|
4
|
+
// ops — local changes not yet pushed, in commit order. Values are kept
|
|
5
|
+
// as the app wrote them (structured clone, Blobs included);
|
|
6
|
+
// they are encoded only when pushed, so logging works offline.
|
|
7
|
+
// meta — small key/value state: the owner (user id the local data
|
|
8
|
+
// belongs to), shard ETags seen last, store clear marks.
|
|
9
|
+
//
|
|
10
|
+
// Opened through the untouched `indexedDB.open`, never the hooked one,
|
|
11
|
+
// and its name starts with `__runapps` so the hook leaves it alone.
|
|
12
|
+
export const SYNC_DB_NAME = "__runapps_sync__";
|
|
13
|
+
const SYNC_DB_VERSION = 1;
|
|
14
|
+
function req(r) {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
r.onsuccess = () => resolve(r.result);
|
|
17
|
+
r.onerror = () => reject(r.error ?? new Error("IndexedDB request failed"));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function done(tx) {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
tx.oncomplete = () => resolve();
|
|
23
|
+
tx.onabort = () => reject(tx.error ?? new Error("IndexedDB transaction aborted"));
|
|
24
|
+
tx.onerror = () => reject(tx.error ?? new Error("IndexedDB transaction failed"));
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export class SyncLog {
|
|
28
|
+
open;
|
|
29
|
+
dbPromise = null;
|
|
30
|
+
constructor(open) {
|
|
31
|
+
this.open = open;
|
|
32
|
+
}
|
|
33
|
+
db() {
|
|
34
|
+
if (!this.dbPromise) {
|
|
35
|
+
this.dbPromise = new Promise((resolve, reject) => {
|
|
36
|
+
const r = this.open(SYNC_DB_NAME, SYNC_DB_VERSION);
|
|
37
|
+
r.onupgradeneeded = () => {
|
|
38
|
+
const db = r.result;
|
|
39
|
+
if (!db.objectStoreNames.contains("ops")) {
|
|
40
|
+
const ops = db.createObjectStore("ops", { keyPath: "id", autoIncrement: true });
|
|
41
|
+
ops.createIndex("store", ["db", "store"], { unique: false });
|
|
42
|
+
}
|
|
43
|
+
if (!db.objectStoreNames.contains("meta"))
|
|
44
|
+
db.createObjectStore("meta");
|
|
45
|
+
};
|
|
46
|
+
r.onsuccess = () => {
|
|
47
|
+
const db = r.result;
|
|
48
|
+
// Another tab upgrading (a future SDK) must not be blocked by us.
|
|
49
|
+
db.onversionchange = () => {
|
|
50
|
+
db.close();
|
|
51
|
+
this.dbPromise = null;
|
|
52
|
+
};
|
|
53
|
+
resolve(db);
|
|
54
|
+
};
|
|
55
|
+
r.onerror = () => reject(r.error ?? new Error("cannot open sync log"));
|
|
56
|
+
r.onblocked = () => reject(new Error("sync log open blocked"));
|
|
57
|
+
});
|
|
58
|
+
this.dbPromise.catch(() => {
|
|
59
|
+
this.dbPromise = null;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return this.dbPromise;
|
|
63
|
+
}
|
|
64
|
+
async append(ops) {
|
|
65
|
+
if (ops.length === 0)
|
|
66
|
+
return;
|
|
67
|
+
const db = await this.db();
|
|
68
|
+
const tx = db.transaction("ops", "readwrite");
|
|
69
|
+
const st = tx.objectStore("ops");
|
|
70
|
+
for (const op of ops)
|
|
71
|
+
st.add(op);
|
|
72
|
+
await done(tx);
|
|
73
|
+
}
|
|
74
|
+
async pending() {
|
|
75
|
+
const db = await this.db();
|
|
76
|
+
const tx = db.transaction("ops", "readonly");
|
|
77
|
+
const all = (await req(tx.objectStore("ops").getAll()));
|
|
78
|
+
return all;
|
|
79
|
+
}
|
|
80
|
+
async pendingCount() {
|
|
81
|
+
const db = await this.db();
|
|
82
|
+
const tx = db.transaction("ops", "readonly");
|
|
83
|
+
return req(tx.objectStore("ops").count());
|
|
84
|
+
}
|
|
85
|
+
async remove(ids) {
|
|
86
|
+
if (ids.length === 0)
|
|
87
|
+
return;
|
|
88
|
+
const db = await this.db();
|
|
89
|
+
const tx = db.transaction("ops", "readwrite");
|
|
90
|
+
const st = tx.objectStore("ops");
|
|
91
|
+
for (const id of ids)
|
|
92
|
+
st.delete(id);
|
|
93
|
+
await done(tx);
|
|
94
|
+
}
|
|
95
|
+
async clearOps() {
|
|
96
|
+
const db = await this.db();
|
|
97
|
+
const tx = db.transaction("ops", "readwrite");
|
|
98
|
+
tx.objectStore("ops").clear();
|
|
99
|
+
await done(tx);
|
|
100
|
+
}
|
|
101
|
+
async getMeta(key) {
|
|
102
|
+
const db = await this.db();
|
|
103
|
+
const tx = db.transaction("meta", "readonly");
|
|
104
|
+
return (await req(tx.objectStore("meta").get(key)));
|
|
105
|
+
}
|
|
106
|
+
async setMeta(entries) {
|
|
107
|
+
const db = await this.db();
|
|
108
|
+
const tx = db.transaction("meta", "readwrite");
|
|
109
|
+
const st = tx.objectStore("meta");
|
|
110
|
+
for (const k of Object.keys(entries)) {
|
|
111
|
+
if (entries[k] === undefined)
|
|
112
|
+
st.delete(k);
|
|
113
|
+
else
|
|
114
|
+
st.put(entries[k], k);
|
|
115
|
+
}
|
|
116
|
+
await done(tx);
|
|
117
|
+
}
|
|
118
|
+
/** Every meta entry whose key starts with `prefix`, as a map. */
|
|
119
|
+
async metaWithPrefix(prefix) {
|
|
120
|
+
const db = await this.db();
|
|
121
|
+
const tx = db.transaction("meta", "readonly");
|
|
122
|
+
const st = tx.objectStore("meta");
|
|
123
|
+
const range = IDBKeyRange.bound(prefix, prefix + "");
|
|
124
|
+
const keys = (await req(st.getAllKeys(range)));
|
|
125
|
+
const vals = await req(st.getAll(range));
|
|
126
|
+
const out = new Map();
|
|
127
|
+
keys.forEach((k, i) => out.set(k, vals[i]));
|
|
128
|
+
return out;
|
|
129
|
+
}
|
|
130
|
+
async clearAll() {
|
|
131
|
+
const db = await this.db();
|
|
132
|
+
const tx = db.transaction(["ops", "meta"], "readwrite");
|
|
133
|
+
tx.objectStore("ops").clear();
|
|
134
|
+
tx.objectStore("meta").clear();
|
|
135
|
+
await done(tx);
|
|
136
|
+
}
|
|
137
|
+
close() {
|
|
138
|
+
this.dbPromise?.then((db) => db.close()).catch(() => { });
|
|
139
|
+
this.dbPromise = null;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export { req as idbRequest, done as idbDone };
|
|
143
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/idb-sync/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { FilesService } from "../files.js";
|
|
2
|
+
import type { SyncRemote } from "./engine.js";
|
|
3
|
+
export declare class FilesRemote implements SyncRemote {
|
|
4
|
+
private readonly files;
|
|
5
|
+
constructor(files: FilesService);
|
|
6
|
+
list(prefix: string): Promise<{
|
|
7
|
+
path: string;
|
|
8
|
+
etag: string;
|
|
9
|
+
}[]>;
|
|
10
|
+
getJSON(path: string, ifNoneMatch?: string): Promise<{
|
|
11
|
+
status: "unchanged";
|
|
12
|
+
value?: undefined;
|
|
13
|
+
etag?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
status: "missing";
|
|
16
|
+
value?: undefined;
|
|
17
|
+
etag?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
status: "ok";
|
|
20
|
+
value: {} | null;
|
|
21
|
+
etag: string;
|
|
22
|
+
}>;
|
|
23
|
+
putJSON(path: string, value: unknown, cond: {
|
|
24
|
+
ifMatch?: string;
|
|
25
|
+
ifNoneMatch?: boolean;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
status: "ok";
|
|
28
|
+
etag: string;
|
|
29
|
+
serverTime: number | undefined;
|
|
30
|
+
} | {
|
|
31
|
+
status: "conflict";
|
|
32
|
+
etag?: undefined;
|
|
33
|
+
serverTime?: undefined;
|
|
34
|
+
}>;
|
|
35
|
+
putBlob(path: string, blob: Blob): Promise<void>;
|
|
36
|
+
getBlob(path: string): Promise<Blob>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=remote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/idb-sync/remote.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,WAAY,YAAW,UAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAE1C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAW/D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;;;;;;;;IAO1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;IAevF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// idb-sync/remote.ts — the sync engine's storage, over the files API.
|
|
2
|
+
//
|
|
3
|
+
// Shards are plain JSON files in the user's file space for the app, so
|
|
4
|
+
// they share its quota, billing and deletion with everything else the
|
|
5
|
+
// app stores for that user. Conditional reads (304) and writes (412 /
|
|
6
|
+
// 409) come from the files API, which checks them against the store.
|
|
7
|
+
export class FilesRemote {
|
|
8
|
+
files;
|
|
9
|
+
constructor(files) {
|
|
10
|
+
this.files = files;
|
|
11
|
+
}
|
|
12
|
+
async list(prefix) {
|
|
13
|
+
const out = [];
|
|
14
|
+
let cursor;
|
|
15
|
+
do {
|
|
16
|
+
const page = await this.files.list({ prefix, limit: 1000, ...(cursor ? { cursor } : {}) });
|
|
17
|
+
for (const f of page.files)
|
|
18
|
+
if (f.etag)
|
|
19
|
+
out.push({ path: f.path, etag: f.etag });
|
|
20
|
+
cursor = page.next_cursor;
|
|
21
|
+
} while (cursor);
|
|
22
|
+
return out;
|
|
23
|
+
}
|
|
24
|
+
async getJSON(path, ifNoneMatch) {
|
|
25
|
+
const r = await this.files.readJSON(path, ifNoneMatch ? { ifNoneMatch } : undefined);
|
|
26
|
+
if (r.notModified)
|
|
27
|
+
return { status: "unchanged" };
|
|
28
|
+
if (r.value === undefined)
|
|
29
|
+
return { status: "missing" };
|
|
30
|
+
return { status: "ok", value: r.value, etag: r.etag ?? "" };
|
|
31
|
+
}
|
|
32
|
+
async putJSON(path, value, cond) {
|
|
33
|
+
try {
|
|
34
|
+
const obj = await this.files.put(path, JSON.stringify(value), {
|
|
35
|
+
contentType: "application/json",
|
|
36
|
+
...(cond.ifMatch ? { ifMatch: cond.ifMatch } : {}),
|
|
37
|
+
...(cond.ifNoneMatch ? { ifNoneMatch: true } : {}),
|
|
38
|
+
});
|
|
39
|
+
return { status: "ok", etag: obj.etag ?? "", serverTime: obj.last_modified ? Date.parse(obj.last_modified) : undefined };
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
const code = e.statusCode;
|
|
43
|
+
if (code === 412 || code === 409)
|
|
44
|
+
return { status: "conflict" };
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async putBlob(path, blob) {
|
|
49
|
+
try {
|
|
50
|
+
await this.files.put(path, blob, { contentType: blob.type || "application/octet-stream", ifNoneMatch: true });
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
if (e.statusCode !== 409)
|
|
54
|
+
throw e; // already stored: same bytes, same name
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
getBlob(path) {
|
|
58
|
+
return this.files.get(path);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/idb-sync/remote.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export { RunApps, RunApps as Client, RunApps as RunJobs, type ClientOptions, typ
|
|
|
9
9
|
export { SDKEvents, newRequestId, type RequestStartEvent, type RequestStreamDeltaEvent, type RequestEndEvent, type RequestErrorEvent, type SDKEventMap, type SDKCapability, type Unsubscribe, } from "./events.js";
|
|
10
10
|
export { ActivityTracker, type ActiveCall, type CompletedCall, type SessionStats, type ActivitySnapshot, } from "./activity-tracker.js";
|
|
11
11
|
export { BrowserAuth, type BrowserAuthOptions, type BrowserUser } from "./browser-auth.js";
|
|
12
|
+
export { SyncEngine, FilesRemote, installIndexedDBHook, type SyncOptions, type SyncState, type DbChange, type SyncRemote, type SyncDeps, } from "./idb-sync/index.js";
|
|
13
|
+
export type { SyncStateEvent, DbChangeEvent } from "./events.js";
|
|
12
14
|
export { APIError } from "./errors.js";
|
|
13
15
|
export type { Usage } from "./types.js";
|
|
14
16
|
export type { ChatMessage, ContentPart, ChatTool, StreamOptions, ChatCompletionParams, ChatToolCall, ChatChoiceMessage, ChatChoice, ChatCompletion, ChatChunkDelta, ChatChunkChoice, ChatCompletionChunk, } from "./chat.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAOpH,OAAO,EACL,SAAS,EACT,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,9 @@ export { RunApps, RunApps as Client, RunApps as RunJobs } from "./client.js";
|
|
|
16
16
|
export { SDKEvents, newRequestId, } from "./events.js";
|
|
17
17
|
export { ActivityTracker, } from "./activity-tracker.js";
|
|
18
18
|
export { BrowserAuth } from "./browser-auth.js";
|
|
19
|
+
// IndexedDB sync — on by default in apps; exported for status UIs and
|
|
20
|
+
// for tests that drive the engine with their own storage.
|
|
21
|
+
export { SyncEngine, FilesRemote, installIndexedDBHook, } from "./idb-sync/index.js";
|
|
19
22
|
export { APIError } from "./errors.js";
|
|
20
23
|
export { userMessage, systemMessage, assistantMessage, toolResultMessage, userMessageParts, textPart, imagePart, videoPart, audioPart, } from "./chat.js";
|
|
21
24
|
export { hasCapabilityTag, acceptsModality, supportsVoiceClone, supportsInstructText, defaultVoice, } from "./models.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,sEAAsE;AACtE,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,OAAO,EAAyC,MAAM,aAAa,CAAC;AAEpH,mEAAmE;AACnE,sEAAsE;AACtE,gEAAgE;AAChE,gEAAgE;AAChE,kEAAkE;AAClE,OAAO,EACL,SAAS,EACT,YAAY,GAQb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,GAKhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAA6C,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkBvC,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,GACV,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,GACb,MAAM,aAAa,CAAC;AAUrB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA+BhD,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4B5D,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,sEAAsE;AACtE,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,OAAO,EAAyC,MAAM,aAAa,CAAC;AAEpH,mEAAmE;AACnE,sEAAsE;AACtE,gEAAgE;AAChE,gEAAgE;AAChE,kEAAkE;AAClE,OAAO,EACL,SAAS,EACT,YAAY,GAQb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,GAKhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAA6C,MAAM,mBAAmB,CAAC;AAC3F,sEAAsE;AACtE,0DAA0D;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,oBAAoB,GAMrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkBvC,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,GACV,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,GACb,MAAM,aAAa,CAAC;AAUrB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA+BhD,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4B5D,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAC"}
|
package/dist/models.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export declare class ModelsService {
|
|
|
79
79
|
constructor(transport: Transport);
|
|
80
80
|
/**
|
|
81
81
|
* List models available on the gateway. Pass `{ capability: "..." }` to
|
|
82
|
-
* filter server-side.
|
|
82
|
+
* filter server-side. Needs no sign-in or key.
|
|
83
83
|
*/
|
|
84
84
|
list(opts?: ModelListOptions, init?: {
|
|
85
85
|
signal?: AbortSignal;
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,IAAI,MAAM,KAAG,OAEZ,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,EAAE,UAAU,MAAM,KAAG,OAEtB,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,KAAG,OACV,CAAC;AAEzC,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,OACV,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,MAAM,GAAG,IAGpD,CAAC;AAEF,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;OAGG;IACG,IAAI,CACR,IAAI,GAAE,gBAAqB,EAC3B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,IAAI,MAAM,KAAG,OAEZ,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,EAAE,UAAU,MAAM,KAAG,OAEtB,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,KAAG,OACV,CAAC;AAEzC,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,OACV,CAAC;AAE3C,qEAAqE;AACrE,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,MAAM,GAAG,IAGpD,CAAC;AAEF,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;OAGG;IACG,IAAI,CACR,IAAI,GAAE,gBAAqB,EAC3B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;CAUpB"}
|
package/dist/models.js
CHANGED
|
@@ -41,14 +41,16 @@ export class ModelsService {
|
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* List models available on the gateway. Pass `{ capability: "..." }` to
|
|
44
|
-
* filter server-side.
|
|
44
|
+
* filter server-side. Needs no sign-in or key.
|
|
45
45
|
*/
|
|
46
46
|
async list(opts = {}, init) {
|
|
47
47
|
let path = "/v1/models";
|
|
48
48
|
if (opts.capability) {
|
|
49
49
|
path += `?capability=${encodeURIComponent(opts.capability)}`;
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
// The catalogue is public: no token, so listing models never sends a
|
|
52
|
+
// signed-out user to sign in.
|
|
53
|
+
const resp = await this.transport.getPublicJSON(path, init);
|
|
52
54
|
return resp.data;
|
|
53
55
|
}
|
|
54
56
|
}
|
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAqDA,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAU,EAAW,EAAE,CACpE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,QAAgB,EAAW,EAAE,CACzE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACrC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAO5C,qFAAqF;AACrF,SAAS,OAAO,CAAC,KAAY,EAAE,GAAW;IACxC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAW,EAAE,CAC1D,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;AAEzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAW,EAAE,CAC5D,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAE3C,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAiB,EAAE;IAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,OAAyB,EAAE,EAC3B,IAA+B;QAE/B,IAAI,IAAI,GAAG,YAAY,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,eAAe,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAqDA,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAU,EAAW,EAAE,CACpE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,QAAgB,EAAW,EAAE,CACzE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACrC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAO5C,qFAAqF;AACrF,SAAS,OAAO,CAAC,KAAY,EAAE,GAAW;IACxC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAW,EAAE,CAC1D,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;AAEzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAW,EAAE,CAC5D,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAE3C,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAiB,EAAE;IAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD;;;OAGG;IACH,KAAK,CAAC,IAAI,CACR,OAAyB,EAAE,EAC3B,IAA+B;QAE/B,IAAI,IAAI,GAAG,YAAY,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,eAAe,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,qEAAqE;QACrE,8BAA8B;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAoB,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|