@opengeni/sdk 0.57.0 → 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/README.md +1017 -26
- package/dist/accounts.d.ts +153 -0
- package/dist/accounts.js +307 -0
- package/dist/accounts.js.map +1 -0
- package/dist/adapters/express.d.ts +31 -0
- package/dist/adapters/express.js +87 -0
- package/dist/adapters/express.js.map +1 -0
- package/dist/adapters/hono.d.ts +16 -0
- package/dist/adapters/hono.js +8 -0
- package/dist/adapters/hono.js.map +1 -0
- package/dist/adapters/next.d.ts +29 -0
- package/dist/adapters/next.js +22 -0
- package/dist/adapters/next.js.map +1 -0
- package/dist/allowance-refusal.d.ts +2 -0
- package/dist/allowance-refusal.js +50 -0
- package/dist/allowance-refusal.js.map +1 -0
- package/dist/artifact-catalog.d.ts +31 -0
- package/dist/artifact-client.d.ts +23 -11
- package/dist/artifacts.d.ts +1 -1
- package/dist/artifacts.js +7 -5
- package/dist/automations-client.d.ts +17 -0
- package/dist/automations.d.ts +3 -0
- package/dist/automations.js +84 -0
- package/dist/automations.js.map +1 -0
- package/dist/browser.d.ts +11 -0
- package/dist/browser.js +47 -0
- package/dist/browser.js.map +1 -0
- package/dist/chat/fold.d.ts +75 -0
- package/dist/chat/handler.d.ts +41 -0
- package/dist/chat/http.d.ts +67 -0
- package/dist/chat/ids.d.ts +34 -0
- package/dist/chat/index.d.ts +9 -0
- package/dist/chat/index.js +1694 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/openai.d.ts +30 -0
- package/dist/chat/opengeni.d.ts +128 -0
- package/dist/chat/types.d.ts +207 -0
- package/dist/chat/vercel.d.ts +49 -0
- package/dist/chats.d.ts +8 -0
- package/dist/{chunk-JDLDDRNE.js → chunk-2UXZUCEZ.js} +291 -34
- package/dist/chunk-2UXZUCEZ.js.map +1 -0
- package/dist/chunk-4SMEOV3P.js +246 -0
- package/dist/chunk-4SMEOV3P.js.map +1 -0
- package/dist/{chunk-JRPFWI6T.js → chunk-AH5D5Q5V.js} +31 -35
- package/dist/chunk-AH5D5Q5V.js.map +1 -0
- package/dist/chunk-APXVSSSY.js +301 -0
- package/dist/chunk-APXVSSSY.js.map +1 -0
- package/dist/chunk-DUVIYER4.js +639 -0
- package/dist/chunk-DUVIYER4.js.map +1 -0
- package/dist/{chunk-PKQ377ED.js → chunk-FG3OO5LM.js} +2686 -611
- package/dist/chunk-FG3OO5LM.js.map +1 -0
- package/dist/chunk-GZYZT22T.js +260 -0
- package/dist/chunk-GZYZT22T.js.map +1 -0
- package/dist/chunk-HMGADJGZ.js +150 -0
- package/dist/chunk-HMGADJGZ.js.map +1 -0
- package/dist/{chunk-YKZME56C.js → chunk-KWADQ227.js} +3 -3
- package/dist/{chunk-YKZME56C.js.map → chunk-KWADQ227.js.map} +1 -1
- package/dist/chunk-LY2K6ELJ.js +126 -0
- package/dist/chunk-LY2K6ELJ.js.map +1 -0
- package/dist/chunk-MOTJYIYL.js +340 -0
- package/dist/chunk-MOTJYIYL.js.map +1 -0
- package/dist/{chunk-ST5DDKJP.js → chunk-NC57YMUO.js} +121 -3
- package/dist/chunk-NC57YMUO.js.map +1 -0
- package/dist/chunk-RWKB6YZG.js +1270 -0
- package/dist/chunk-RWKB6YZG.js.map +1 -0
- package/dist/chunk-U6CV2SXO.js +195 -0
- package/dist/chunk-U6CV2SXO.js.map +1 -0
- package/dist/chunk-UM4ZXXJR.js +9 -0
- package/dist/chunk-UM4ZXXJR.js.map +1 -0
- package/dist/chunk-V6GIY62B.js +229 -0
- package/dist/chunk-V6GIY62B.js.map +1 -0
- package/dist/chunk-WU6GQG25.js +268 -0
- package/dist/chunk-WU6GQG25.js.map +1 -0
- package/dist/{chunk-VWE2QIVO.js → chunk-XNG7YGR3.js} +23 -6
- package/dist/chunk-XNG7YGR3.js.map +1 -0
- package/dist/{chunk-HJ3HHUT5.js → chunk-YIKA2QT4.js} +33 -2
- package/dist/chunk-YIKA2QT4.js.map +1 -0
- package/dist/chunk-ZKPY6YAJ.js +135 -0
- package/dist/chunk-ZKPY6YAJ.js.map +1 -0
- package/dist/client.d.ts +740 -94
- package/dist/codex-realtime-controller.d.ts +3 -0
- package/dist/codex-realtime-controller.js +2 -2
- package/dist/codex-realtime-v3.d.ts +13 -2
- package/dist/company-brain.d.ts +22 -0
- package/dist/company-profile.d.ts +14 -1
- package/dist/core.d.ts +9 -3
- package/dist/core.js +25 -6
- package/dist/deprecation.d.ts +47 -0
- package/dist/document-authority-client.d.ts +51 -0
- package/dist/document-authority.d.ts +2 -0
- package/dist/document-authority.js +12 -0
- package/dist/document-authority.js.map +1 -0
- package/dist/editable-artifacts/browser-session.d.ts +7 -3
- package/dist/editable-artifacts/controller.d.ts +4 -1
- package/dist/editable-artifacts/errors.d.ts +1 -1
- package/dist/editable-artifacts/http-live-transport.d.ts +6 -2
- package/dist/editable-artifacts/index.d.ts +2 -0
- package/dist/editable-artifacts/open-failure.d.ts +9 -0
- package/dist/editable-artifacts/types.d.ts +6 -3
- package/dist/editable-artifacts/worker/kernel-adapter.d.ts +1 -1
- package/dist/editable-artifacts-worker.js +44 -17
- package/dist/editable-artifacts-worker.js.map +1 -1
- package/dist/editable-artifacts.js +240 -121
- package/dist/editable-artifacts.js.map +1 -1
- package/dist/embedding-client.d.ts +129 -0
- package/dist/errors.d.ts +36 -1
- package/dist/feedback.d.ts +23 -0
- package/dist/gateway-realtime-transport.js +1 -1
- package/dist/github-repositories.d.ts +10 -0
- package/dist/github-repositories.js +36 -0
- package/dist/github-repositories.js.map +1 -0
- package/dist/index.d.ts +56 -11
- package/dist/index.js +242 -125
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +84 -1
- package/dist/interaction.js +6 -1
- package/dist/knowledge.d.ts +7 -0
- package/dist/knowledge.js +20 -0
- package/dist/knowledge.js.map +1 -0
- package/dist/message-links.d.ts +68 -0
- package/dist/model-context.d.ts +68 -0
- package/dist/model-display.d.ts +2 -0
- package/dist/model-display.js +15 -0
- package/dist/model-display.js.map +1 -0
- package/dist/model-picker-order.d.ts +1 -0
- package/dist/model-picker-order.js +10 -0
- package/dist/model-picker-order.js.map +1 -0
- package/dist/organization-integration-policy.d.ts +26 -0
- package/dist/organization-integration-policy.js +26 -0
- package/dist/organization-integration-policy.js.map +1 -0
- package/dist/organization-private-session-settings.d.ts +6 -0
- package/dist/organization-private-session-settings.js +22 -0
- package/dist/organization-private-session-settings.js.map +1 -0
- package/dist/organization-user-setup.d.ts +8 -0
- package/dist/organization-user-setup.js +16 -0
- package/dist/organization-user-setup.js.map +1 -0
- package/dist/pr-review-client.d.ts +16 -0
- package/dist/pr-review.d.ts +4 -0
- package/dist/pr-review.js +62 -0
- package/dist/pr-review.js.map +1 -0
- package/dist/preference-registry.d.ts +9 -1
- package/dist/proxy.d.ts +7 -5
- package/dist/realtime.d.ts +3 -1
- package/dist/realtime.js +6 -6
- package/dist/realtime.js.map +1 -1
- package/dist/retained-artifacts.d.ts +5 -1
- package/dist/session-history-import.d.ts +22 -0
- package/dist/session-history-import.js +36 -0
- package/dist/session-history-import.js.map +1 -0
- package/dist/session-list-entries.d.ts +1 -0
- package/dist/session-list-entries.js +7 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-message-search.d.ts +53 -0
- package/dist/session-proxy-client.d.ts +24 -0
- package/dist/session-proxy.d.ts +245 -0
- package/dist/session-proxy.js +24 -0
- package/dist/session-proxy.js.map +1 -0
- package/dist/session-titles.d.ts +2 -0
- package/dist/site-browser-entry.d.ts +1 -0
- package/dist/site-browser-runtime.gen.d.ts +1 -0
- package/dist/site-document.d.ts +5 -0
- package/dist/site-document.js +20 -0
- package/dist/site-document.js.map +1 -0
- package/dist/site-document.test.d.ts +1 -0
- package/dist/site-http.d.ts +16 -0
- package/dist/site-tool-bridge.d.ts +44 -0
- package/dist/site.d.ts +101 -0
- package/dist/site.js +49 -0
- package/dist/site.js.map +1 -0
- package/dist/skills.d.ts +75 -0
- package/dist/stream.d.ts +2 -0
- package/dist/tenant-workspaces.d.ts +47 -0
- package/dist/tenant-workspaces.js +8 -0
- package/dist/tenant-workspaces.js.map +1 -0
- package/dist/tool-auth.d.ts +87 -0
- package/dist/tool-auth.js +23 -0
- package/dist/tool-auth.js.map +1 -0
- package/dist/tool-display-metadata.d.ts +3 -0
- package/dist/tools-FXBLUWAE.js +12 -0
- package/dist/tools-FXBLUWAE.js.map +1 -0
- package/dist/tools.d.ts +61 -0
- package/dist/types.d.ts +2863 -424
- package/dist/usage-allowances.d.ts +36 -0
- package/dist/usage-allowances.js +80 -0
- package/dist/usage-allowances.js.map +1 -0
- package/dist/workspace-artifacts.d.ts +33 -5
- package/dist/workspace-instruction-policies.d.ts +24 -2
- package/dist/workspace-integrations.d.ts +74 -0
- package/dist/workspace-integrations.js +65 -0
- package/dist/workspace-integrations.js.map +1 -0
- package/dist/workspace-learning.d.ts +124 -0
- package/dist/workspace-state.d.ts +8 -71
- package/package.json +108 -3
- package/src/accounts.ts +443 -0
- package/src/adapters/express.ts +136 -0
- package/src/adapters/hono.ts +18 -0
- package/src/adapters/next.ts +42 -0
- package/src/allowance-refusal.ts +5 -0
- package/src/artifact-catalog.ts +41 -0
- package/src/artifact-client.ts +43 -52
- package/src/artifacts.ts +7 -1
- package/src/automations-client.ts +124 -0
- package/src/automations.ts +15 -0
- package/src/browser.ts +54 -0
- package/src/chat/fold.ts +431 -0
- package/src/chat/handler.ts +240 -0
- package/src/chat/http.ts +257 -0
- package/src/chat/ids.ts +85 -0
- package/src/chat/index.ts +87 -0
- package/src/chat/openai.ts +439 -0
- package/src/chat/opengeni.ts +722 -0
- package/src/chat/types.ts +219 -0
- package/src/chat/vercel.ts +204 -0
- package/src/chats.ts +16 -0
- package/src/client.ts +4084 -515
- package/src/codex-realtime-controller.ts +235 -5
- package/src/codex-realtime-v3.ts +162 -31
- package/src/codex-realtime.ts +1 -1
- package/src/company-brain.ts +59 -0
- package/src/company-profile.ts +17 -1
- package/src/core.ts +23 -1
- package/src/deprecation.ts +149 -0
- package/src/document-authority-client.ts +219 -0
- package/src/document-authority.ts +17 -0
- package/src/editable-artifacts/browser-session.ts +36 -22
- package/src/editable-artifacts/controller.ts +102 -47
- package/src/editable-artifacts/errors.ts +2 -0
- package/src/editable-artifacts/http-live-transport.ts +62 -37
- package/src/editable-artifacts/index.ts +6 -0
- package/src/editable-artifacts/open-failure.ts +79 -0
- package/src/editable-artifacts/storage.ts +31 -40
- package/src/editable-artifacts/types.ts +6 -3
- package/src/editable-artifacts/worker/kernel-adapter.ts +23 -7
- package/src/editable-artifacts/worker/runtime.ts +26 -13
- package/src/editable-artifacts/worker/wire-codec.ts +23 -5
- package/src/embedding-client.ts +519 -0
- package/src/errors.ts +169 -2
- package/src/feedback.ts +20 -0
- package/src/gateway-realtime-transport.ts +3 -3
- package/src/github-repositories.ts +60 -0
- package/src/index.ts +561 -41
- package/src/interaction.ts +276 -4
- package/src/knowledge.ts +72 -0
- package/src/message-links.ts +178 -0
- package/src/model-context.ts +112 -0
- package/src/model-display.ts +10 -0
- package/src/model-picker-order.ts +6 -0
- package/src/organization-integration-policy.ts +54 -0
- package/src/organization-private-session-settings.ts +33 -0
- package/src/organization-user-setup.ts +31 -0
- package/src/pr-review-client.ts +92 -0
- package/src/pr-review.ts +17 -0
- package/src/preference-registry.ts +11 -0
- package/src/proxy.ts +17 -6
- package/src/realtime.ts +1 -0
- package/src/retained-artifacts.ts +101 -0
- package/src/session-history-import.ts +84 -0
- package/src/session-list-entries.ts +1 -0
- package/src/session-message-search.ts +47 -0
- package/src/session-proxy-client.ts +64 -0
- package/src/session-proxy.ts +1473 -0
- package/src/session-titles.ts +10 -0
- package/src/site-browser-entry.ts +6 -0
- package/src/site-browser-runtime.gen.ts +2 -0
- package/src/site-document.test.ts +64 -0
- package/src/site-document.ts +18 -0
- package/src/site-http.ts +162 -0
- package/src/site-tool-bridge.ts +146 -0
- package/src/site.ts +585 -0
- package/src/skills.ts +69 -0
- package/src/sse.ts +8 -2
- package/src/stream.ts +38 -4
- package/src/tenant-workspaces.ts +148 -0
- package/src/tool-auth.ts +301 -0
- package/src/tool-display-metadata.ts +19 -0
- package/src/tools.ts +396 -0
- package/src/types.ts +3346 -501
- package/src/usage-allowances.ts +189 -0
- package/src/workspace-artifacts.ts +40 -6
- package/src/workspace-instruction-policies.ts +26 -1
- package/src/workspace-integrations.ts +402 -0
- package/src/workspace-learning.ts +138 -0
- package/src/workspace-state.ts +8 -82
- package/dist/chunk-GU6JF75T.js +0 -119
- package/dist/chunk-GU6JF75T.js.map +0 -1
- package/dist/chunk-HJ3HHUT5.js.map +0 -1
- package/dist/chunk-JDLDDRNE.js.map +0 -1
- package/dist/chunk-JRPFWI6T.js.map +0 -1
- package/dist/chunk-PKQ377ED.js.map +0 -1
- package/dist/chunk-ST5DDKJP.js.map +0 -1
- package/dist/chunk-VWE2QIVO.js.map +0 -1
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
// @opengeni/sdk/usage-allowances — usage allowance reads and administration as
|
|
2
|
+
// free functions over any client's `requestJson`, so a browser console can use
|
|
3
|
+
// them without widening the native browser client. The root `OpenGeniClient`
|
|
4
|
+
// methods of the same names call the same routes.
|
|
5
|
+
//
|
|
6
|
+
// Amounts are integer USD micros (1 USD = 1,000,000). Display `fraction` and
|
|
7
|
+
// `status` in products that must not show money; see docs/usage-allowances.md.
|
|
8
|
+
import type { OpenGeniClient, OpenGeniRequestOptions } from "./client";
|
|
9
|
+
import type {
|
|
10
|
+
ClearWorkspaceAllowanceRequest,
|
|
11
|
+
ClearWorkspaceAllowanceResponse,
|
|
12
|
+
GetMyUsageRequest,
|
|
13
|
+
GetUsageRequest,
|
|
14
|
+
GrantWorkspaceCreditsRequest,
|
|
15
|
+
MemberAllowance,
|
|
16
|
+
SetMemberAllowanceRequest,
|
|
17
|
+
SetWorkspaceAllowanceRequest,
|
|
18
|
+
WorkspaceAllowance,
|
|
19
|
+
WorkspaceAllowanceState,
|
|
20
|
+
WorkspaceCreditGrant,
|
|
21
|
+
WorkspaceUsageResponse,
|
|
22
|
+
} from "@opengeni/contracts/usage-allowances";
|
|
23
|
+
|
|
24
|
+
export type {
|
|
25
|
+
AllowanceExhaustedRefusal,
|
|
26
|
+
ClearWorkspaceAllowanceRequest,
|
|
27
|
+
ClearWorkspaceAllowanceResponse,
|
|
28
|
+
GetMyUsageRequest,
|
|
29
|
+
GetUsageRequest,
|
|
30
|
+
GrantWorkspaceCreditsRequest,
|
|
31
|
+
MemberAllowance,
|
|
32
|
+
MemberAllowanceDefault,
|
|
33
|
+
MemberAllowanceRule,
|
|
34
|
+
MemberAllowanceUsage,
|
|
35
|
+
SetMemberAllowanceRequest,
|
|
36
|
+
SetWorkspaceAllowanceRequest,
|
|
37
|
+
UsageAllowancePeriod,
|
|
38
|
+
UsageAllowanceStatus,
|
|
39
|
+
UsageAllowanceWindow,
|
|
40
|
+
WorkspaceAllowance,
|
|
41
|
+
WorkspaceAllowanceConfig,
|
|
42
|
+
WorkspaceAllowanceState,
|
|
43
|
+
WorkspaceAllowanceUsage,
|
|
44
|
+
WorkspaceCreditGrant,
|
|
45
|
+
WorkspaceUsageResponse,
|
|
46
|
+
} from "@opengeni/contracts/usage-allowances";
|
|
47
|
+
|
|
48
|
+
/** The one client capability these functions need. */
|
|
49
|
+
export type UsageAllowanceRequestClient = Pick<OpenGeniClient, "requestJson">;
|
|
50
|
+
|
|
51
|
+
/** A member target: canonical subject id, or an external identity. */
|
|
52
|
+
export type UsageAllowanceMemberTarget = string | { source: string; externalId: string };
|
|
53
|
+
|
|
54
|
+
function workspacePath(workspaceId: string): string {
|
|
55
|
+
return `/v1/workspaces/${encodeURIComponent(workspaceId)}`;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Query strings for usage reads: only defined values, stringified. */
|
|
59
|
+
export function usageAllowanceQuery(query: GetUsageRequest): Record<string, string> {
|
|
60
|
+
return Object.fromEntries(
|
|
61
|
+
Object.entries(query)
|
|
62
|
+
.filter(([, value]) => value !== undefined)
|
|
63
|
+
.map(([key, value]) => [key, String(value)]),
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** Configuration, or null when no ceiling is configured. Budget-read authority. */
|
|
68
|
+
export async function getWorkspaceAllowance(
|
|
69
|
+
client: UsageAllowanceRequestClient,
|
|
70
|
+
workspaceId: string,
|
|
71
|
+
): Promise<WorkspaceAllowance | null> {
|
|
72
|
+
return await client.requestJson("GET", `${workspacePath(workspaceId)}/allowance`);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Lifecycle version plus configuration; version survives a clear. Budget-read authority. */
|
|
76
|
+
export async function getWorkspaceAllowanceState(
|
|
77
|
+
client: UsageAllowanceRequestClient,
|
|
78
|
+
workspaceId: string,
|
|
79
|
+
): Promise<WorkspaceAllowanceState> {
|
|
80
|
+
return await client.requestJson("GET", `${workspacePath(workspaceId)}/allowance/state`);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Set the workspace ceiling with exact-version compare-and-set. Requires a
|
|
85
|
+
* verified organization administrator or a full-access organization key.
|
|
86
|
+
*/
|
|
87
|
+
export async function setWorkspaceAllowance(
|
|
88
|
+
client: UsageAllowanceRequestClient,
|
|
89
|
+
workspaceId: string,
|
|
90
|
+
request: SetWorkspaceAllowanceRequest,
|
|
91
|
+
): Promise<WorkspaceAllowance> {
|
|
92
|
+
return await client.requestJson("PUT", `${workspacePath(workspaceId)}/allowance`, request);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/** Remove the ceiling (not a refund or counter reset). Returns the next lifecycle version. */
|
|
96
|
+
export async function clearWorkspaceAllowance(
|
|
97
|
+
client: UsageAllowanceRequestClient,
|
|
98
|
+
workspaceId: string,
|
|
99
|
+
request: ClearWorkspaceAllowanceRequest,
|
|
100
|
+
): Promise<ClearWorkspaceAllowanceResponse> {
|
|
101
|
+
return await client.requestJson("DELETE", `${workspacePath(workspaceId)}/allowance`, request);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** One-off credits on top of the included amount. Reuse the operationId to retry. */
|
|
105
|
+
export async function grantWorkspaceCredits(
|
|
106
|
+
client: UsageAllowanceRequestClient,
|
|
107
|
+
workspaceId: string,
|
|
108
|
+
request: GrantWorkspaceCreditsRequest,
|
|
109
|
+
): Promise<WorkspaceCreditGrant> {
|
|
110
|
+
return await client.requestJson(
|
|
111
|
+
"POST",
|
|
112
|
+
`${workspacePath(workspaceId)}/allowance/grants`,
|
|
113
|
+
request,
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Set or restore (`rule: null`) one member's ceiling with exact-version CAS.
|
|
119
|
+
* Shares may oversubscribe the pool; the workspace ceiling still binds.
|
|
120
|
+
*/
|
|
121
|
+
export async function setMemberAllowance(
|
|
122
|
+
client: UsageAllowanceRequestClient,
|
|
123
|
+
workspaceId: string,
|
|
124
|
+
member: UsageAllowanceMemberTarget,
|
|
125
|
+
request: SetMemberAllowanceRequest,
|
|
126
|
+
): Promise<MemberAllowance> {
|
|
127
|
+
const path =
|
|
128
|
+
typeof member === "string"
|
|
129
|
+
? encodeURIComponent(member)
|
|
130
|
+
: `external/${encodeURIComponent(member.source)}/${encodeURIComponent(member.externalId)}`;
|
|
131
|
+
return await client.requestJson(
|
|
132
|
+
"PUT",
|
|
133
|
+
`${workspacePath(workspaceId)}/members/${path}/allowance`,
|
|
134
|
+
request,
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** The paginated roster page. Workspace admin, organization admin, or org-key read. */
|
|
139
|
+
export async function getUsage(
|
|
140
|
+
client: UsageAllowanceRequestClient,
|
|
141
|
+
workspaceId: string,
|
|
142
|
+
query: GetUsageRequest = {},
|
|
143
|
+
options: OpenGeniRequestOptions = {},
|
|
144
|
+
): Promise<WorkspaceUsageResponse> {
|
|
145
|
+
return await client.requestJson(
|
|
146
|
+
"GET",
|
|
147
|
+
`${workspacePath(workspaceId)}/usage`,
|
|
148
|
+
undefined,
|
|
149
|
+
usageAllowanceQuery(query),
|
|
150
|
+
options,
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** The caller's own row plus the workspace aggregate. Any authenticated member. */
|
|
155
|
+
export async function getMyUsage(
|
|
156
|
+
client: UsageAllowanceRequestClient,
|
|
157
|
+
workspaceId: string,
|
|
158
|
+
query: GetMyUsageRequest = {},
|
|
159
|
+
options: OpenGeniRequestOptions = {},
|
|
160
|
+
): Promise<WorkspaceUsageResponse> {
|
|
161
|
+
return await client.requestJson(
|
|
162
|
+
"GET",
|
|
163
|
+
`${workspacePath(workspaceId)}/usage/me`,
|
|
164
|
+
undefined,
|
|
165
|
+
usageAllowanceQuery(query),
|
|
166
|
+
options,
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/** Every roster page for one period (follows `nextCursor`). */
|
|
171
|
+
export async function getAllUsage(
|
|
172
|
+
client: UsageAllowanceRequestClient,
|
|
173
|
+
workspaceId: string,
|
|
174
|
+
query: Omit<GetUsageRequest, "cursor"> = {},
|
|
175
|
+
options: OpenGeniRequestOptions = {},
|
|
176
|
+
): Promise<WorkspaceUsageResponse> {
|
|
177
|
+
const first = await getUsage(client, workspaceId, { limit: 200, ...query }, options);
|
|
178
|
+
const members = [...first.members];
|
|
179
|
+
let cursor = first.nextCursor;
|
|
180
|
+
// Bounded: a cursor that repeats would otherwise loop forever.
|
|
181
|
+
const seen = new Set<string>();
|
|
182
|
+
while (cursor && !seen.has(cursor)) {
|
|
183
|
+
seen.add(cursor);
|
|
184
|
+
const page = await getUsage(client, workspaceId, { limit: 200, ...query, cursor }, options);
|
|
185
|
+
members.push(...page.members);
|
|
186
|
+
cursor = page.nextCursor;
|
|
187
|
+
}
|
|
188
|
+
return { ...first, members, nextCursor: null };
|
|
189
|
+
}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
import type { ToolGatewayIdentity } from "./types";
|
|
2
|
+
|
|
3
|
+
export type WorkspaceArtifactSourceFile = {
|
|
4
|
+
path: string;
|
|
5
|
+
content: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type WorkspaceArtifactSourceBundle = {
|
|
9
|
+
entrypoint: string;
|
|
10
|
+
files: WorkspaceArtifactSourceFile[];
|
|
11
|
+
};
|
|
12
|
+
|
|
1
13
|
export type WorkspaceArtifactVersion = {
|
|
2
14
|
id: string;
|
|
3
15
|
accountId: string;
|
|
@@ -5,8 +17,11 @@ export type WorkspaceArtifactVersion = {
|
|
|
5
17
|
artifactId: string;
|
|
6
18
|
revision: number;
|
|
7
19
|
contentType: "text/html";
|
|
8
|
-
contentSha256: string;
|
|
20
|
+
contentSha256: string | null;
|
|
9
21
|
sizeBytes: number;
|
|
22
|
+
sourceSha256: string | null;
|
|
23
|
+
sourceSizeBytes: number | null;
|
|
24
|
+
requestedTools: ToolGatewayIdentity[];
|
|
10
25
|
sourceSessionId: string | null;
|
|
11
26
|
sourceTurnId: string | null;
|
|
12
27
|
sourceAttemptId: string | null;
|
|
@@ -34,7 +49,7 @@ export type WorkspaceArtifactEvent = {
|
|
|
34
49
|
accountId: string;
|
|
35
50
|
workspaceId: string;
|
|
36
51
|
artifactId: string;
|
|
37
|
-
type: "published" | "rolled_back";
|
|
52
|
+
type: "published" | "rolled_back" | "archived" | "restored";
|
|
38
53
|
fromVersionId: string | null;
|
|
39
54
|
toVersionId: string;
|
|
40
55
|
sourceSessionId: string | null;
|
|
@@ -46,7 +61,12 @@ export type WorkspaceArtifactEvent = {
|
|
|
46
61
|
createdAt: string;
|
|
47
62
|
};
|
|
48
63
|
|
|
49
|
-
export type WorkspaceArtifactListOptions = {
|
|
64
|
+
export type WorkspaceArtifactListOptions = {
|
|
65
|
+
sourceSessionId?: string;
|
|
66
|
+
limit?: number;
|
|
67
|
+
cursor?: string;
|
|
68
|
+
status?: WorkspaceArtifact["status"];
|
|
69
|
+
};
|
|
50
70
|
export type WorkspaceArtifactListResponse = {
|
|
51
71
|
artifacts: WorkspaceArtifact[];
|
|
52
72
|
nextCursor: string | null;
|
|
@@ -63,8 +83,10 @@ export type WorkspaceArtifactContentResponse = {
|
|
|
63
83
|
artifactId: string;
|
|
64
84
|
versionId: string;
|
|
65
85
|
contentType: "text/html";
|
|
66
|
-
contentSha256: string;
|
|
86
|
+
contentSha256: string | null;
|
|
67
87
|
html: string;
|
|
88
|
+
source: WorkspaceArtifactSourceBundle;
|
|
89
|
+
requestedTools: ToolGatewayIdentity[];
|
|
68
90
|
};
|
|
69
91
|
export type WorkspaceArtifactMutationResponse = {
|
|
70
92
|
artifact: WorkspaceArtifact;
|
|
@@ -76,13 +98,19 @@ export type CreateWorkspaceArtifactRequest = {
|
|
|
76
98
|
slug?: string;
|
|
77
99
|
title: string;
|
|
78
100
|
description?: string | null;
|
|
79
|
-
html
|
|
101
|
+
html?: string;
|
|
102
|
+
uploadId?: string;
|
|
103
|
+
source?: WorkspaceArtifactSourceBundle;
|
|
104
|
+
requestedTools?: ToolGatewayIdentity[];
|
|
80
105
|
idempotencyKey: string;
|
|
81
106
|
};
|
|
82
107
|
export type PublishWorkspaceArtifactVersionRequest = {
|
|
83
108
|
title?: string;
|
|
84
109
|
description?: string | null;
|
|
85
|
-
html
|
|
110
|
+
html?: string;
|
|
111
|
+
uploadId?: string;
|
|
112
|
+
source?: WorkspaceArtifactSourceBundle;
|
|
113
|
+
requestedTools?: ToolGatewayIdentity[];
|
|
86
114
|
expectedCurrentVersionId: string;
|
|
87
115
|
idempotencyKey: string;
|
|
88
116
|
};
|
|
@@ -92,3 +120,9 @@ export type RollbackWorkspaceArtifactRequest = {
|
|
|
92
120
|
reason: string;
|
|
93
121
|
idempotencyKey: string;
|
|
94
122
|
};
|
|
123
|
+
export type SetWorkspaceArtifactStatusRequest = {
|
|
124
|
+
status: "active" | "archived";
|
|
125
|
+
expectedCurrentVersionId: string;
|
|
126
|
+
reason: string;
|
|
127
|
+
idempotencyKey: string;
|
|
128
|
+
};
|
|
@@ -5,11 +5,12 @@ export type WorkspaceInstructionPolicyScope = "global" | "role";
|
|
|
5
5
|
export type WorkspaceInstructionPolicyProvenanceSource =
|
|
6
6
|
| "human"
|
|
7
7
|
| "onboarding"
|
|
8
|
+
| "agent_learning"
|
|
8
9
|
| "knowledge_proposal"
|
|
9
10
|
| "legacy_import";
|
|
10
11
|
export type WorkspaceInstructionPolicyDraftProvenanceSource = Exclude<
|
|
11
12
|
WorkspaceInstructionPolicyProvenanceSource,
|
|
12
|
-
"legacy_import"
|
|
13
|
+
"legacy_import" | "agent_learning"
|
|
13
14
|
>;
|
|
14
15
|
export type WorkspaceInstructionPolicyActivationType = "activate" | "rollback";
|
|
15
16
|
|
|
@@ -53,6 +54,12 @@ export type WorkspaceInstructionPolicyHead = WorkspaceInstructionPolicyTarget &
|
|
|
53
54
|
activatedAt: string;
|
|
54
55
|
};
|
|
55
56
|
|
|
57
|
+
export type WorkspaceInstructionPolicyInactiveHead = WorkspaceInstructionPolicyTarget & {
|
|
58
|
+
workspaceId: string;
|
|
59
|
+
activationVersion: number;
|
|
60
|
+
deactivatedAt: string;
|
|
61
|
+
};
|
|
62
|
+
|
|
56
63
|
export type WorkspaceInstructionPolicyActivationEvent = WorkspaceInstructionPolicyTarget & {
|
|
57
64
|
id: string;
|
|
58
65
|
operationId: string;
|
|
@@ -67,6 +74,19 @@ export type WorkspaceInstructionPolicyActivationEvent = WorkspaceInstructionPoli
|
|
|
67
74
|
createdAt: string;
|
|
68
75
|
};
|
|
69
76
|
|
|
77
|
+
export type WorkspaceInstructionPolicyDeactivationEvent = WorkspaceInstructionPolicyTarget & {
|
|
78
|
+
id: string;
|
|
79
|
+
operationId: string;
|
|
80
|
+
accountId: string;
|
|
81
|
+
workspaceId: string;
|
|
82
|
+
type: "automatic_deactivate";
|
|
83
|
+
activationVersion: number;
|
|
84
|
+
oldRevision: WorkspaceInstructionPolicyRevisionIdentity;
|
|
85
|
+
actorSubjectId: string;
|
|
86
|
+
reason: string;
|
|
87
|
+
createdAt: string;
|
|
88
|
+
};
|
|
89
|
+
|
|
70
90
|
export type CreateWorkspaceInstructionPolicyDraftRequest = WorkspaceInstructionPolicyTarget & {
|
|
71
91
|
operationId?: string;
|
|
72
92
|
content: string;
|
|
@@ -91,7 +111,12 @@ export type WorkspaceInstructionPolicyListOptions = {
|
|
|
91
111
|
export type WorkspaceInstructionPolicyListResponse = {
|
|
92
112
|
revisions: WorkspaceInstructionPolicyRevision[];
|
|
93
113
|
activeHeads: WorkspaceInstructionPolicyHead[];
|
|
114
|
+
/** Additive current inactive target boundaries; absent on pre-controller servers. */
|
|
115
|
+
inactiveHeads?: WorkspaceInstructionPolicyInactiveHead[];
|
|
116
|
+
inactiveHeadsTruncated?: boolean;
|
|
94
117
|
activationEvents: WorkspaceInstructionPolicyActivationEvent[];
|
|
118
|
+
/** Additive lifecycle history; absent on pre-controller servers. */
|
|
119
|
+
deactivationEvents?: WorkspaceInstructionPolicyDeactivationEvent[];
|
|
95
120
|
nextAfterRevision: number | null;
|
|
96
121
|
};
|
|
97
122
|
|