@hydracept/sdk 0.1.4 → 0.2.2
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/CHANGELOG.md +11 -0
- package/README.md +24 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/panel-types.d.ts +27 -0
- package/dist/panel-types.d.ts.map +1 -0
- package/dist/panel-types.js +2 -0
- package/dist/panels.d.ts +17 -0
- package/dist/panels.d.ts.map +1 -0
- package/dist/panels.js +57 -0
- package/dist/runtime.d.ts +14 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +39 -0
- package/package.json +3 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.2 — 2026-08-12
|
|
4
|
+
|
|
5
|
+
- Typed panel definition list response: `{ definitions: PanelDefinitionView[] }`
|
|
6
|
+
- Typed `createPanelSession` → `PanelSessionCreated`
|
|
7
|
+
- Exported `PanelDefinitionView`, `PanelDefinitionListResponse`, `PanelSessionCreated`
|
|
8
|
+
|
|
9
|
+
## 0.2.1
|
|
10
|
+
|
|
11
|
+
Prior release.
|
package/README.md
CHANGED
|
@@ -33,6 +33,30 @@ const status = await client.runtime.getJob(job.jobId);
|
|
|
33
33
|
const receipt = await client.runtime.getJobReceipt(job.jobId);
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
### Panel sessions (embed host)
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import { createHydraceptClient } from '@hydracept/sdk';
|
|
40
|
+
|
|
41
|
+
const client = createHydraceptClient({
|
|
42
|
+
baseUrl: 'https://api.hydracept.com',
|
|
43
|
+
getToken: () => process.env.HYDRACEPT_API_KEY ?? '',
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const { definitions } = await client.panels.listPanelDefinitions();
|
|
47
|
+
const created = await client.panels.createPanelSession({
|
|
48
|
+
panelDefinitionId: definitions[0]!.id,
|
|
49
|
+
projectId: process.env.HYDRACEPT_PROJECT,
|
|
50
|
+
environment: 'development',
|
|
51
|
+
allowedOrigins: ['http://localhost:5173'],
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Pass sessionId + accessToken to @hydracept/elements PanelIframeManager
|
|
55
|
+
console.log(created.sessionId, created.accessToken);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Pair with [`@hydracept/elements`](../../packages/elements) to mount the hosted iframe — do not copy protocol code.
|
|
59
|
+
|
|
36
60
|
Activate at https://hydracept.com/start · Docs: https://docs.hydracept.com
|
|
37
61
|
|
|
38
62
|
A Zencode product · © Zencode Consulting Inc.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHydraceptControlApi } from './control.js';
|
|
2
2
|
import { type HydraceptHttp } from './http.js';
|
|
3
|
+
import { createHydraceptPanelsApi } from './panels.js';
|
|
3
4
|
import { createHydraceptRuntimeApi } from './runtime.js';
|
|
4
5
|
import type { HydraceptClientOptions } from './types.js';
|
|
5
6
|
export type { HydraceptHttpError, HydraceptClientOptions, HydraceptRuntimeEvent } from './types.js';
|
|
@@ -9,12 +10,16 @@ export { createHydraceptControlApi } from './control.js';
|
|
|
9
10
|
export type { HydraceptControlApi } from './control.js';
|
|
10
11
|
export { createHydraceptRuntimeApi } from './runtime.js';
|
|
11
12
|
export type { HydraceptRuntimeApi } from './runtime.js';
|
|
13
|
+
export { createHydraceptPanelsApi } from './panels.js';
|
|
14
|
+
export type { HydraceptPanelsApi } from './panels.js';
|
|
15
|
+
export type { PanelDefinitionListResponse, PanelDefinitionView, PanelDefinitionVersionView, PanelSessionCreated, } from './panel-types.js';
|
|
12
16
|
export { iterInvocationEvents } from './sse.js';
|
|
13
17
|
export type { HydraceptAssetOut, HydraceptAssetPage, } from './types.js';
|
|
14
18
|
export type HydraceptClient = {
|
|
15
19
|
http: HydraceptHttp;
|
|
16
20
|
control: ReturnType<typeof createHydraceptControlApi>;
|
|
17
21
|
runtime: ReturnType<typeof createHydraceptRuntimeApi>;
|
|
22
|
+
panels: ReturnType<typeof createHydraceptPanelsApi>;
|
|
18
23
|
};
|
|
19
24
|
export declare function createHydraceptClient(options: HydraceptClientOptions): HydraceptClient;
|
|
20
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACtD,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACtD,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACtD,MAAM,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACrD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAQtF"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { createHydraceptControlApi } from './control.js';
|
|
2
2
|
import { createHydraceptHttp } from './http.js';
|
|
3
|
+
import { createHydraceptPanelsApi } from './panels.js';
|
|
3
4
|
import { createHydraceptRuntimeApi } from './runtime.js';
|
|
4
5
|
export { createHydraceptHttp } from './http.js';
|
|
5
6
|
export { createHydraceptControlApi } from './control.js';
|
|
6
7
|
export { createHydraceptRuntimeApi } from './runtime.js';
|
|
8
|
+
export { createHydraceptPanelsApi } from './panels.js';
|
|
7
9
|
export { iterInvocationEvents } from './sse.js';
|
|
8
10
|
export function createHydraceptClient(options) {
|
|
9
11
|
const http = createHydraceptHttp(options);
|
|
@@ -11,5 +13,6 @@ export function createHydraceptClient(options) {
|
|
|
11
13
|
http,
|
|
12
14
|
control: createHydraceptControlApi(http),
|
|
13
15
|
runtime: createHydraceptRuntimeApi(http),
|
|
16
|
+
panels: createHydraceptPanelsApi(http),
|
|
14
17
|
};
|
|
15
18
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Panel definition and session response shapes (additive /v1 contracts). */
|
|
2
|
+
export interface PanelDefinitionVersionView {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly definitionId: string;
|
|
5
|
+
readonly version: number;
|
|
6
|
+
readonly capabilityKey: string;
|
|
7
|
+
readonly capabilityVersion: string;
|
|
8
|
+
readonly allowedOrigins: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
export interface PanelDefinitionView {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly organizationId: string;
|
|
13
|
+
readonly key: string;
|
|
14
|
+
readonly displayName: string;
|
|
15
|
+
readonly status: string;
|
|
16
|
+
readonly currentVersion?: PanelDefinitionVersionView;
|
|
17
|
+
}
|
|
18
|
+
/** GET /v1/panel-definitions list envelope. */
|
|
19
|
+
export interface PanelDefinitionListResponse {
|
|
20
|
+
readonly definitions: readonly PanelDefinitionView[];
|
|
21
|
+
}
|
|
22
|
+
export interface PanelSessionCreated {
|
|
23
|
+
readonly sessionId: string;
|
|
24
|
+
readonly accessToken: string;
|
|
25
|
+
readonly expiresAt?: string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=panel-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel-types.d.ts","sourceRoot":"","sources":["../src/panel-types.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,0BAA0B,CAAC;CACtD;AAED,+CAA+C;AAC/C,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/panels.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HydraceptHttp } from './http.js';
|
|
2
|
+
import type { PanelDefinitionListResponse, PanelDefinitionView, PanelSessionCreated } from './panel-types.js';
|
|
3
|
+
/** Panel definition and session helpers for hosted panels and embed integrations. */
|
|
4
|
+
export declare function createHydraceptPanelsApi(http: HydraceptHttp): {
|
|
5
|
+
createPanelDefinition<T = PanelDefinitionView>(body: unknown, init?: RequestInit): Promise<T>;
|
|
6
|
+
listPanelDefinitions(): Promise<PanelDefinitionListResponse>;
|
|
7
|
+
getPanelDefinition<T = unknown>(definitionId: string): Promise<T>;
|
|
8
|
+
patchPanelDefinition<T = unknown>(definitionId: string, body: unknown, init?: RequestInit): Promise<T>;
|
|
9
|
+
createPanelSession(body: unknown, init?: RequestInit): Promise<PanelSessionCreated>;
|
|
10
|
+
getPanelSession<T = unknown>(sessionId: string): Promise<T>;
|
|
11
|
+
revokePanelSession<T = unknown>(sessionId: string, init?: RequestInit): Promise<T>;
|
|
12
|
+
createPanelLaunchCode<T = unknown>(sessionId: string, init?: RequestInit): Promise<T>;
|
|
13
|
+
getPanelBootstrap<T = unknown>(init?: RequestInit): Promise<T>;
|
|
14
|
+
exchangePanelLaunchCode<T = unknown>(body: unknown, init?: RequestInit): Promise<T>;
|
|
15
|
+
};
|
|
16
|
+
export type HydraceptPanelsApi = ReturnType<typeof createHydraceptPanelsApi>;
|
|
17
|
+
//# sourceMappingURL=panels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../src/panels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa;0BAElC,CAAC,8BAA8B,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;4BAQzE,OAAO,CAAC,2BAA2B,CAAC;uBAIzC,CAAC,0BAA0B,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;yBAI5C,CAAC,0BACN,MAAM,QACd,OAAO,SACP,WAAW,GAChB,OAAO,CAAC,CAAC,CAAC;6BAQY,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,mBAAmB,CAAC;oBAQvE,CAAC,uBAAuB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;uBAIxC,CAAC,uBAAuB,MAAM,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;0BAOhE,CAAC,uBAAuB,MAAM,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;sBAUvE,CAAC,mBAAkB,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;4BAI1C,CAAC,kBAAkB,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;EAQ1F;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
package/dist/panels.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** Panel definition and session helpers for hosted panels and embed integrations. */
|
|
2
|
+
export function createHydraceptPanelsApi(http) {
|
|
3
|
+
return {
|
|
4
|
+
createPanelDefinition(body, init = {}) {
|
|
5
|
+
return http.fetchJson('/panel-definitions', {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
body: JSON.stringify(body),
|
|
8
|
+
...init,
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
listPanelDefinitions() {
|
|
12
|
+
return http.fetchJson('/panel-definitions');
|
|
13
|
+
},
|
|
14
|
+
getPanelDefinition(definitionId) {
|
|
15
|
+
return http.fetchJson(`/panel-definitions/${encodeURIComponent(definitionId)}`);
|
|
16
|
+
},
|
|
17
|
+
patchPanelDefinition(definitionId, body, init = {}) {
|
|
18
|
+
return http.fetchJson(`/panel-definitions/${encodeURIComponent(definitionId)}`, {
|
|
19
|
+
method: 'PATCH',
|
|
20
|
+
body: JSON.stringify(body),
|
|
21
|
+
...init,
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
createPanelSession(body, init = {}) {
|
|
25
|
+
return http.fetchJson('/panel-sessions', {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
body: JSON.stringify(body),
|
|
28
|
+
...init,
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
getPanelSession(sessionId) {
|
|
32
|
+
return http.fetchJson(`/panel-sessions/${encodeURIComponent(sessionId)}`);
|
|
33
|
+
},
|
|
34
|
+
revokePanelSession(sessionId, init = {}) {
|
|
35
|
+
return http.fetchJson(`/panel-sessions/${encodeURIComponent(sessionId)}/revoke`, {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
...init,
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
createPanelLaunchCode(sessionId, init = {}) {
|
|
41
|
+
return http.fetchJson(`/panel-sessions/${encodeURIComponent(sessionId)}/launch-codes`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
...init,
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
getPanelBootstrap(init = {}) {
|
|
47
|
+
return http.fetchJson('/panel/bootstrap', init);
|
|
48
|
+
},
|
|
49
|
+
exchangePanelLaunchCode(body, init = {}) {
|
|
50
|
+
return http.fetchJson('/panel/launch-codes/exchange', {
|
|
51
|
+
method: 'POST',
|
|
52
|
+
body: JSON.stringify(body),
|
|
53
|
+
...init,
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -13,8 +13,22 @@ export declare function createHydraceptRuntimeApi(http: HydraceptHttp): {
|
|
|
13
13
|
describeCapability<T = unknown>(key: string): Promise<T>;
|
|
14
14
|
invokeCapability<T = unknown>(key: string, body: unknown, init?: RequestInit): Promise<T>;
|
|
15
15
|
submitCapabilityJob<T = unknown>(key: string, body: unknown, init?: RequestInit): Promise<T>;
|
|
16
|
+
createComparison<T = unknown>(key: string, body: unknown): Promise<T>;
|
|
17
|
+
estimateComparison<T = unknown>(key: string, body: unknown): Promise<T>;
|
|
18
|
+
getComparison<T = unknown>(comparisonId: string): Promise<T>;
|
|
19
|
+
submitComparisonJudgement<T = unknown>(comparisonId: string, body: unknown): Promise<T>;
|
|
16
20
|
getJobReceipt<T = unknown>(jobId: string): Promise<T>;
|
|
17
21
|
cancelJob<T = unknown>(jobId: string): Promise<T>;
|
|
22
|
+
downloadJobArtifact(jobId: string, artifactId: string): Promise<Blob>;
|
|
23
|
+
pollJobUntilTerminal<T extends {
|
|
24
|
+
status?: string;
|
|
25
|
+
} = {
|
|
26
|
+
status?: string;
|
|
27
|
+
}>(jobId: string, options?: {
|
|
28
|
+
intervalMs?: number;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
terminal?: string[];
|
|
31
|
+
}): Promise<T>;
|
|
18
32
|
streamInvocationEvents(executionId: string, options?: {
|
|
19
33
|
lastEventId?: string;
|
|
20
34
|
signal?: AbortSignal;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,0EAA0E;AAC1E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa;WAElD,CAAC,kBAAkB,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;kBAQxD,CAAC,yBAAyB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;eAIhD,CAAC,yBAAyB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;qBAIvC,CAAC,yBAAyB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;cAMpD,CAAC,kBAAkB,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;WAQlE,CAAC,mBAAmB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;iBAIjC,CAAC,mBAAmB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;oBAIpC,CAAC,eAAe,OAAO,CAAC,CAAC,CAAC;uBAIvB,CAAC,iBAAiB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;qBAIvC,CAAC,iBAAiB,MAAM,QAAQ,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;wBAQzE,CAAC,iBACd,MAAM,QACL,OAAO,SACP,WAAW,GAChB,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,0EAA0E;AAC1E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa;WAElD,CAAC,kBAAkB,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;kBAQxD,CAAC,yBAAyB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;eAIhD,CAAC,yBAAyB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;qBAIvC,CAAC,yBAAyB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;cAMpD,CAAC,kBAAkB,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;WAQlE,CAAC,mBAAmB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;iBAIjC,CAAC,mBAAmB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;oBAIpC,CAAC,eAAe,OAAO,CAAC,CAAC,CAAC;uBAIvB,CAAC,iBAAiB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;qBAIvC,CAAC,iBAAiB,MAAM,QAAQ,OAAO,SAAQ,WAAW,GAAQ,OAAO,CAAC,CAAC,CAAC;wBAQzE,CAAC,iBACd,MAAM,QACL,OAAO,SACP,WAAW,GAChB,OAAO,CAAC,CAAC,CAAC;qBAQI,CAAC,iBAAiB,MAAM,QAAQ,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;uBAOlD,CAAC,iBAAiB,MAAM,QAAQ,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;kBAOzD,CAAC,0BAA0B,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;8BAIlC,CAAC,0BAA0B,MAAM,QAAQ,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;kBAOzE,CAAC,mBAAmB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;cAI3C,CAAC,mBAAmB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;+BAItB,MAAM,cAAc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBAM1C,CAAC,SAAS;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;iBAAc,MAAM;cACnE,MAAM,YACJ;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1E,OAAO,CAAC,CAAC,CAAC;wCAqBE,MAAM,YACV;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACtD,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC;EAmB1D;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
package/dist/runtime.js
CHANGED
|
@@ -53,12 +53,51 @@ export function createHydraceptRuntimeApi(http) {
|
|
|
53
53
|
...init,
|
|
54
54
|
});
|
|
55
55
|
},
|
|
56
|
+
createComparison(key, body) {
|
|
57
|
+
return http.fetchJson(`/capabilities/${encodeURIComponent(key)}/comparisons`, {
|
|
58
|
+
method: 'POST',
|
|
59
|
+
body: JSON.stringify(body),
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
estimateComparison(key, body) {
|
|
63
|
+
return http.fetchJson(`/capabilities/${encodeURIComponent(key)}/comparisons/estimate`, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
body: JSON.stringify(body),
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
getComparison(comparisonId) {
|
|
69
|
+
return http.fetchJson(`/comparisons/${encodeURIComponent(comparisonId)}`);
|
|
70
|
+
},
|
|
71
|
+
submitComparisonJudgement(comparisonId, body) {
|
|
72
|
+
return http.fetchJson(`/comparisons/${encodeURIComponent(comparisonId)}/judgements`, {
|
|
73
|
+
method: 'POST',
|
|
74
|
+
body: JSON.stringify(body),
|
|
75
|
+
});
|
|
76
|
+
},
|
|
56
77
|
getJobReceipt(jobId) {
|
|
57
78
|
return http.fetchJson(`/jobs/${encodeURIComponent(jobId)}/receipt`);
|
|
58
79
|
},
|
|
59
80
|
cancelJob(jobId) {
|
|
60
81
|
return http.fetchJson(`/jobs/${encodeURIComponent(jobId)}/cancel`, { method: 'POST' });
|
|
61
82
|
},
|
|
83
|
+
downloadJobArtifact(jobId, artifactId) {
|
|
84
|
+
return http.fetchBlob(`/jobs/${encodeURIComponent(jobId)}/artifacts/${encodeURIComponent(artifactId)}`);
|
|
85
|
+
},
|
|
86
|
+
async pollJobUntilTerminal(jobId, options = {}) {
|
|
87
|
+
const intervalMs = options.intervalMs ?? 2000;
|
|
88
|
+
const terminal = new Set((options.terminal ?? ['succeeded', 'failed', 'canceled', 'cancelled']).map((s) => s.toLowerCase()));
|
|
89
|
+
for (;;) {
|
|
90
|
+
if (options.signal?.aborted) {
|
|
91
|
+
throw new DOMException('Aborted', 'AbortError');
|
|
92
|
+
}
|
|
93
|
+
const job = await http.fetchJsonWithRetry(`/jobs/${encodeURIComponent(jobId)}`);
|
|
94
|
+
const status = String(job.status ?? '').toLowerCase();
|
|
95
|
+
if (terminal.has(status)) {
|
|
96
|
+
return job;
|
|
97
|
+
}
|
|
98
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
99
|
+
}
|
|
100
|
+
},
|
|
62
101
|
streamInvocationEvents(executionId, options = {}) {
|
|
63
102
|
const token = http.options.getToken?.() ?? http.options.token ?? '';
|
|
64
103
|
const sseOptions = {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hydracept/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "One API for AI workloads in games — TypeScript client for Hydracept (BYOK, durable jobs, receipts).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
|
-
"README.md"
|
|
17
|
+
"README.md",
|
|
18
|
+
"CHANGELOG.md"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
21
|
"build": "tsc -p tsconfig.json",
|