@octostar/platform-api 0.5.31 → 1.0.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/apis.d.ts +23 -2
- package/dist/apis.d.ts.map +1 -1
- package/dist/apis.js +19 -4
- package/dist/apis.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/factory.d.ts +127 -0
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +445 -137
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/AIClientImpl.d.ts.map +1 -1
- package/dist/lib/AIClientImpl.js +6 -29
- package/dist/lib/AIClientImpl.js.map +1 -1
- package/dist/lib/ApiConfig.d.ts +56 -2
- package/dist/lib/ApiConfig.d.ts.map +1 -1
- package/dist/lib/ApiConfig.js +103 -6
- package/dist/lib/ApiConfig.js.map +1 -1
- package/dist/lib/AsyncServiceLocator.d.ts +0 -3
- package/dist/lib/AsyncServiceLocator.d.ts.map +1 -1
- package/dist/lib/AsyncServiceLocator.js.map +1 -1
- package/dist/lib/FilesAPIImpl.d.ts +8 -2
- package/dist/lib/FilesAPIImpl.d.ts.map +1 -1
- package/dist/lib/FilesAPIImpl.js +81 -2
- package/dist/lib/FilesAPIImpl.js.map +1 -1
- package/dist/lib/FusionApi.d.ts +15 -6
- package/dist/lib/FusionApi.d.ts.map +1 -1
- package/dist/lib/FusionApi.js +24 -10
- package/dist/lib/FusionApi.js.map +1 -1
- package/dist/lib/LiveContextAPI.d.ts +1 -0
- package/dist/lib/LiveContextAPI.d.ts.map +1 -1
- package/dist/lib/LiveContextAPI.js +4 -1
- package/dist/lib/LiveContextAPI.js.map +1 -1
- package/dist/lib/RemoteDevManager.d.ts +79 -0
- package/dist/lib/RemoteDevManager.d.ts.map +1 -0
- package/dist/lib/RemoteDevManager.js +218 -0
- package/dist/lib/RemoteDevManager.js.map +1 -0
- package/dist/lib/SearchQueryBuilder.d.ts +61 -4
- package/dist/lib/SearchQueryBuilder.d.ts.map +1 -1
- package/dist/lib/SearchQueryBuilder.js +86 -56
- package/dist/lib/SearchQueryBuilder.js.map +1 -1
- package/dist/permissions.d.ts +5 -0
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +5 -0
- package/dist/permissions.js.map +1 -1
- package/dist/type/FusionTypes.d.ts +13 -1
- package/dist/type/FusionTypes.d.ts.map +1 -1
- package/dist/utils.js +3 -3
- package/dist/utils.js.map +1 -1
- package/package.json +9 -31
- package/dist/octostar-platform-api.js +0 -26572
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIClientImpl.d.ts","sourceRoot":"","sources":["../../src/lib/AIClientImpl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAmB,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAyBjH,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,WAAW,EAAE,WAAW;IAI9B,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASrC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"AIClientImpl.d.ts","sourceRoot":"","sources":["../../src/lib/AIClientImpl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAmB,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAyBjH,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,WAAW,EAAE,WAAW;IAI9B,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASrC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;CAuBvE"}
|
package/dist/lib/AIClientImpl.js
CHANGED
|
@@ -24,45 +24,22 @@ export class AIClientImpl {
|
|
|
24
24
|
return this.models;
|
|
25
25
|
}
|
|
26
26
|
async prompt(prompt, options) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const messages = contextEntities.length > 0
|
|
31
|
-
? [
|
|
32
|
-
{
|
|
33
|
-
role: 'user',
|
|
34
|
-
type: 'add_entities',
|
|
35
|
-
hasEntity: false,
|
|
36
|
-
content: contextEntities.map(({ entity_id, entity_label, entity_type }) => ({
|
|
37
|
-
entity_id,
|
|
38
|
-
entity_label,
|
|
39
|
-
entity_type,
|
|
40
|
-
})),
|
|
41
|
-
id: contextEntities[0].entity_id,
|
|
42
|
-
},
|
|
43
|
-
]
|
|
44
|
-
: undefined;
|
|
45
|
-
// TODO: Streaming is not supported yet.
|
|
27
|
+
if (options?.context && options.context.length > 0) {
|
|
28
|
+
throw new Error('[AIClientImpl] options.context is not supported in completion mode. Call /api/v2/chat directly for context-bearing prompts.');
|
|
29
|
+
}
|
|
46
30
|
const chatMessage = await this.osAPIClient.fetchData({
|
|
47
31
|
endpoint: '/api/v1/chat',
|
|
48
32
|
method: 'POST',
|
|
49
|
-
headers: {
|
|
50
|
-
'Content-Type': 'application/json',
|
|
51
|
-
},
|
|
33
|
+
headers: { 'Content-Type': 'application/json' },
|
|
52
34
|
body: JSON.stringify({
|
|
53
|
-
model_name: model,
|
|
54
35
|
prompt,
|
|
55
|
-
api_key: options?.apiKey ?? '',
|
|
56
36
|
streaming: false,
|
|
57
|
-
|
|
58
|
-
cohere_key: options?.cohereKey ?? '',
|
|
37
|
+
execution_mode: 'completion',
|
|
59
38
|
temperature: typeof options?.temperature === 'number' ? options.temperature : undefined,
|
|
60
|
-
messages,
|
|
61
39
|
}),
|
|
62
40
|
});
|
|
63
41
|
if (options?.noThink) {
|
|
64
|
-
|
|
65
|
-
return parsedResponse.content;
|
|
42
|
+
return extractThoughts(chatMessage.response.content).content;
|
|
66
43
|
}
|
|
67
44
|
return chatMessage.response.content;
|
|
68
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIClientImpl.js","sourceRoot":"","sources":["../../src/lib/AIClientImpl.ts"],"names":[],"mappings":"AAOA,SAAS,eAAe,CACtB,OAAe,EACf,YAA8B,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAE3D,IAAI,iBAAiB,GAAW,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,eAAe,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAO,IAAI,iBAAiB,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,YAAY;IAKvB,YAAY,WAAwB;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAc;gBAC1D,QAAQ,EAAE,qBAAqB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAuB;QAClD,
|
|
1
|
+
{"version":3,"file":"AIClientImpl.js","sourceRoot":"","sources":["../../src/lib/AIClientImpl.ts"],"names":[],"mappings":"AAOA,SAAS,eAAe,CACtB,OAAe,EACf,YAA8B,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAE3D,IAAI,iBAAiB,GAAW,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,eAAe,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAO,IAAI,iBAAiB,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,YAAY;IAKvB,YAAY,WAAwB;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAc;gBAC1D,QAAQ,EAAE,qBAAqB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAuB;QAClD,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAkB;YACpE,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM;gBACN,SAAS,EAAE,KAAK;gBAChB,cAAc,EAAE,YAAY;gBAC5B,WAAW,EAAE,OAAO,OAAO,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;aACxF,CAAC;SACH,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAC/D,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtC,CAAC;CACF"}
|
package/dist/lib/ApiConfig.d.ts
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
import { type DeveloperSettings } from '@octostar/platform-types';
|
|
2
|
+
/**
|
|
3
|
+
* Supported backend thumbnail rungs for `getEntityThumbnailUrl`. The server
|
|
4
|
+
* snaps any requested `max_width` UP to one of these and caches one object
|
|
5
|
+
* per rung, so request the rung you actually want — an arbitrary width below
|
|
6
|
+
* a rung just maps to that same rung's object.
|
|
7
|
+
*/
|
|
8
|
+
export declare const THUMBNAIL_WIDTHS: {
|
|
9
|
+
readonly SMALL: 512;
|
|
10
|
+
readonly LARGE: 2048;
|
|
11
|
+
};
|
|
12
|
+
/** The renderer also caps a thumbnail's height, at this multiple of its rung's width. */
|
|
13
|
+
export declare const THUMBNAIL_MAX_HEIGHT_FACTOR = 4;
|
|
14
|
+
/** True if `pathname` (or a path-only URL string) targets Octostar API attachment/image/source-bytes assets.
|
|
15
|
+
*
|
|
16
|
+
* `/files/source/bytes` is included so the navigation-fallback that strips
|
|
17
|
+
* scheme/host (and thus the auth headers attached at the SDK layer) does
|
|
18
|
+
* not silently apply to source-backed reads — same reasoning as the
|
|
19
|
+
* attachments path: cross-environment portability without auth loss. The v2
|
|
20
|
+
* entity attachment + thumbnail routes (`/api/v2/entities/.../attachment`) get
|
|
21
|
+
* the same treatment.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isOctostarApiAssetPathname(pathname: string): boolean;
|
|
2
24
|
/**
|
|
3
25
|
* ApiConfig
|
|
4
26
|
* A generic, synchronous store for developer settings and URL construction.
|
|
@@ -18,13 +40,45 @@ export declare const ApiConfig: {
|
|
|
18
40
|
*/
|
|
19
41
|
isUsingDefaultApi(): boolean;
|
|
20
42
|
/**
|
|
21
|
-
* Specifically handles the migrated attachment path.
|
|
43
|
+
* Specifically handles the migrated (v1) attachment path.
|
|
22
44
|
* Usage: ApiConfig.getAttachmentUrl(attachmentId)
|
|
45
|
+
* Pass relative: true for path+query only (browser resolves against the current origin).
|
|
46
|
+
*
|
|
47
|
+
* For images/thumbnails prefer the v2 builders below
|
|
48
|
+
* (`getEntityAttachmentUrl` / `getEntityThumbnailUrl`).
|
|
23
49
|
*/
|
|
24
50
|
getAttachmentUrl(path: string, options?: {
|
|
25
51
|
content_type?: string;
|
|
26
52
|
content_disposition?: "inline" | "attachment";
|
|
27
|
-
|
|
53
|
+
relative?: boolean;
|
|
28
54
|
}): string;
|
|
55
|
+
/**
|
|
56
|
+
* v2 entity attachment bytes: GET /api/v2/entities/{os_workspace}/{entity_uid}/attachment.
|
|
57
|
+
* Streams the original inline, resolving `osfs://` / `mntfs://` source-backed
|
|
58
|
+
* entities server-side. Use this for raw image/file reads; for previews use
|
|
59
|
+
* `getEntityThumbnailUrl`.
|
|
60
|
+
*/
|
|
61
|
+
getEntityAttachmentUrl(osWorkspace: string, entityUid: string, options?: {
|
|
62
|
+
relative?: boolean;
|
|
63
|
+
}): string;
|
|
64
|
+
/**
|
|
65
|
+
* v2 backend-rendered thumbnail: GET .../attachment/_thumbnail?max_width=N&v=<token>.
|
|
66
|
+
* A downscaled WebP for images and PDF first pages; the backend snaps
|
|
67
|
+
* `max_width` to a fixed rung (512 / 2048) and 302-redirects to the original
|
|
68
|
+
* for non-thumbnailable content. Pass `v` (e.g. the entity's
|
|
69
|
+
* `os_last_updated_at`) to opt into long-lived immutable caching — the URL is
|
|
70
|
+
* then content-versioned, so a tile seen once never re-downloads or
|
|
71
|
+
* revalidates; omit it to revalidate.
|
|
72
|
+
*/
|
|
73
|
+
getEntityThumbnailUrl(osWorkspace: string, entityUid: string, options: {
|
|
74
|
+
max_width: number;
|
|
75
|
+
v?: number | string;
|
|
76
|
+
relative?: boolean;
|
|
77
|
+
}): string;
|
|
78
|
+
/**
|
|
79
|
+
* Strip scheme/host for Octostar API asset URLs so they stay valid across environments.
|
|
80
|
+
* Leaves other URLs (e.g. CDN icons) unchanged.
|
|
81
|
+
*/
|
|
82
|
+
toPortableAssetPath(url: string): string;
|
|
29
83
|
};
|
|
30
84
|
//# sourceMappingURL=ApiConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiConfig.d.ts","sourceRoot":"","sources":["../../src/lib/ApiConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiConfig.d.ts","sourceRoot":"","sources":["../../src/lib/ApiConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;CAAuC,CAAC;AAErE,yFAAyF;AACzF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOpE;AAQD;;;GAGG;AACH,eAAO,MAAM,SAAS;cAEJ,iBAAiB;IAEjC;;OAEG;qBACc,MAAM;IAcvB;;;;;;OAMG;yBACkB,OAAO;IAc5B;;;;;;;OAOG;2BAEK,MAAM,YACF;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,mBAAmB,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;QAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GACA,MAAM;IAoBT;;;;;OAKG;wCACiC,MAAM,aAAa,MAAM,YAAY;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IASxG;;;;;;;;OAQG;uCAEY,MAAM,aACR,MAAM,WACR;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GACA,MAAM;IAmBT;;;OAGG;6BACsB,MAAM,GAAG,MAAM;CAezC,CAAC"}
|
package/dist/lib/ApiConfig.js
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported backend thumbnail rungs for `getEntityThumbnailUrl`. The server
|
|
3
|
+
* snaps any requested `max_width` UP to one of these and caches one object
|
|
4
|
+
* per rung, so request the rung you actually want — an arbitrary width below
|
|
5
|
+
* a rung just maps to that same rung's object.
|
|
6
|
+
*/
|
|
7
|
+
export const THUMBNAIL_WIDTHS = { SMALL: 512, LARGE: 2048 };
|
|
8
|
+
/** The renderer also caps a thumbnail's height, at this multiple of its rung's width. */
|
|
9
|
+
export const THUMBNAIL_MAX_HEIGHT_FACTOR = 4;
|
|
10
|
+
/** True if `pathname` (or a path-only URL string) targets Octostar API attachment/image/source-bytes assets.
|
|
11
|
+
*
|
|
12
|
+
* `/files/source/bytes` is included so the navigation-fallback that strips
|
|
13
|
+
* scheme/host (and thus the auth headers attached at the SDK layer) does
|
|
14
|
+
* not silently apply to source-backed reads — same reasoning as the
|
|
15
|
+
* attachments path: cross-environment portability without auth loss. The v2
|
|
16
|
+
* entity attachment + thumbnail routes (`/api/v2/entities/.../attachment`) get
|
|
17
|
+
* the same treatment.
|
|
18
|
+
*/
|
|
19
|
+
export function isOctostarApiAssetPathname(pathname) {
|
|
20
|
+
return (pathname.includes('/api/v1/files/attachments') ||
|
|
21
|
+
pathname.includes('/api/v1/octostar/image/') ||
|
|
22
|
+
pathname.includes('/api/v1/files/source/bytes') ||
|
|
23
|
+
(pathname.includes('/api/v2/entities/') && pathname.includes('/attachment')));
|
|
24
|
+
}
|
|
1
25
|
// FIXME: TEAM-4235 To be removed when superset is gone.
|
|
2
26
|
function getDefaultBaseUrl() {
|
|
3
27
|
if (typeof window === 'undefined')
|
|
@@ -50,19 +74,92 @@ export const ApiConfig = {
|
|
|
50
74
|
}
|
|
51
75
|
},
|
|
52
76
|
/**
|
|
53
|
-
* Specifically handles the migrated attachment path.
|
|
77
|
+
* Specifically handles the migrated (v1) attachment path.
|
|
54
78
|
* Usage: ApiConfig.getAttachmentUrl(attachmentId)
|
|
79
|
+
* Pass relative: true for path+query only (browser resolves against the current origin).
|
|
80
|
+
*
|
|
81
|
+
* For images/thumbnails prefer the v2 builders below
|
|
82
|
+
* (`getEntityAttachmentUrl` / `getEntityThumbnailUrl`).
|
|
55
83
|
*/
|
|
56
84
|
getAttachmentUrl(path, options) {
|
|
85
|
+
const { relative, ...queryFields } = options ?? {};
|
|
57
86
|
const base = this.getApiBaseUrl().replace(/\/$/, '');
|
|
58
87
|
const suffix = path.startsWith('/') ? path : `/${path}`;
|
|
59
88
|
const query = new URLSearchParams();
|
|
60
89
|
const url = `${base}/api/v1/files/attachments${suffix}`;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
for (const key of Object.keys(queryFields)) {
|
|
91
|
+
const value = queryFields[key];
|
|
92
|
+
if (value !== undefined) {
|
|
93
|
+
query.set(key, String(value));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const full = query.toString() ? `${url}?${query.toString()}` : url;
|
|
97
|
+
if (relative) {
|
|
98
|
+
const { pathname, search } = new URL(full);
|
|
99
|
+
return `${pathname}${search}`;
|
|
100
|
+
}
|
|
101
|
+
return full;
|
|
102
|
+
},
|
|
103
|
+
/**
|
|
104
|
+
* v2 entity attachment bytes: GET /api/v2/entities/{os_workspace}/{entity_uid}/attachment.
|
|
105
|
+
* Streams the original inline, resolving `osfs://` / `mntfs://` source-backed
|
|
106
|
+
* entities server-side. Use this for raw image/file reads; for previews use
|
|
107
|
+
* `getEntityThumbnailUrl`.
|
|
108
|
+
*/
|
|
109
|
+
getEntityAttachmentUrl(osWorkspace, entityUid, options) {
|
|
110
|
+
const base = this.getApiBaseUrl().replace(/\/$/, '');
|
|
111
|
+
const full = `${base}/api/v2/entities/${encodeURIComponent(osWorkspace)}/${encodeURIComponent(entityUid)}/attachment`;
|
|
112
|
+
if (options?.relative) {
|
|
113
|
+
return new URL(full).pathname;
|
|
114
|
+
}
|
|
115
|
+
return full;
|
|
116
|
+
},
|
|
117
|
+
/**
|
|
118
|
+
* v2 backend-rendered thumbnail: GET .../attachment/_thumbnail?max_width=N&v=<token>.
|
|
119
|
+
* A downscaled WebP for images and PDF first pages; the backend snaps
|
|
120
|
+
* `max_width` to a fixed rung (512 / 2048) and 302-redirects to the original
|
|
121
|
+
* for non-thumbnailable content. Pass `v` (e.g. the entity's
|
|
122
|
+
* `os_last_updated_at`) to opt into long-lived immutable caching — the URL is
|
|
123
|
+
* then content-versioned, so a tile seen once never re-downloads or
|
|
124
|
+
* revalidates; omit it to revalidate.
|
|
125
|
+
*/
|
|
126
|
+
getEntityThumbnailUrl(osWorkspace, entityUid, options) {
|
|
127
|
+
const { relative, ...queryFields } = options;
|
|
128
|
+
const base = this.getApiBaseUrl().replace(/\/$/, '');
|
|
129
|
+
const url = `${base}/api/v2/entities/${encodeURIComponent(osWorkspace)}/${encodeURIComponent(entityUid)}/attachment/_thumbnail`;
|
|
130
|
+
const query = new URLSearchParams();
|
|
131
|
+
for (const key of Object.keys(queryFields)) {
|
|
132
|
+
const value = queryFields[key];
|
|
133
|
+
if (value !== undefined) {
|
|
134
|
+
query.set(key, String(value));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const full = `${url}?${query.toString()}`;
|
|
138
|
+
if (relative) {
|
|
139
|
+
const { pathname, search } = new URL(full);
|
|
140
|
+
return `${pathname}${search}`;
|
|
141
|
+
}
|
|
142
|
+
return full;
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* Strip scheme/host for Octostar API asset URLs so they stay valid across environments.
|
|
146
|
+
* Leaves other URLs (e.g. CDN icons) unchanged.
|
|
147
|
+
*/
|
|
148
|
+
toPortableAssetPath(url) {
|
|
149
|
+
if (!url)
|
|
150
|
+
return url;
|
|
151
|
+
const t = url.trim();
|
|
152
|
+
if (t.startsWith('/'))
|
|
153
|
+
return t;
|
|
154
|
+
try {
|
|
155
|
+
const u = new URL(t);
|
|
156
|
+
const { pathname, search } = u;
|
|
157
|
+
if (isOctostarApiAssetPathname(pathname)) {
|
|
158
|
+
return `${pathname}${search}`;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
/* ignore */
|
|
66
163
|
}
|
|
67
164
|
return url;
|
|
68
165
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiConfig.js","sourceRoot":"","sources":["../../src/lib/ApiConfig.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,SAAS,iBAAiB;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,wDAAwD;IACxD,QAAQ,EAAE,EAAuB;IAEjC;;OAEG;IACH,aAAa;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9B,2CAA2C;gBAC3C,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;YACvC,OAAO,GAAG,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ApiConfig.js","sourceRoot":"","sources":["../../src/lib/ApiConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
type DependencyFactoryGeneral = (locator: unknown) => Promise<any>;
|
|
2
2
|
type DependencyFactory<T, S extends Record<string, DependencyFactoryGeneral>> = (locator: AsyncServiceLocator<S>) => Promise<T>;
|
|
3
3
|
type GetServiceResult<T> = Promise<T extends (...args: any) => infer R ? Awaited<R> : never>;
|
|
4
|
-
export interface ReadOnlyAsyncServiceLocator<T, I = T extends AsyncServiceLocator<infer S> ? S : never> {
|
|
5
|
-
getService: <K extends keyof I>(name: K) => GetServiceResult<I[K]>;
|
|
6
|
-
}
|
|
7
4
|
interface AsyncServiceLocatorOptions {
|
|
8
5
|
cache: boolean;
|
|
9
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncServiceLocator.d.ts","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"AAAA,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnE,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAC9E,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAC5B,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,KAAK,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAE7F,
|
|
1
|
+
{"version":3,"file":"AsyncServiceLocator.d.ts","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"AAAA,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnE,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAC9E,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAC5B,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,KAAK,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAE7F,UAAU,0BAA0B;IAClC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,mBAAmB,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAE1F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAI;IAE7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAEzC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,0BAA0B;IAMzF,MAAM,CAAC,SAAS,EAAE,MAAM,CACtB,MAAM,EACN,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CACtG,CAAM;IAEP,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B;IAYnE,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,EACnE,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,CAAC,GAChB,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAWlC,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,EAChC,IAAI,EAAE,CAAC,GAEN,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAc1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncServiceLocator.js","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsyncServiceLocator.js","sourceRoot":"","sources":["../../src/lib/AsyncServiceLocator.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,mBAAmB;IAS9B,YAAY,QAAW,EAAE,KAA2B,EAAE,OAAmC;QACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAOD,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,OAAmC;QACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,uCAAuC;IACvC,eAAe,CACb,IAAO,EACP,cAAiB;QAEjB,OAAO,IAAI,mBAAmB,CAC5B;YACE,GAAG,IAAI,CAAC,QAAQ;YAChB,CAAC,IAAI,CAAC,EAAE,cAAc;SACvB,EACD,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAS,EAAE,sBAAsB;QACnE,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAO;IACP,4EAA4E;;QAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7C,uCAAuC;YACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AA/CM,6BAAS,GAGZ,EAAE,CAAC;AA+CT,eAAe;AACf,iDAAiD;AACjD,EAAE;AACF,oBAAoB;AACpB,qBAAqB;AACrB,MAAM;AACN,IAAI;AACJ,EAAE;AACF,gBAAgB;AAChB,iDAAiD;AACjD,EAAE;AACF,uBAAuB;AACvB,sBAAsB;AACtB,MAAM;AACN,EAAE;AACF,oBAAoB;AACpB,sBAAsB;AACtB,MAAM;AACN,IAAI;AACJ,EAAE;AACF,iEAAiE;AACjE,qDAAqD;AACrD,gDAAgD;AAChD,sBAAsB;AACtB,eAAe;AACf,oEAAoE;AACpE,OAAO;AACP,4DAA4D;AAC5D,8DAA8D;AAC9D,EAAE;AACF,sBAAsB;AACtB,0BAA0B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FilesAPIClient, FileListResponse, OsAPIClient, WorkspaceItem, MoveOptions, MoveResponse, MkdirResponse, DeleteResponse, DownloadOptions, ListFolderOptions, S3UploadResponse, UploadOptions, UnzipOptions } from '@octostar/platform-types';
|
|
1
|
+
import type { FilesAPIClient, FileListResponse, OsAPIClient, WorkspaceItem, MoveOptions, MoveResponse, MkdirResponse, DeleteResponse, DownloadOptions, ListFolderOptions, PeekSourceOptions, PeekSourceTarget, S3UploadResponse, SourceExportRequest, SourceExportResponse, SourcePeekResponse, UploadOptions, UnzipOptions, UploadFromUrlRequest, UploadFromUrlResponse } from '@octostar/platform-types';
|
|
2
2
|
export declare class FilesAPIImpl implements FilesAPIClient {
|
|
3
3
|
private osAPIClient;
|
|
4
4
|
constructor(osAPIClient: OsAPIClient);
|
|
@@ -10,7 +10,9 @@ export declare class FilesAPIImpl implements FilesAPIClient {
|
|
|
10
10
|
listFolder(os_workspace: string, options?: ListFolderOptions): Promise<FileListResponse>;
|
|
11
11
|
moveOrRename(os_workspace: string, path: string, { entity_id, new_name, new_os_parent_folder, force }: MoveOptions): Promise<MoveResponse>;
|
|
12
12
|
getDownloadUrl(os_workspace: string, path: string, { content_type, content_disposition, redirect }?: DownloadOptions): Promise<string>;
|
|
13
|
-
createFile(item: WorkspaceItem
|
|
13
|
+
createFile(item: WorkspaceItem, options?: {
|
|
14
|
+
clientKey?: string;
|
|
15
|
+
}): Promise<MkdirResponse>;
|
|
14
16
|
mkdir(item: WorkspaceItem): Promise<MkdirResponse>;
|
|
15
17
|
deleteFile(os_workspace: string, path: string): Promise<DeleteResponse>;
|
|
16
18
|
deleteRecursive(os_workspace: string, path: string): Promise<DeleteResponse>;
|
|
@@ -18,6 +20,10 @@ export declare class FilesAPIImpl implements FilesAPIClient {
|
|
|
18
20
|
tracking_id: string;
|
|
19
21
|
status_url: string;
|
|
20
22
|
}>;
|
|
23
|
+
uploadFromUrl(os_workspace: string, body: UploadFromUrlRequest, signal?: AbortSignal): Promise<UploadFromUrlResponse>;
|
|
21
24
|
getUploadUrl(os_workspace: string, entity_id: string, options: UploadOptions): Promise<S3UploadResponse>;
|
|
25
|
+
peekSource(os_workspace: string, target: PeekSourceTarget, options?: PeekSourceOptions): Promise<SourcePeekResponse>;
|
|
26
|
+
private buildPeekSourceUrl;
|
|
27
|
+
bulkExportSourceSubtree(os_workspace: string, body: SourceExportRequest): Promise<SourceExportResponse>;
|
|
22
28
|
}
|
|
23
29
|
//# sourceMappingURL=FilesAPIImpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesAPIImpl.d.ts","sourceRoot":"","sources":["../../src/lib/FilesAPIImpl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EAEjB,gBAAgB,EAChB,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"FilesAPIImpl.d.ts","sourceRoot":"","sources":["../../src/lib/FilesAPIImpl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EAEjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAGlC,qBAAa,YAAa,YAAW,cAAc;IACjD,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAIpC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAajE,OAAO,CAAC,gBAAgB;YAiBV,UAAU;YAYV,kBAAkB;YAelB,QAAQ;IAWhB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYxF,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAa,EAAE,EAAE,WAAW,GACxE,OAAO,CAAC,YAAY,CAAC;IAclB,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,EAAE,YAAY,EAAE,mBAA8B,EAAE,QAAe,EAAE,GAAE,eAAoB,GACtF,OAAO,CAAC,MAAM,CAAC;IAoBZ,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAyB7F,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAclD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvE,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ5E,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAmBjD,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAc3B,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAexG,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAS9B,OAAO,CAAC,kBAAkB;IAgBpB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAQ9G"}
|
package/dist/lib/FilesAPIImpl.js
CHANGED
|
@@ -87,8 +87,10 @@ export class FilesAPIImpl {
|
|
|
87
87
|
});
|
|
88
88
|
return signedUrl;
|
|
89
89
|
}
|
|
90
|
-
async createFile(item) {
|
|
91
|
-
const
|
|
90
|
+
async createFile(item, options = {}) {
|
|
91
|
+
const base = `/api/v1/files/create/${item.os_workspace}`;
|
|
92
|
+
// The pipeline groups every request of one upload action under its `client_key`.
|
|
93
|
+
const url = options.clientKey ? `${base}?client_key=${encodeURIComponent(options.clientKey)}` : base;
|
|
92
94
|
return this.osAPIClient.fetchData({
|
|
93
95
|
endpoint: url,
|
|
94
96
|
method: 'POST',
|
|
@@ -148,6 +150,19 @@ export class FilesAPIImpl {
|
|
|
148
150
|
},
|
|
149
151
|
});
|
|
150
152
|
}
|
|
153
|
+
async uploadFromUrl(os_workspace, body, signal) {
|
|
154
|
+
const endpoint = `/api/v2/files/upload-from-url/${encodeURIComponent(os_workspace)}`;
|
|
155
|
+
const response = await this.osAPIClient.fetch(endpoint, {
|
|
156
|
+
method: 'POST',
|
|
157
|
+
headers: { 'Content-Type': 'application/json' },
|
|
158
|
+
body: JSON.stringify(body),
|
|
159
|
+
signal,
|
|
160
|
+
});
|
|
161
|
+
if (!response.ok) {
|
|
162
|
+
throw await parseUploadFromUrlError(response);
|
|
163
|
+
}
|
|
164
|
+
return (await response.json());
|
|
165
|
+
}
|
|
151
166
|
async getUploadUrl(os_workspace, entity_id, options) {
|
|
152
167
|
const { content_type, ttl_minutes = 60 } = options;
|
|
153
168
|
const ttl = ttl_minutes * 60;
|
|
@@ -161,5 +176,69 @@ export class FilesAPIImpl {
|
|
|
161
176
|
},
|
|
162
177
|
});
|
|
163
178
|
}
|
|
179
|
+
async peekSource(os_workspace, target, options) {
|
|
180
|
+
const url = this.buildPeekSourceUrl(os_workspace, target, options);
|
|
181
|
+
return this.osAPIClient.fetchData({
|
|
182
|
+
endpoint: url,
|
|
183
|
+
method: 'GET',
|
|
184
|
+
headers: { 'Content-Type': 'application/json' },
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
buildPeekSourceUrl(os_workspace, target, options) {
|
|
188
|
+
// Path mode requires a non-empty path; an empty string would produce
|
|
189
|
+
// `.../source/list/{ws}/` which the backend can't route. The type
|
|
190
|
+
// signature does not (and cannot) encode non-empty at compile time.
|
|
191
|
+
if (target.path !== undefined && target.path !== '') {
|
|
192
|
+
const query = this.buildQueryParams({ inner: options?.inner });
|
|
193
|
+
const encodedPath = encodeURIComponent(target.path);
|
|
194
|
+
return `/api/v1/files/source/list/${os_workspace}/${encodedPath}${query ? `?${query}` : ''}`;
|
|
195
|
+
}
|
|
196
|
+
if (target.entity_id !== undefined && target.entity_id !== '') {
|
|
197
|
+
const query = this.buildQueryParams({ entity_id: target.entity_id, inner: options?.inner });
|
|
198
|
+
return `/api/v1/files/source/list/${os_workspace}${query ? `?${query}` : ''}`;
|
|
199
|
+
}
|
|
200
|
+
throw new Error('peekSource: target must include a non-empty `path` or `entity_id`.');
|
|
201
|
+
}
|
|
202
|
+
async bulkExportSourceSubtree(os_workspace, body) {
|
|
203
|
+
return this.osAPIClient.fetchData({
|
|
204
|
+
endpoint: `/api/v1/files/source/export/${os_workspace}`,
|
|
205
|
+
method: 'POST',
|
|
206
|
+
body,
|
|
207
|
+
headers: { 'Content-Type': 'application/json' },
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Parse a non-2xx response from `uploadFromUrl` into an `UploadFromUrlError`
|
|
213
|
+
* carrying the API's `{ detail: { error_code, message } }` envelope when present.
|
|
214
|
+
* Falls back gracefully when the body isn't JSON (e.g. nginx 502 page).
|
|
215
|
+
*/
|
|
216
|
+
async function parseUploadFromUrlError(response) {
|
|
217
|
+
let code;
|
|
218
|
+
let detailMessage;
|
|
219
|
+
try {
|
|
220
|
+
const parsed = (await response.json());
|
|
221
|
+
const detail = parsed?.detail;
|
|
222
|
+
if (detail && typeof detail === 'object') {
|
|
223
|
+
const obj = detail;
|
|
224
|
+
if (typeof obj.error_code === 'string')
|
|
225
|
+
code = obj.error_code;
|
|
226
|
+
if (typeof obj.message === 'string')
|
|
227
|
+
detailMessage = obj.message;
|
|
228
|
+
}
|
|
229
|
+
else if (typeof detail === 'string') {
|
|
230
|
+
detailMessage = detail;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
// Non-JSON body — leave code/detailMessage undefined.
|
|
235
|
+
}
|
|
236
|
+
const error = new Error(detailMessage ?? `Upload from URL failed: ${String(response.status)}`);
|
|
237
|
+
error.status = response.status;
|
|
238
|
+
if (code !== undefined)
|
|
239
|
+
error.code = code;
|
|
240
|
+
if (detailMessage !== undefined)
|
|
241
|
+
error.detailMessage = detailMessage;
|
|
242
|
+
return error;
|
|
164
243
|
}
|
|
165
244
|
//# sourceMappingURL=FilesAPIImpl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesAPIImpl.js","sourceRoot":"","sources":["../../src/lib/FilesAPIImpl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilesAPIImpl.js","sourceRoot":"","sources":["../../src/lib/FilesAPIImpl.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/FusionApi.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Entity, WorkspaceItem } from '@octostar/platform-types';
|
|
2
|
-
import type { FusionConnectedDataKey,
|
|
2
|
+
import type { FusionConnectedDataKey, FusionConnectionValues, FusionAPIConstructorParams, FusionSource, FusionValue, FusionDocumentData } from '../type/FusionTypes';
|
|
3
3
|
interface GetFusionValuesFromSourcesParams {
|
|
4
4
|
sources: FusionSource[];
|
|
5
5
|
getValue: (record: Record<string, unknown>) => unknown;
|
|
@@ -26,14 +26,23 @@ export declare class FusionAPI {
|
|
|
26
26
|
*/
|
|
27
27
|
getSources(): Promise<FusionSource[]>;
|
|
28
28
|
/**
|
|
29
|
-
* Gets connected data for the main entity only
|
|
29
|
+
* Gets connected data for the main entity only.
|
|
30
|
+
*
|
|
31
|
+
* The returned object pairs the values with a `truncated` flag indicating
|
|
32
|
+
* whether the underlying `getConnectionsByType` SQL hit
|
|
33
|
+
* `CONNECTIONS_QUERY_CAP`. Consumers iterate via `result.values` and read
|
|
34
|
+
* `result.truncated` to surface a "results truncated" notice.
|
|
30
35
|
*/
|
|
31
|
-
getMainConnectedData(name: string, connectedDataKey: FusionConnectedDataKey): Promise<
|
|
32
|
-
fuseEntities(dataToSave: FusionDocumentData[]): Promise<(WorkspaceItem | undefined)[]>;
|
|
36
|
+
getMainConnectedData(name: string, connectedDataKey: FusionConnectedDataKey): Promise<FusionConnectionValues>;
|
|
37
|
+
fuseEntities(dataToSave: FusionDocumentData[]): Promise<(WorkspaceItem | undefined)[] | undefined>;
|
|
33
38
|
/**
|
|
34
|
-
* Gets connected data for all fusion sources and merges them
|
|
39
|
+
* Gets connected data for all fusion sources and merges them.
|
|
40
|
+
*
|
|
41
|
+
* The returned object pairs the merged values with a `truncated` flag that
|
|
42
|
+
* is `true` if *any* per-source fetch hit the connections cap. See
|
|
43
|
+
* `getMainConnectedData` for the consumer contract.
|
|
35
44
|
*/
|
|
36
|
-
getFusionConnectedData(name: string, connectedDataKey: FusionConnectedDataKey): Promise<
|
|
45
|
+
getFusionConnectedData(name: string, connectedDataKey: FusionConnectedDataKey): Promise<FusionConnectionValues>;
|
|
37
46
|
/**
|
|
38
47
|
* Generates ordered record fields for fusion sources based on UI schema
|
|
39
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FusionApi.d.ts","sourceRoot":"","sources":["../../src/lib/FusionApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,MAAM,EAAY,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGtG,OAAO,KAAK,EACV,sBAAsB,
|
|
1
|
+
{"version":3,"file":"FusionApi.d.ts","sourceRoot":"","sources":["../../src/lib/FusionApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,MAAM,EAAY,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGtG,OAAO,KAAK,EACV,sBAAsB,EAEtB,sBAAsB,EACtB,0BAA0B,EAC1B,YAAY,EACZ,WAAW,EACX,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,gCAAgC;IACxC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,SAAS;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAa;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAc;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAiB;IAGjE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAc;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;gBAEvD,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,0BAA0B;IAW3E;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAc3C;;;;;;;OAOG;IACG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK7G,YAAY,CAAC,UAAU,EAAE,kBAAkB,EAAE;IA0CnD;;;;;;OAMG;IACG,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,sBAAsB,GACvC,OAAO,CAAC,sBAAsB,CAAC;IAwBlC;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQtE;;OAEG;IACG,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBtD,oCAAoC;YAmBpC,sCAAsC;YAmBtC,eAAe;IAW7B;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,EAChC,OAAO,EACP,QAAQ,EACR,eAAe,GAChB,EAAE,gCAAgC,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;IA0BlE,OAAO,CAAC,gBAAgB;YAIV,eAAe;IAS7B,OAAO,CAAC,qBAAqB;YAgBf,yBAAyB;YAWzB,qBAAqB;YAyCrB,iBAAiB;YASjB,uBAAuB;IA0CrC,OAAO,CAAC,oBAAoB;YAyBd,oBAAoB;YAmBpB,4BAA4B;YAgB5B,sBAAsB;IAmBpC,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAOvC,OAAO,CAAC,MAAM,CAAC,SAAS;CAMzB"}
|