@opengeni/sdk 0.52.1 → 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 +1078 -33
- 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-KIHGPM7H.js → chunk-2UXZUCEZ.js} +309 -46
- 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-FHI4DFIG.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-ILQZR5N6.js → chunk-FG3OO5LM.js} +3484 -750
- 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-DXDL7EEW.js → chunk-KWADQ227.js} +198 -114
- package/dist/chunk-KWADQ227.js.map +1 -0
- 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-MZWTWOX6.js → chunk-NC57YMUO.js} +447 -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-FRJFNDIR.js → chunk-YIKA2QT4.js} +37 -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 +843 -107
- package/dist/codex-realtime-controller.d.ts +6 -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 +28 -9
- package/dist/deprecation.d.ts +47 -0
- package/dist/desktop.d.ts +8 -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 +243 -124
- 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.d.ts +1 -0
- package/dist/gateway-realtime-transport.js +5 -3
- 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 +61 -12
- package/dist/index.js +277 -126
- package/dist/index.js.map +1 -1
- package/dist/interaction-revision-stream.d.ts +11 -0
- package/dist/interaction.d.ts +687 -5
- package/dist/interaction.js +32 -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 +6 -4
- package/dist/realtime.js +10 -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 +3048 -406
- 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-live-stream.d.ts +14 -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 +5162 -792
- package/src/codex-realtime-controller.ts +260 -12
- package/src/codex-realtime-lifecycle.ts +1 -0
- 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/desktop.ts +11 -1
- 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 +185 -4
- package/src/feedback.ts +20 -0
- package/src/gateway-realtime-transport.ts +253 -110
- package/src/github-repositories.ts +60 -0
- package/src/index.ts +603 -54
- package/src/interaction-revision-stream.ts +117 -0
- package/src/interaction.ts +1367 -51
- 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 +15 -4
- 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 +3607 -493
- 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-live-stream.ts +137 -0
- package/src/workspace-state.ts +8 -82
- package/dist/chunk-DXDL7EEW.js.map +0 -1
- package/dist/chunk-FHI4DFIG.js.map +0 -1
- package/dist/chunk-FRJFNDIR.js.map +0 -1
- package/dist/chunk-ILQZR5N6.js.map +0 -1
- package/dist/chunk-KIHGPM7H.js.map +0 -1
- package/dist/chunk-MZWTWOX6.js.map +0 -1
- package/dist/chunk-V5F253OG.js +0 -116
- package/dist/chunk-V5F253OG.js.map +0 -1
- package/dist/chunk-VWE2QIVO.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { OpenGeniClient, OpenGeniRequestOptions } from "./client.js";
|
|
2
|
+
import type { ClearWorkspaceAllowanceRequest, ClearWorkspaceAllowanceResponse, GetMyUsageRequest, GetUsageRequest, GrantWorkspaceCreditsRequest, MemberAllowance, SetMemberAllowanceRequest, SetWorkspaceAllowanceRequest, WorkspaceAllowance, WorkspaceAllowanceState, WorkspaceCreditGrant, WorkspaceUsageResponse } from "@opengeni/contracts/usage-allowances";
|
|
3
|
+
export type { AllowanceExhaustedRefusal, ClearWorkspaceAllowanceRequest, ClearWorkspaceAllowanceResponse, GetMyUsageRequest, GetUsageRequest, GrantWorkspaceCreditsRequest, MemberAllowance, MemberAllowanceDefault, MemberAllowanceRule, MemberAllowanceUsage, SetMemberAllowanceRequest, SetWorkspaceAllowanceRequest, UsageAllowancePeriod, UsageAllowanceStatus, UsageAllowanceWindow, WorkspaceAllowance, WorkspaceAllowanceConfig, WorkspaceAllowanceState, WorkspaceAllowanceUsage, WorkspaceCreditGrant, WorkspaceUsageResponse, } from "@opengeni/contracts/usage-allowances";
|
|
4
|
+
/** The one client capability these functions need. */
|
|
5
|
+
export type UsageAllowanceRequestClient = Pick<OpenGeniClient, "requestJson">;
|
|
6
|
+
/** A member target: canonical subject id, or an external identity. */
|
|
7
|
+
export type UsageAllowanceMemberTarget = string | {
|
|
8
|
+
source: string;
|
|
9
|
+
externalId: string;
|
|
10
|
+
};
|
|
11
|
+
/** Query strings for usage reads: only defined values, stringified. */
|
|
12
|
+
export declare function usageAllowanceQuery(query: GetUsageRequest): Record<string, string>;
|
|
13
|
+
/** Configuration, or null when no ceiling is configured. Budget-read authority. */
|
|
14
|
+
export declare function getWorkspaceAllowance(client: UsageAllowanceRequestClient, workspaceId: string): Promise<WorkspaceAllowance | null>;
|
|
15
|
+
/** Lifecycle version plus configuration; version survives a clear. Budget-read authority. */
|
|
16
|
+
export declare function getWorkspaceAllowanceState(client: UsageAllowanceRequestClient, workspaceId: string): Promise<WorkspaceAllowanceState>;
|
|
17
|
+
/**
|
|
18
|
+
* Set the workspace ceiling with exact-version compare-and-set. Requires a
|
|
19
|
+
* verified organization administrator or a full-access organization key.
|
|
20
|
+
*/
|
|
21
|
+
export declare function setWorkspaceAllowance(client: UsageAllowanceRequestClient, workspaceId: string, request: SetWorkspaceAllowanceRequest): Promise<WorkspaceAllowance>;
|
|
22
|
+
/** Remove the ceiling (not a refund or counter reset). Returns the next lifecycle version. */
|
|
23
|
+
export declare function clearWorkspaceAllowance(client: UsageAllowanceRequestClient, workspaceId: string, request: ClearWorkspaceAllowanceRequest): Promise<ClearWorkspaceAllowanceResponse>;
|
|
24
|
+
/** One-off credits on top of the included amount. Reuse the operationId to retry. */
|
|
25
|
+
export declare function grantWorkspaceCredits(client: UsageAllowanceRequestClient, workspaceId: string, request: GrantWorkspaceCreditsRequest): Promise<WorkspaceCreditGrant>;
|
|
26
|
+
/**
|
|
27
|
+
* Set or restore (`rule: null`) one member's ceiling with exact-version CAS.
|
|
28
|
+
* Shares may oversubscribe the pool; the workspace ceiling still binds.
|
|
29
|
+
*/
|
|
30
|
+
export declare function setMemberAllowance(client: UsageAllowanceRequestClient, workspaceId: string, member: UsageAllowanceMemberTarget, request: SetMemberAllowanceRequest): Promise<MemberAllowance>;
|
|
31
|
+
/** The paginated roster page. Workspace admin, organization admin, or org-key read. */
|
|
32
|
+
export declare function getUsage(client: UsageAllowanceRequestClient, workspaceId: string, query?: GetUsageRequest, options?: OpenGeniRequestOptions): Promise<WorkspaceUsageResponse>;
|
|
33
|
+
/** The caller's own row plus the workspace aggregate. Any authenticated member. */
|
|
34
|
+
export declare function getMyUsage(client: UsageAllowanceRequestClient, workspaceId: string, query?: GetMyUsageRequest, options?: OpenGeniRequestOptions): Promise<WorkspaceUsageResponse>;
|
|
35
|
+
/** Every roster page for one period (follows `nextCursor`). */
|
|
36
|
+
export declare function getAllUsage(client: UsageAllowanceRequestClient, workspaceId: string, query?: Omit<GetUsageRequest, "cursor">, options?: OpenGeniRequestOptions): Promise<WorkspaceUsageResponse>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// src/usage-allowances.ts
|
|
2
|
+
function workspacePath(workspaceId) {
|
|
3
|
+
return `/v1/workspaces/${encodeURIComponent(workspaceId)}`;
|
|
4
|
+
}
|
|
5
|
+
function usageAllowanceQuery(query) {
|
|
6
|
+
return Object.fromEntries(
|
|
7
|
+
Object.entries(query).filter(([, value]) => value !== void 0).map(([key, value]) => [key, String(value)])
|
|
8
|
+
);
|
|
9
|
+
}
|
|
10
|
+
async function getWorkspaceAllowance(client, workspaceId) {
|
|
11
|
+
return await client.requestJson("GET", `${workspacePath(workspaceId)}/allowance`);
|
|
12
|
+
}
|
|
13
|
+
async function getWorkspaceAllowanceState(client, workspaceId) {
|
|
14
|
+
return await client.requestJson("GET", `${workspacePath(workspaceId)}/allowance/state`);
|
|
15
|
+
}
|
|
16
|
+
async function setWorkspaceAllowance(client, workspaceId, request) {
|
|
17
|
+
return await client.requestJson("PUT", `${workspacePath(workspaceId)}/allowance`, request);
|
|
18
|
+
}
|
|
19
|
+
async function clearWorkspaceAllowance(client, workspaceId, request) {
|
|
20
|
+
return await client.requestJson("DELETE", `${workspacePath(workspaceId)}/allowance`, request);
|
|
21
|
+
}
|
|
22
|
+
async function grantWorkspaceCredits(client, workspaceId, request) {
|
|
23
|
+
return await client.requestJson(
|
|
24
|
+
"POST",
|
|
25
|
+
`${workspacePath(workspaceId)}/allowance/grants`,
|
|
26
|
+
request
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
async function setMemberAllowance(client, workspaceId, member, request) {
|
|
30
|
+
const path = typeof member === "string" ? encodeURIComponent(member) : `external/${encodeURIComponent(member.source)}/${encodeURIComponent(member.externalId)}`;
|
|
31
|
+
return await client.requestJson(
|
|
32
|
+
"PUT",
|
|
33
|
+
`${workspacePath(workspaceId)}/members/${path}/allowance`,
|
|
34
|
+
request
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
async function getUsage(client, workspaceId, query = {}, options = {}) {
|
|
38
|
+
return await client.requestJson(
|
|
39
|
+
"GET",
|
|
40
|
+
`${workspacePath(workspaceId)}/usage`,
|
|
41
|
+
void 0,
|
|
42
|
+
usageAllowanceQuery(query),
|
|
43
|
+
options
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
async function getMyUsage(client, workspaceId, query = {}, options = {}) {
|
|
47
|
+
return await client.requestJson(
|
|
48
|
+
"GET",
|
|
49
|
+
`${workspacePath(workspaceId)}/usage/me`,
|
|
50
|
+
void 0,
|
|
51
|
+
usageAllowanceQuery(query),
|
|
52
|
+
options
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
async function getAllUsage(client, workspaceId, query = {}, options = {}) {
|
|
56
|
+
const first = await getUsage(client, workspaceId, { limit: 200, ...query }, options);
|
|
57
|
+
const members = [...first.members];
|
|
58
|
+
let cursor = first.nextCursor;
|
|
59
|
+
const seen = /* @__PURE__ */ new Set();
|
|
60
|
+
while (cursor && !seen.has(cursor)) {
|
|
61
|
+
seen.add(cursor);
|
|
62
|
+
const page = await getUsage(client, workspaceId, { limit: 200, ...query, cursor }, options);
|
|
63
|
+
members.push(...page.members);
|
|
64
|
+
cursor = page.nextCursor;
|
|
65
|
+
}
|
|
66
|
+
return { ...first, members, nextCursor: null };
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
clearWorkspaceAllowance,
|
|
70
|
+
getAllUsage,
|
|
71
|
+
getMyUsage,
|
|
72
|
+
getUsage,
|
|
73
|
+
getWorkspaceAllowance,
|
|
74
|
+
getWorkspaceAllowanceState,
|
|
75
|
+
grantWorkspaceCredits,
|
|
76
|
+
setMemberAllowance,
|
|
77
|
+
setWorkspaceAllowance,
|
|
78
|
+
usageAllowanceQuery
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=usage-allowances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/usage-allowances.ts"],"sourcesContent":["// @opengeni/sdk/usage-allowances — usage allowance reads and administration as\n// free functions over any client's `requestJson`, so a browser console can use\n// them without widening the native browser client. The root `OpenGeniClient`\n// methods of the same names call the same routes.\n//\n// Amounts are integer USD micros (1 USD = 1,000,000). Display `fraction` and\n// `status` in products that must not show money; see docs/usage-allowances.md.\nimport type { OpenGeniClient, OpenGeniRequestOptions } from \"./client\";\nimport type {\n ClearWorkspaceAllowanceRequest,\n ClearWorkspaceAllowanceResponse,\n GetMyUsageRequest,\n GetUsageRequest,\n GrantWorkspaceCreditsRequest,\n MemberAllowance,\n SetMemberAllowanceRequest,\n SetWorkspaceAllowanceRequest,\n WorkspaceAllowance,\n WorkspaceAllowanceState,\n WorkspaceCreditGrant,\n WorkspaceUsageResponse,\n} from \"@opengeni/contracts/usage-allowances\";\n\nexport type {\n AllowanceExhaustedRefusal,\n ClearWorkspaceAllowanceRequest,\n ClearWorkspaceAllowanceResponse,\n GetMyUsageRequest,\n GetUsageRequest,\n GrantWorkspaceCreditsRequest,\n MemberAllowance,\n MemberAllowanceDefault,\n MemberAllowanceRule,\n MemberAllowanceUsage,\n SetMemberAllowanceRequest,\n SetWorkspaceAllowanceRequest,\n UsageAllowancePeriod,\n UsageAllowanceStatus,\n UsageAllowanceWindow,\n WorkspaceAllowance,\n WorkspaceAllowanceConfig,\n WorkspaceAllowanceState,\n WorkspaceAllowanceUsage,\n WorkspaceCreditGrant,\n WorkspaceUsageResponse,\n} from \"@opengeni/contracts/usage-allowances\";\n\n/** The one client capability these functions need. */\nexport type UsageAllowanceRequestClient = Pick<OpenGeniClient, \"requestJson\">;\n\n/** A member target: canonical subject id, or an external identity. */\nexport type UsageAllowanceMemberTarget = string | { source: string; externalId: string };\n\nfunction workspacePath(workspaceId: string): string {\n return `/v1/workspaces/${encodeURIComponent(workspaceId)}`;\n}\n\n/** Query strings for usage reads: only defined values, stringified. */\nexport function usageAllowanceQuery(query: GetUsageRequest): Record<string, string> {\n return Object.fromEntries(\n Object.entries(query)\n .filter(([, value]) => value !== undefined)\n .map(([key, value]) => [key, String(value)]),\n );\n}\n\n/** Configuration, or null when no ceiling is configured. Budget-read authority. */\nexport async function getWorkspaceAllowance(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n): Promise<WorkspaceAllowance | null> {\n return await client.requestJson(\"GET\", `${workspacePath(workspaceId)}/allowance`);\n}\n\n/** Lifecycle version plus configuration; version survives a clear. Budget-read authority. */\nexport async function getWorkspaceAllowanceState(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n): Promise<WorkspaceAllowanceState> {\n return await client.requestJson(\"GET\", `${workspacePath(workspaceId)}/allowance/state`);\n}\n\n/**\n * Set the workspace ceiling with exact-version compare-and-set. Requires a\n * verified organization administrator or a full-access organization key.\n */\nexport async function setWorkspaceAllowance(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n request: SetWorkspaceAllowanceRequest,\n): Promise<WorkspaceAllowance> {\n return await client.requestJson(\"PUT\", `${workspacePath(workspaceId)}/allowance`, request);\n}\n\n/** Remove the ceiling (not a refund or counter reset). Returns the next lifecycle version. */\nexport async function clearWorkspaceAllowance(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n request: ClearWorkspaceAllowanceRequest,\n): Promise<ClearWorkspaceAllowanceResponse> {\n return await client.requestJson(\"DELETE\", `${workspacePath(workspaceId)}/allowance`, request);\n}\n\n/** One-off credits on top of the included amount. Reuse the operationId to retry. */\nexport async function grantWorkspaceCredits(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n request: GrantWorkspaceCreditsRequest,\n): Promise<WorkspaceCreditGrant> {\n return await client.requestJson(\n \"POST\",\n `${workspacePath(workspaceId)}/allowance/grants`,\n request,\n );\n}\n\n/**\n * Set or restore (`rule: null`) one member's ceiling with exact-version CAS.\n * Shares may oversubscribe the pool; the workspace ceiling still binds.\n */\nexport async function setMemberAllowance(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n member: UsageAllowanceMemberTarget,\n request: SetMemberAllowanceRequest,\n): Promise<MemberAllowance> {\n const path =\n typeof member === \"string\"\n ? encodeURIComponent(member)\n : `external/${encodeURIComponent(member.source)}/${encodeURIComponent(member.externalId)}`;\n return await client.requestJson(\n \"PUT\",\n `${workspacePath(workspaceId)}/members/${path}/allowance`,\n request,\n );\n}\n\n/** The paginated roster page. Workspace admin, organization admin, or org-key read. */\nexport async function getUsage(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n query: GetUsageRequest = {},\n options: OpenGeniRequestOptions = {},\n): Promise<WorkspaceUsageResponse> {\n return await client.requestJson(\n \"GET\",\n `${workspacePath(workspaceId)}/usage`,\n undefined,\n usageAllowanceQuery(query),\n options,\n );\n}\n\n/** The caller's own row plus the workspace aggregate. Any authenticated member. */\nexport async function getMyUsage(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n query: GetMyUsageRequest = {},\n options: OpenGeniRequestOptions = {},\n): Promise<WorkspaceUsageResponse> {\n return await client.requestJson(\n \"GET\",\n `${workspacePath(workspaceId)}/usage/me`,\n undefined,\n usageAllowanceQuery(query),\n options,\n );\n}\n\n/** Every roster page for one period (follows `nextCursor`). */\nexport async function getAllUsage(\n client: UsageAllowanceRequestClient,\n workspaceId: string,\n query: Omit<GetUsageRequest, \"cursor\"> = {},\n options: OpenGeniRequestOptions = {},\n): Promise<WorkspaceUsageResponse> {\n const first = await getUsage(client, workspaceId, { limit: 200, ...query }, options);\n const members = [...first.members];\n let cursor = first.nextCursor;\n // Bounded: a cursor that repeats would otherwise loop forever.\n const seen = new Set<string>();\n while (cursor && !seen.has(cursor)) {\n seen.add(cursor);\n const page = await getUsage(client, workspaceId, { limit: 200, ...query, cursor }, options);\n members.push(...page.members);\n cursor = page.nextCursor;\n }\n return { ...first, members, nextCursor: null };\n}\n"],"mappings":";AAqDA,SAAS,cAAc,aAA6B;AAClD,SAAO,kBAAkB,mBAAmB,WAAW,CAAC;AAC1D;AAGO,SAAS,oBAAoB,OAAgD;AAClF,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EACjB,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS,EACzC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC;AAAA,EAC/C;AACF;AAGA,eAAsB,sBACpB,QACA,aACoC;AACpC,SAAO,MAAM,OAAO,YAAY,OAAO,GAAG,cAAc,WAAW,CAAC,YAAY;AAClF;AAGA,eAAsB,2BACpB,QACA,aACkC;AAClC,SAAO,MAAM,OAAO,YAAY,OAAO,GAAG,cAAc,WAAW,CAAC,kBAAkB;AACxF;AAMA,eAAsB,sBACpB,QACA,aACA,SAC6B;AAC7B,SAAO,MAAM,OAAO,YAAY,OAAO,GAAG,cAAc,WAAW,CAAC,cAAc,OAAO;AAC3F;AAGA,eAAsB,wBACpB,QACA,aACA,SAC0C;AAC1C,SAAO,MAAM,OAAO,YAAY,UAAU,GAAG,cAAc,WAAW,CAAC,cAAc,OAAO;AAC9F;AAGA,eAAsB,sBACpB,QACA,aACA,SAC+B;AAC/B,SAAO,MAAM,OAAO;AAAA,IAClB;AAAA,IACA,GAAG,cAAc,WAAW,CAAC;AAAA,IAC7B;AAAA,EACF;AACF;AAMA,eAAsB,mBACpB,QACA,aACA,QACA,SAC0B;AAC1B,QAAM,OACJ,OAAO,WAAW,WACd,mBAAmB,MAAM,IACzB,YAAY,mBAAmB,OAAO,MAAM,CAAC,IAAI,mBAAmB,OAAO,UAAU,CAAC;AAC5F,SAAO,MAAM,OAAO;AAAA,IAClB;AAAA,IACA,GAAG,cAAc,WAAW,CAAC,YAAY,IAAI;AAAA,IAC7C;AAAA,EACF;AACF;AAGA,eAAsB,SACpB,QACA,aACA,QAAyB,CAAC,GAC1B,UAAkC,CAAC,GACF;AACjC,SAAO,MAAM,OAAO;AAAA,IAClB;AAAA,IACA,GAAG,cAAc,WAAW,CAAC;AAAA,IAC7B;AAAA,IACA,oBAAoB,KAAK;AAAA,IACzB;AAAA,EACF;AACF;AAGA,eAAsB,WACpB,QACA,aACA,QAA2B,CAAC,GAC5B,UAAkC,CAAC,GACF;AACjC,SAAO,MAAM,OAAO;AAAA,IAClB;AAAA,IACA,GAAG,cAAc,WAAW,CAAC;AAAA,IAC7B;AAAA,IACA,oBAAoB,KAAK;AAAA,IACzB;AAAA,EACF;AACF;AAGA,eAAsB,YACpB,QACA,aACA,QAAyC,CAAC,GAC1C,UAAkC,CAAC,GACF;AACjC,QAAM,QAAQ,MAAM,SAAS,QAAQ,aAAa,EAAE,OAAO,KAAK,GAAG,MAAM,GAAG,OAAO;AACnF,QAAM,UAAU,CAAC,GAAG,MAAM,OAAO;AACjC,MAAI,SAAS,MAAM;AAEnB,QAAM,OAAO,oBAAI,IAAY;AAC7B,SAAO,UAAU,CAAC,KAAK,IAAI,MAAM,GAAG;AAClC,SAAK,IAAI,MAAM;AACf,UAAM,OAAO,MAAM,SAAS,QAAQ,aAAa,EAAE,OAAO,KAAK,GAAG,OAAO,OAAO,GAAG,OAAO;AAC1F,YAAQ,KAAK,GAAG,KAAK,OAAO;AAC5B,aAAS,KAAK;AAAA,EAChB;AACA,SAAO,EAAE,GAAG,OAAO,SAAS,YAAY,KAAK;AAC/C;","names":[]}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import type { ToolGatewayIdentity } from "./types.js";
|
|
2
|
+
export type WorkspaceArtifactSourceFile = {
|
|
3
|
+
path: string;
|
|
4
|
+
content: string;
|
|
5
|
+
};
|
|
6
|
+
export type WorkspaceArtifactSourceBundle = {
|
|
7
|
+
entrypoint: string;
|
|
8
|
+
files: WorkspaceArtifactSourceFile[];
|
|
9
|
+
};
|
|
1
10
|
export type WorkspaceArtifactVersion = {
|
|
2
11
|
id: string;
|
|
3
12
|
accountId: string;
|
|
@@ -5,8 +14,11 @@ export type WorkspaceArtifactVersion = {
|
|
|
5
14
|
artifactId: string;
|
|
6
15
|
revision: number;
|
|
7
16
|
contentType: "text/html";
|
|
8
|
-
contentSha256: string;
|
|
17
|
+
contentSha256: string | null;
|
|
9
18
|
sizeBytes: number;
|
|
19
|
+
sourceSha256: string | null;
|
|
20
|
+
sourceSizeBytes: number | null;
|
|
21
|
+
requestedTools: ToolGatewayIdentity[];
|
|
10
22
|
sourceSessionId: string | null;
|
|
11
23
|
sourceTurnId: string | null;
|
|
12
24
|
sourceAttemptId: string | null;
|
|
@@ -32,7 +44,7 @@ export type WorkspaceArtifactEvent = {
|
|
|
32
44
|
accountId: string;
|
|
33
45
|
workspaceId: string;
|
|
34
46
|
artifactId: string;
|
|
35
|
-
type: "published" | "rolled_back";
|
|
47
|
+
type: "published" | "rolled_back" | "archived" | "restored";
|
|
36
48
|
fromVersionId: string | null;
|
|
37
49
|
toVersionId: string;
|
|
38
50
|
sourceSessionId: string | null;
|
|
@@ -44,8 +56,10 @@ export type WorkspaceArtifactEvent = {
|
|
|
44
56
|
createdAt: string;
|
|
45
57
|
};
|
|
46
58
|
export type WorkspaceArtifactListOptions = {
|
|
59
|
+
sourceSessionId?: string;
|
|
47
60
|
limit?: number;
|
|
48
61
|
cursor?: string;
|
|
62
|
+
status?: WorkspaceArtifact["status"];
|
|
49
63
|
};
|
|
50
64
|
export type WorkspaceArtifactListResponse = {
|
|
51
65
|
artifacts: WorkspaceArtifact[];
|
|
@@ -63,8 +77,10 @@ export type WorkspaceArtifactContentResponse = {
|
|
|
63
77
|
artifactId: string;
|
|
64
78
|
versionId: string;
|
|
65
79
|
contentType: "text/html";
|
|
66
|
-
contentSha256: string;
|
|
80
|
+
contentSha256: string | null;
|
|
67
81
|
html: string;
|
|
82
|
+
source: WorkspaceArtifactSourceBundle;
|
|
83
|
+
requestedTools: ToolGatewayIdentity[];
|
|
68
84
|
};
|
|
69
85
|
export type WorkspaceArtifactMutationResponse = {
|
|
70
86
|
artifact: WorkspaceArtifact;
|
|
@@ -76,13 +92,19 @@ export type CreateWorkspaceArtifactRequest = {
|
|
|
76
92
|
slug?: string;
|
|
77
93
|
title: string;
|
|
78
94
|
description?: string | null;
|
|
79
|
-
html
|
|
95
|
+
html?: string;
|
|
96
|
+
uploadId?: string;
|
|
97
|
+
source?: WorkspaceArtifactSourceBundle;
|
|
98
|
+
requestedTools?: ToolGatewayIdentity[];
|
|
80
99
|
idempotencyKey: string;
|
|
81
100
|
};
|
|
82
101
|
export type PublishWorkspaceArtifactVersionRequest = {
|
|
83
102
|
title?: string;
|
|
84
103
|
description?: string | null;
|
|
85
|
-
html
|
|
104
|
+
html?: string;
|
|
105
|
+
uploadId?: string;
|
|
106
|
+
source?: WorkspaceArtifactSourceBundle;
|
|
107
|
+
requestedTools?: ToolGatewayIdentity[];
|
|
86
108
|
expectedCurrentVersionId: string;
|
|
87
109
|
idempotencyKey: string;
|
|
88
110
|
};
|
|
@@ -92,3 +114,9 @@ export type RollbackWorkspaceArtifactRequest = {
|
|
|
92
114
|
reason: string;
|
|
93
115
|
idempotencyKey: string;
|
|
94
116
|
};
|
|
117
|
+
export type SetWorkspaceArtifactStatusRequest = {
|
|
118
|
+
status: "active" | "archived";
|
|
119
|
+
expectedCurrentVersionId: string;
|
|
120
|
+
reason: string;
|
|
121
|
+
idempotencyKey: string;
|
|
122
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS = 262144;
|
|
2
2
|
export type WorkspaceInstructionPolicyKind = "charter" | "policy";
|
|
3
3
|
export type WorkspaceInstructionPolicyScope = "global" | "role";
|
|
4
|
-
export type WorkspaceInstructionPolicyProvenanceSource = "human" | "onboarding" | "knowledge_proposal" | "legacy_import";
|
|
5
|
-
export type WorkspaceInstructionPolicyDraftProvenanceSource = Exclude<WorkspaceInstructionPolicyProvenanceSource, "legacy_import">;
|
|
4
|
+
export type WorkspaceInstructionPolicyProvenanceSource = "human" | "onboarding" | "agent_learning" | "knowledge_proposal" | "legacy_import";
|
|
5
|
+
export type WorkspaceInstructionPolicyDraftProvenanceSource = Exclude<WorkspaceInstructionPolicyProvenanceSource, "legacy_import" | "agent_learning">;
|
|
6
6
|
export type WorkspaceInstructionPolicyActivationType = "activate" | "rollback";
|
|
7
7
|
export declare function normalizeWorkspaceInstructionPolicyRoleKey(value: string): string;
|
|
8
8
|
export type WorkspaceInstructionPolicyTarget = {
|
|
@@ -36,6 +36,11 @@ export type WorkspaceInstructionPolicyHead = WorkspaceInstructionPolicyTarget &
|
|
|
36
36
|
activationVersion: number;
|
|
37
37
|
activatedAt: string;
|
|
38
38
|
};
|
|
39
|
+
export type WorkspaceInstructionPolicyInactiveHead = WorkspaceInstructionPolicyTarget & {
|
|
40
|
+
workspaceId: string;
|
|
41
|
+
activationVersion: number;
|
|
42
|
+
deactivatedAt: string;
|
|
43
|
+
};
|
|
39
44
|
export type WorkspaceInstructionPolicyActivationEvent = WorkspaceInstructionPolicyTarget & {
|
|
40
45
|
id: string;
|
|
41
46
|
operationId: string;
|
|
@@ -49,6 +54,18 @@ export type WorkspaceInstructionPolicyActivationEvent = WorkspaceInstructionPoli
|
|
|
49
54
|
reason: string;
|
|
50
55
|
createdAt: string;
|
|
51
56
|
};
|
|
57
|
+
export type WorkspaceInstructionPolicyDeactivationEvent = WorkspaceInstructionPolicyTarget & {
|
|
58
|
+
id: string;
|
|
59
|
+
operationId: string;
|
|
60
|
+
accountId: string;
|
|
61
|
+
workspaceId: string;
|
|
62
|
+
type: "automatic_deactivate";
|
|
63
|
+
activationVersion: number;
|
|
64
|
+
oldRevision: WorkspaceInstructionPolicyRevisionIdentity;
|
|
65
|
+
actorSubjectId: string;
|
|
66
|
+
reason: string;
|
|
67
|
+
createdAt: string;
|
|
68
|
+
};
|
|
52
69
|
export type CreateWorkspaceInstructionPolicyDraftRequest = WorkspaceInstructionPolicyTarget & {
|
|
53
70
|
operationId?: string;
|
|
54
71
|
content: string;
|
|
@@ -70,7 +87,12 @@ export type WorkspaceInstructionPolicyListOptions = {
|
|
|
70
87
|
export type WorkspaceInstructionPolicyListResponse = {
|
|
71
88
|
revisions: WorkspaceInstructionPolicyRevision[];
|
|
72
89
|
activeHeads: WorkspaceInstructionPolicyHead[];
|
|
90
|
+
/** Additive current inactive target boundaries; absent on pre-controller servers. */
|
|
91
|
+
inactiveHeads?: WorkspaceInstructionPolicyInactiveHead[];
|
|
92
|
+
inactiveHeadsTruncated?: boolean;
|
|
73
93
|
activationEvents: WorkspaceInstructionPolicyActivationEvent[];
|
|
94
|
+
/** Additive lifecycle history; absent on pre-controller servers. */
|
|
95
|
+
deactivationEvents?: WorkspaceInstructionPolicyDeactivationEvent[];
|
|
74
96
|
nextAfterRevision: number | null;
|
|
75
97
|
};
|
|
76
98
|
export type WorkspaceInstructionPolicyDiffRequest = {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { CredentialProviderRequest, WorkspaceWebhookEvent } from "@opengeni/contracts";
|
|
2
|
+
import type { OpenGeniClient } from "./client.js";
|
|
3
|
+
import type { CreateOrganizationWebhookRequest, CreateOrganizationWebhookResponse, GetOrganizationCredentialProviderResponse, ListOrganizationWebhookDeliveriesResponse, ListOrganizationWebhooksResponse, OrganizationWebhook, OrganizationWebhookDelivery, PutOrganizationCredentialProviderRequest, PutOrganizationCredentialProviderResponse, RotateWorkspaceCredentialProviderSecretResponse, RotateOrganizationCredentialProviderSecretResponse, RotateWorkspaceWebhookSecretResponse, RotateOrganizationWebhookSecretResponse, TestWorkspaceCredentialProviderResponse, TestWorkspaceWebhookResponse, UpdateOrganizationWebhookRequest, WorkspaceInheritedIntegrationsResponse, WorkspaceWebhook } from "@opengeni/contracts";
|
|
4
|
+
export type { CreateOrganizationWebhookRequest, CreateOrganizationWebhookResponse, CreateWorkspaceWebhookRequest, CreateWorkspaceWebhookResponse, CredentialProviderRequest, CredentialProviderInitiatorContext, CredentialProviderResponse, CredentialProviderMcpHeaders, CredentialProviderMcpMaterial, GetOrganizationCredentialProviderResponse, GetWorkspaceCredentialProviderResponse, InitiatingHuman, IntegrationEndpointTestResult, IntegrationWorkspaceFilter, ListOrganizationWebhookDeliveriesResponse, ListOrganizationWebhooksResponse, ListWorkspaceWebhookDeliveriesResponse, ListWorkspaceWebhooksResponse, PutWorkspaceCredentialProviderRequest, PutWorkspaceCredentialProviderResponse, PutOrganizationCredentialProviderRequest, PutOrganizationCredentialProviderResponse, RotateWorkspaceCredentialProviderSecretResponse, RotateOrganizationCredentialProviderSecretResponse, RotateWorkspaceWebhookSecretResponse, RotateOrganizationWebhookSecretResponse, TestWorkspaceCredentialProviderResponse, TestWorkspaceWebhookResponse, OrganizationCredentialProvider, OrganizationWebhook, OrganizationWebhookDelivery, UpdateOrganizationWebhookRequest, UpdateWorkspaceWebhookRequest, WorkspaceCredentialProvider, WorkspaceInheritedIntegrationsResponse, WorkspaceTestWebhookEvent, WorkspaceWebhook, WorkspaceWebhookDelivery, WorkspaceWebhookEvent, WorkspaceWebhookEventType, SessionWorkspaceWebhookEvent, WorkspaceUsageWebhookEvent, } from "@opengeni/contracts";
|
|
5
|
+
export { OPENGENI_DELIVERY_ID_HEADER, OPENGENI_EVENT_ID_HEADER, OPENGENI_SIGNATURE_HEADER, OPENGENI_TEST_REQUEST_NIL_ID, OPENGENI_WEBHOOK_TEST_EVENT_TYPE, WORKSPACE_WEBHOOK_EVENT_TYPES, signOpenGeniPayload, verifyOpenGeniSignature, } from "@opengeni/contracts/workspace-integration-wire";
|
|
6
|
+
export type WorkspaceSandboxImages = {
|
|
7
|
+
images: string[];
|
|
8
|
+
selected: string | null;
|
|
9
|
+
};
|
|
10
|
+
export declare class OpenGeniSignatureError extends Error {
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
13
|
+
type SignedRequest = {
|
|
14
|
+
/** The exact raw request body. Parse it only after verification. */
|
|
15
|
+
body: string;
|
|
16
|
+
headers: Headers | Record<string, string | string[] | undefined>;
|
|
17
|
+
secret: string;
|
|
18
|
+
toleranceSeconds?: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Verify and parse one webhook delivery. Delivery is at least once: dedupe on
|
|
22
|
+
* `event.id` (also sent as the `OpenGeni-Event-Id` header). A `webhook.test`
|
|
23
|
+
* event (from "Send test event") names no session: acknowledge it with 2xx.
|
|
24
|
+
*/
|
|
25
|
+
export declare function verifyWebhookEvent(input: SignedRequest): Promise<{
|
|
26
|
+
event: WorkspaceWebhookEvent;
|
|
27
|
+
deliveryId: string | null;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Verify the exact bytes and parse a provider request, including its frozen
|
|
31
|
+
* initiatorContext when sent by an upgraded worker. Provenance grants no access.
|
|
32
|
+
*/
|
|
33
|
+
export declare function verifyCredentialProviderRequest(input: SignedRequest): Promise<CredentialProviderRequest>;
|
|
34
|
+
/** Identity header names, for receivers that log or dedupe. */
|
|
35
|
+
export declare const OPENGENI_WEBHOOK_HEADERS: {
|
|
36
|
+
readonly signature: "OpenGeni-Signature";
|
|
37
|
+
readonly eventId: "OpenGeni-Event-Id";
|
|
38
|
+
readonly deliveryId: "OpenGeni-Delivery-Id";
|
|
39
|
+
};
|
|
40
|
+
/** Server-side integration administration is opt-in, outside the eager browser client. */
|
|
41
|
+
export declare function getOrganizationCredentialProvider(client: Pick<OpenGeniClient, "requestJson">, organizationId: string): Promise<GetOrganizationCredentialProviderResponse>;
|
|
42
|
+
/** Replace configuration; explicit filter required. Store the first returned signing secret. */
|
|
43
|
+
export declare function putOrganizationCredentialProvider(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, request: PutOrganizationCredentialProviderRequest): Promise<PutOrganizationCredentialProviderResponse>;
|
|
44
|
+
export declare function deleteOrganizationCredentialProvider(client: Pick<OpenGeniClient, "requestJson">, organizationId: string): Promise<void>;
|
|
45
|
+
export declare function listOrganizationWebhooks(client: Pick<OpenGeniClient, "requestJson">, organizationId: string): Promise<ListOrganizationWebhooksResponse>;
|
|
46
|
+
/** Create a webhook and return its signing secret once. */
|
|
47
|
+
export declare function createOrganizationWebhook(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, request: CreateOrganizationWebhookRequest): Promise<CreateOrganizationWebhookResponse>;
|
|
48
|
+
export declare function getOrganizationWebhook(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, webhookId: string): Promise<OrganizationWebhook>;
|
|
49
|
+
export declare function updateOrganizationWebhook(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, webhookId: string, request: UpdateOrganizationWebhookRequest): Promise<OrganizationWebhook>;
|
|
50
|
+
export declare function deleteOrganizationWebhook(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, webhookId: string): Promise<void>;
|
|
51
|
+
export declare function listOrganizationWebhookDeliveries(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, webhookId: string, options?: {
|
|
52
|
+
limit?: number;
|
|
53
|
+
}): Promise<ListOrganizationWebhookDeliveriesResponse>;
|
|
54
|
+
/** Requeue a settled delivery with a fresh attempt budget. */
|
|
55
|
+
export declare function redeliverOrganizationWebhookDelivery(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, webhookId: string, deliveryId: string): Promise<OrganizationWebhookDelivery>;
|
|
56
|
+
export declare function getWorkspaceWebhook(client: Pick<OpenGeniClient, "requestJson">, workspaceId: string, webhookId: string): Promise<WorkspaceWebhook>;
|
|
57
|
+
/** Rotate immediately. Store the new secret; the old signing secret stops working. */
|
|
58
|
+
export declare function rotateWorkspaceCredentialProviderSecret(client: Pick<OpenGeniClient, "requestJson">, workspaceId: string): Promise<RotateWorkspaceCredentialProviderSecretResponse>;
|
|
59
|
+
export declare function rotateOrganizationCredentialProviderSecret(client: Pick<OpenGeniClient, "requestJson">, organizationId: string): Promise<RotateOrganizationCredentialProviderSecretResponse>;
|
|
60
|
+
export declare function rotateOrganizationWebhookSecret(client: Pick<OpenGeniClient, "requestJson">, organizationId: string, webhookId: string): Promise<RotateOrganizationWebhookSecretResponse>;
|
|
61
|
+
export declare function rotateWorkspaceWebhookSecret(client: Pick<OpenGeniClient, "requestJson">, workspaceId: string, webhookId: string): Promise<RotateWorkspaceWebhookSecretResponse>;
|
|
62
|
+
/**
|
|
63
|
+
* Send one signed `webhook.test` event to a workspace webhook now and return
|
|
64
|
+
* what the endpoint answered. Nothing is queued or retried.
|
|
65
|
+
*/
|
|
66
|
+
export declare function testWorkspaceWebhook(client: Pick<OpenGeniClient, "requestJson">, workspaceId: string, webhookId: string): Promise<TestWorkspaceWebhookResponse>;
|
|
67
|
+
/**
|
|
68
|
+
* Send one signed `purpose: "test"` request to the credential provider this
|
|
69
|
+
* workspace's runs use (its own, else the organization's). Only the names of
|
|
70
|
+
* returned credentials come back, never their values.
|
|
71
|
+
*/
|
|
72
|
+
export declare function testWorkspaceCredentialProvider(client: Pick<OpenGeniClient, "requestJson">, workspaceId: string): Promise<TestWorkspaceCredentialProviderResponse>;
|
|
73
|
+
/** Organization registrations that reach this workspace. Workspace administrators only. */
|
|
74
|
+
export declare function getWorkspaceInheritedIntegrations(client: Pick<OpenGeniClient, "requestJson">, workspaceId: string): Promise<WorkspaceInheritedIntegrationsResponse>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OPENGENI_DELIVERY_ID_HEADER,
|
|
3
|
+
OPENGENI_EVENT_ID_HEADER,
|
|
4
|
+
OPENGENI_SIGNATURE_HEADER,
|
|
5
|
+
OPENGENI_TEST_REQUEST_NIL_ID,
|
|
6
|
+
OPENGENI_WEBHOOK_HEADERS,
|
|
7
|
+
OPENGENI_WEBHOOK_TEST_EVENT_TYPE,
|
|
8
|
+
OpenGeniSignatureError,
|
|
9
|
+
WORKSPACE_WEBHOOK_EVENT_TYPES,
|
|
10
|
+
createOrganizationWebhook,
|
|
11
|
+
deleteOrganizationCredentialProvider,
|
|
12
|
+
deleteOrganizationWebhook,
|
|
13
|
+
getOrganizationCredentialProvider,
|
|
14
|
+
getOrganizationWebhook,
|
|
15
|
+
getWorkspaceInheritedIntegrations,
|
|
16
|
+
getWorkspaceWebhook,
|
|
17
|
+
listOrganizationWebhookDeliveries,
|
|
18
|
+
listOrganizationWebhooks,
|
|
19
|
+
putOrganizationCredentialProvider,
|
|
20
|
+
redeliverOrganizationWebhookDelivery,
|
|
21
|
+
rotateOrganizationCredentialProviderSecret,
|
|
22
|
+
rotateOrganizationWebhookSecret,
|
|
23
|
+
rotateWorkspaceCredentialProviderSecret,
|
|
24
|
+
rotateWorkspaceWebhookSecret,
|
|
25
|
+
signOpenGeniPayload,
|
|
26
|
+
testWorkspaceCredentialProvider,
|
|
27
|
+
testWorkspaceWebhook,
|
|
28
|
+
updateOrganizationWebhook,
|
|
29
|
+
verifyCredentialProviderRequest,
|
|
30
|
+
verifyOpenGeniSignature,
|
|
31
|
+
verifyWebhookEvent
|
|
32
|
+
} from "./chunk-WU6GQG25.js";
|
|
33
|
+
export {
|
|
34
|
+
OPENGENI_DELIVERY_ID_HEADER,
|
|
35
|
+
OPENGENI_EVENT_ID_HEADER,
|
|
36
|
+
OPENGENI_SIGNATURE_HEADER,
|
|
37
|
+
OPENGENI_TEST_REQUEST_NIL_ID,
|
|
38
|
+
OPENGENI_WEBHOOK_HEADERS,
|
|
39
|
+
OPENGENI_WEBHOOK_TEST_EVENT_TYPE,
|
|
40
|
+
OpenGeniSignatureError,
|
|
41
|
+
WORKSPACE_WEBHOOK_EVENT_TYPES,
|
|
42
|
+
createOrganizationWebhook,
|
|
43
|
+
deleteOrganizationCredentialProvider,
|
|
44
|
+
deleteOrganizationWebhook,
|
|
45
|
+
getOrganizationCredentialProvider,
|
|
46
|
+
getOrganizationWebhook,
|
|
47
|
+
getWorkspaceInheritedIntegrations,
|
|
48
|
+
getWorkspaceWebhook,
|
|
49
|
+
listOrganizationWebhookDeliveries,
|
|
50
|
+
listOrganizationWebhooks,
|
|
51
|
+
putOrganizationCredentialProvider,
|
|
52
|
+
redeliverOrganizationWebhookDelivery,
|
|
53
|
+
rotateOrganizationCredentialProviderSecret,
|
|
54
|
+
rotateOrganizationWebhookSecret,
|
|
55
|
+
rotateWorkspaceCredentialProviderSecret,
|
|
56
|
+
rotateWorkspaceWebhookSecret,
|
|
57
|
+
signOpenGeniPayload,
|
|
58
|
+
testWorkspaceCredentialProvider,
|
|
59
|
+
testWorkspaceWebhook,
|
|
60
|
+
updateOrganizationWebhook,
|
|
61
|
+
verifyCredentialProviderRequest,
|
|
62
|
+
verifyOpenGeniSignature,
|
|
63
|
+
verifyWebhookEvent
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=workspace-integrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export type WorkspaceLearningMode = "off" | "suggest" | "automatic";
|
|
2
|
+
export type WorkspaceLearningOverrideMode = WorkspaceLearningMode | "inherit";
|
|
3
|
+
export type WorkspaceLearningSourceOverrideInput = {
|
|
4
|
+
kind: string;
|
|
5
|
+
id: string;
|
|
6
|
+
mode: WorkspaceLearningOverrideMode;
|
|
7
|
+
};
|
|
8
|
+
export type WorkspaceLearningSourceOverride = Omit<WorkspaceLearningSourceOverrideInput, "mode"> & {
|
|
9
|
+
mode: WorkspaceLearningMode;
|
|
10
|
+
};
|
|
11
|
+
export type WorkspaceLearningPolicyRevisionIdentity = {
|
|
12
|
+
id: string;
|
|
13
|
+
revision: number;
|
|
14
|
+
policyHash: string;
|
|
15
|
+
};
|
|
16
|
+
export type WorkspaceLearningPolicyRevision = WorkspaceLearningPolicyRevisionIdentity & {
|
|
17
|
+
operationId: string;
|
|
18
|
+
accountId: string;
|
|
19
|
+
workspaceId: string;
|
|
20
|
+
workspaceMode: WorkspaceLearningMode;
|
|
21
|
+
sourceOverrides: WorkspaceLearningSourceOverride[];
|
|
22
|
+
supersedesRevisionId: string | null;
|
|
23
|
+
createdBySubjectId: string;
|
|
24
|
+
createdAt: string;
|
|
25
|
+
};
|
|
26
|
+
export type WorkspaceLearningPolicyHead = Omit<WorkspaceLearningPolicyRevisionIdentity, "id"> & {
|
|
27
|
+
accountId: string;
|
|
28
|
+
workspaceId: string;
|
|
29
|
+
revisionId: string;
|
|
30
|
+
activationVersion: number;
|
|
31
|
+
activatedAt: string;
|
|
32
|
+
};
|
|
33
|
+
export type WorkspaceLearningPolicyEvent = {
|
|
34
|
+
id: string;
|
|
35
|
+
operationId: string;
|
|
36
|
+
accountId: string;
|
|
37
|
+
workspaceId: string;
|
|
38
|
+
type: "activate" | "rollback";
|
|
39
|
+
activationVersion: number;
|
|
40
|
+
oldRevision: WorkspaceLearningPolicyRevisionIdentity | null;
|
|
41
|
+
newRevision: WorkspaceLearningPolicyRevisionIdentity;
|
|
42
|
+
actorSubjectId: string;
|
|
43
|
+
reason: string;
|
|
44
|
+
createdAt: string;
|
|
45
|
+
};
|
|
46
|
+
export type GovernedLearningDecisionReceipt = {
|
|
47
|
+
id: string;
|
|
48
|
+
sourceKind: "scoped-knowledge-evidence" | "task-note";
|
|
49
|
+
sourceId: string;
|
|
50
|
+
proposalId: string;
|
|
51
|
+
policySnapshotId: string;
|
|
52
|
+
policyRevisionId: string | null;
|
|
53
|
+
policyActivationVersion: number;
|
|
54
|
+
effectiveMode: WorkspaceLearningMode;
|
|
55
|
+
confidenceBps: number;
|
|
56
|
+
conflictCount: number;
|
|
57
|
+
outcome: "off" | "suggest" | "automatic" | "confidence" | "conflict" | "stale" | "revoked";
|
|
58
|
+
reasons: string[];
|
|
59
|
+
automaticEligible: boolean;
|
|
60
|
+
createdAt: string;
|
|
61
|
+
};
|
|
62
|
+
export type GovernedLearningActivationReceipt = {
|
|
63
|
+
id: string;
|
|
64
|
+
decisionReceiptId: string;
|
|
65
|
+
initiatingHumanSubjectId: string;
|
|
66
|
+
serviceActorSubjectId: string;
|
|
67
|
+
sourceKind: "scoped-knowledge-evidence" | "task-note";
|
|
68
|
+
sourceId: string;
|
|
69
|
+
destination: "instruction_policy" | "preference";
|
|
70
|
+
destinationRevisionId: string;
|
|
71
|
+
destinationOldRevisionId: string | null;
|
|
72
|
+
destinationOldContentHash: string | null;
|
|
73
|
+
destinationOldVersion: number;
|
|
74
|
+
destinationNewContentHash: string;
|
|
75
|
+
destinationNewVersion: number;
|
|
76
|
+
effectiveAt: string;
|
|
77
|
+
createdAt: string;
|
|
78
|
+
};
|
|
79
|
+
export type GovernedLearningActivationUndoReceipt = {
|
|
80
|
+
id: string;
|
|
81
|
+
activationReceiptId: string;
|
|
82
|
+
initiatingHumanSubjectId: string;
|
|
83
|
+
serviceActorSubjectId: string;
|
|
84
|
+
destination: "instruction_policy" | "preference";
|
|
85
|
+
destinationActivatedRevisionId: string;
|
|
86
|
+
destinationRestoredRevisionId: string | null;
|
|
87
|
+
destinationOldVersion: number;
|
|
88
|
+
destinationNewVersion: number;
|
|
89
|
+
effectiveAt: string;
|
|
90
|
+
createdAt: string;
|
|
91
|
+
};
|
|
92
|
+
export type WorkspaceLearningHistoryResponse = {
|
|
93
|
+
head: WorkspaceLearningPolicyHead | null;
|
|
94
|
+
revisions: WorkspaceLearningPolicyRevision[];
|
|
95
|
+
policyEvents: WorkspaceLearningPolicyEvent[];
|
|
96
|
+
decisions: GovernedLearningDecisionReceipt[];
|
|
97
|
+
activations: GovernedLearningActivationReceipt[];
|
|
98
|
+
undos: GovernedLearningActivationUndoReceipt[];
|
|
99
|
+
truncated: boolean;
|
|
100
|
+
effectiveBoundary: "next_accepted_attempt";
|
|
101
|
+
};
|
|
102
|
+
export type CreateWorkspaceLearningPolicyRevisionRequest = {
|
|
103
|
+
operationId?: string;
|
|
104
|
+
workspaceMode: WorkspaceLearningMode;
|
|
105
|
+
sourceOverrides?: WorkspaceLearningSourceOverrideInput[];
|
|
106
|
+
supersedesRevisionId?: string | null;
|
|
107
|
+
};
|
|
108
|
+
export type ActivateWorkspaceLearningPolicyRevisionRequest = {
|
|
109
|
+
operationId?: string;
|
|
110
|
+
expectedCurrentRevisionId: string | null;
|
|
111
|
+
expectedActivationVersion: number;
|
|
112
|
+
reason: string;
|
|
113
|
+
};
|
|
114
|
+
export type RollbackWorkspaceLearningPolicyRevisionRequest = ActivateWorkspaceLearningPolicyRevisionRequest & {
|
|
115
|
+
targetRevisionId: string;
|
|
116
|
+
expectedCurrentRevisionId: string;
|
|
117
|
+
};
|
|
118
|
+
export type WorkspaceLearningPolicyMutationResponse = {
|
|
119
|
+
head: WorkspaceLearningPolicyHead;
|
|
120
|
+
event: WorkspaceLearningPolicyEvent;
|
|
121
|
+
};
|
|
122
|
+
export type WorkspaceLearningHistoryOptions = {
|
|
123
|
+
limit?: number;
|
|
124
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WorkspaceInteractionRevisionEvent } from "./interaction.js";
|
|
2
|
+
import { type StreamSessionEventsOptions } from "./stream.js";
|
|
3
|
+
import type { WorkspaceControlEvent } from "./types.js";
|
|
4
|
+
export type WorkspaceLiveEvent = WorkspaceControlEvent | WorkspaceInteractionRevisionEvent;
|
|
5
|
+
export type WorkspaceLiveStreamOptions = Omit<StreamSessionEventsOptions, "after"> & {
|
|
6
|
+
controlAfter?: number;
|
|
7
|
+
interactionAfter?: number;
|
|
8
|
+
};
|
|
9
|
+
export type WorkspaceLiveStreamTransport = {
|
|
10
|
+
openStream: (controlAfter: number, interactionAfter: number, signal: AbortSignal | undefined) => Promise<ReadableStream<Uint8Array>>;
|
|
11
|
+
};
|
|
12
|
+
/** One reconnecting SSE connection with independent durable cursors. */
|
|
13
|
+
export declare function streamWorkspaceLiveEvents(transport: WorkspaceLiveStreamTransport, options?: WorkspaceLiveStreamOptions): AsyncGenerator<WorkspaceLiveEvent, void, void>;
|
|
14
|
+
export declare function parseWorkspaceLiveEvent(data: string): WorkspaceLiveEvent | null;
|
|
@@ -1,41 +1,4 @@
|
|
|
1
1
|
import type { WorkspaceInstructionPolicyKind, WorkspaceInstructionPolicyProvenanceSource, WorkspaceInstructionPolicyScope } from "./workspace-instruction-policies.js";
|
|
2
|
-
export type WorkspaceStateDocumentStatusCounts = {
|
|
3
|
-
queued: number;
|
|
4
|
-
indexing: number;
|
|
5
|
-
ready: number;
|
|
6
|
-
failed: number;
|
|
7
|
-
};
|
|
8
|
-
export type WorkspaceStateSourceKindCounts = {
|
|
9
|
-
manual_upload: number;
|
|
10
|
-
meeting_transcript: number;
|
|
11
|
-
repository: number;
|
|
12
|
-
email: number;
|
|
13
|
-
chat: number;
|
|
14
|
-
document: number;
|
|
15
|
-
web: number;
|
|
16
|
-
other: number;
|
|
17
|
-
};
|
|
18
|
-
export type WorkspaceStateDocumentAuthorityKindCounts = {
|
|
19
|
-
organization: number;
|
|
20
|
-
workspace: number;
|
|
21
|
-
personal: number;
|
|
22
|
-
};
|
|
23
|
-
export type WorkspaceStateMemoryStatusCounts = {
|
|
24
|
-
proposed: number;
|
|
25
|
-
approved: number;
|
|
26
|
-
rejected: number;
|
|
27
|
-
active: number;
|
|
28
|
-
superseded: number;
|
|
29
|
-
archived: number;
|
|
30
|
-
};
|
|
31
|
-
export type WorkspaceStateMemoryKindCounts = {
|
|
32
|
-
semantic: number;
|
|
33
|
-
episodic: number;
|
|
34
|
-
procedural: number;
|
|
35
|
-
decision: number;
|
|
36
|
-
preference: number;
|
|
37
|
-
};
|
|
38
|
-
export type WorkspaceStateGapCode = "no_document_bases" | "no_visible_documents" | "failed_documents" | "processing_documents" | "missing_topic_coverage" | "no_memory_records" | "pending_memory_review" | "partial_inventory";
|
|
39
2
|
export type WorkspaceStateGovernanceDriftStatus = "identical" | "changed" | "superseded" | "missing" | "unavailable" | "truncated";
|
|
40
3
|
export type WorkspaceStateGetOptions = {
|
|
41
4
|
attemptId?: string;
|
|
@@ -164,42 +127,16 @@ export type WorkspaceStateResponse = {
|
|
|
164
127
|
requiredPermission: "documents:search";
|
|
165
128
|
} | {
|
|
166
129
|
availability: "available";
|
|
130
|
+
authority: "knowledge_entries";
|
|
167
131
|
coverage: "complete" | "partial";
|
|
168
|
-
|
|
169
|
-
|
|
132
|
+
sampleLimit: 50;
|
|
133
|
+
entries: Array<{
|
|
170
134
|
id: string;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
basesTruncated: boolean;
|
|
177
|
-
inspectedVisibleDocumentCount: number;
|
|
178
|
-
documentStatusCounts: WorkspaceStateDocumentStatusCounts;
|
|
179
|
-
sourceKindCounts: WorkspaceStateSourceKindCounts;
|
|
180
|
-
authorityKindCounts: WorkspaceStateDocumentAuthorityKindCounts;
|
|
181
|
-
topics: Array<{
|
|
182
|
-
name: string;
|
|
183
|
-
documentCount: number;
|
|
184
|
-
}>;
|
|
185
|
-
topicsTruncated: boolean;
|
|
186
|
-
latestDocumentUpdatedAt: string | null;
|
|
187
|
-
memorySample: {
|
|
188
|
-
recordCount: number;
|
|
189
|
-
sampleLimit: 100;
|
|
190
|
-
limitReached: boolean;
|
|
191
|
-
statusCounts: WorkspaceStateMemoryStatusCounts;
|
|
192
|
-
kindCounts: WorkspaceStateMemoryKindCounts;
|
|
193
|
-
preferenceAuthority: {
|
|
194
|
-
kindCountSource: "knowledge_memories_legacy_observations";
|
|
195
|
-
activeAuthority: "structured_preference_registry";
|
|
196
|
-
};
|
|
197
|
-
latestUpdatedAt: string | null;
|
|
198
|
-
};
|
|
199
|
-
gaps: Array<{
|
|
200
|
-
code: WorkspaceStateGapCode;
|
|
201
|
-
severity: "info" | "warning";
|
|
202
|
-
relatedCount: number | null;
|
|
135
|
+
revisionId: string;
|
|
136
|
+
title: string;
|
|
137
|
+
kind: "source" | "fact" | "decision" | "requirement" | "incident" | "note" | "group";
|
|
138
|
+
scope: "organization" | "workspace" | "personal";
|
|
139
|
+
updatedAt: string;
|
|
203
140
|
}>;
|
|
204
141
|
};
|
|
205
142
|
};
|