@kortix/sdk 0.10.15 → 0.11.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 +17 -2
- package/dist/browser/session-sync/session-sync-registry.d.ts +3 -0
- package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
- package/dist/browser/session-sync/session-sync-registry.js +31 -2
- package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
- package/dist/core/acp/client.d.ts +45 -0
- package/dist/core/acp/client.d.ts.map +1 -0
- package/dist/core/acp/client.js +277 -0
- package/dist/core/acp/client.js.map +1 -0
- package/dist/core/acp/index.d.ts +5 -0
- package/dist/core/acp/index.d.ts.map +1 -0
- package/dist/core/acp/index.js +5 -0
- package/dist/core/acp/index.js.map +1 -0
- package/dist/core/acp/projection.d.ts +23 -0
- package/dist/core/acp/projection.d.ts.map +1 -0
- package/dist/core/acp/projection.js +603 -0
- package/dist/core/acp/projection.js.map +1 -0
- package/dist/core/acp/session-controller.d.ts +90 -0
- package/dist/core/acp/session-controller.d.ts.map +1 -0
- package/dist/core/acp/session-controller.js +530 -0
- package/dist/core/acp/session-controller.js.map +1 -0
- package/dist/core/acp/types.d.ts +66 -0
- package/dist/core/acp/types.d.ts.map +1 -0
- package/dist/core/acp/types.js +21 -0
- package/dist/core/acp/types.js.map +1 -0
- package/dist/core/client/kortix.d.ts +141 -14
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +40 -7
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +48 -68
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/platform-client/host-boundary.d.ts +114 -0
- package/dist/core/rest/platform-client/host-boundary.d.ts.map +1 -0
- package/dist/core/rest/platform-client/host-boundary.js +229 -0
- package/dist/core/rest/platform-client/host-boundary.js.map +1 -0
- package/dist/core/rest/platform-client/index.d.ts +1 -0
- package/dist/core/rest/platform-client/index.d.ts.map +1 -1
- package/dist/core/rest/platform-client/index.js +1 -0
- package/dist/core/rest/platform-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/account-lifecycle.d.ts +22 -0
- package/dist/core/rest/projects-client/account-lifecycle.d.ts.map +1 -0
- package/dist/core/rest/projects-client/account-lifecycle.js +26 -0
- package/dist/core/rest/projects-client/account-lifecycle.js.map +1 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts +10 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts.map +1 -0
- package/dist/core/rest/projects-client/admin-providers.js +34 -0
- package/dist/core/rest/projects-client/admin-providers.js.map +1 -0
- package/dist/core/rest/projects-client/agent-config.d.ts +7 -0
- package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
- package/dist/core/rest/projects-client/agent-config.js.map +1 -1
- package/dist/core/rest/projects-client/billing.d.ts +89 -0
- package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
- package/dist/core/rest/projects-client/billing.js +43 -0
- package/dist/core/rest/projects-client/billing.js.map +1 -1
- package/dist/core/rest/projects-client/channels.d.ts +8 -27
- package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
- package/dist/core/rest/projects-client/channels.js +12 -23
- package/dist/core/rest/projects-client/channels.js.map +1 -1
- package/dist/core/rest/projects-client/connectors.d.ts +162 -13
- package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
- package/dist/core/rest/projects-client/connectors.js +64 -2
- package/dist/core/rest/projects-client/connectors.js.map +1 -1
- package/dist/core/rest/projects-client/gateway.d.ts +1 -0
- package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
- package/dist/core/rest/projects-client/gateway.js.map +1 -1
- package/dist/core/rest/projects-client/iam.d.ts +492 -0
- package/dist/core/rest/projects-client/iam.d.ts.map +1 -0
- package/dist/core/rest/projects-client/iam.js +287 -0
- package/dist/core/rest/projects-client/iam.js.map +1 -0
- package/dist/core/rest/projects-client/index.d.ts +6 -0
- package/dist/core/rest/projects-client/index.d.ts.map +1 -1
- package/dist/core/rest/projects-client/index.js +6 -0
- package/dist/core/rest/projects-client/index.js.map +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts +9 -2
- package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -1
- package/dist/core/rest/projects-client/marketplace-catalog.js +7 -0
- package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -1
- package/dist/core/rest/projects-client/presentations.d.ts +12 -0
- package/dist/core/rest/projects-client/presentations.d.ts.map +1 -0
- package/dist/core/rest/projects-client/presentations.js +9 -0
- package/dist/core/rest/projects-client/presentations.js.map +1 -0
- package/dist/core/rest/projects-client/projects.d.ts +55 -10
- package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
- package/dist/core/rest/projects-client/projects.js +14 -7
- package/dist/core/rest/projects-client/projects.js.map +1 -1
- package/dist/core/rest/projects-client/public-voice-join.d.ts +59 -0
- package/dist/core/rest/projects-client/public-voice-join.d.ts.map +1 -0
- package/dist/core/rest/projects-client/public-voice-join.js +64 -0
- package/dist/core/rest/projects-client/public-voice-join.js.map +1 -0
- package/dist/core/rest/projects-client/referrals.d.ts +53 -0
- package/dist/core/rest/projects-client/referrals.d.ts.map +1 -0
- package/dist/core/rest/projects-client/referrals.js +27 -0
- package/dist/core/rest/projects-client/referrals.js.map +1 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts +2 -0
- package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
- package/dist/core/rest/projects-client/session-sandbox.js +10 -0
- package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +89 -0
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +49 -1
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/core/session/index.d.ts +2 -0
- package/dist/core/session/index.d.ts.map +1 -1
- package/dist/core/session/index.js +2 -0
- package/dist/core/session/index.js.map +1 -1
- package/dist/core/session/presentation.d.ts +12 -0
- package/dist/core/session/presentation.d.ts.map +1 -0
- package/dist/core/session/presentation.js +70 -0
- package/dist/core/session/presentation.js.map +1 -0
- package/dist/core/session/rewind.d.ts +18 -0
- package/dist/core/session/rewind.d.ts.map +1 -0
- package/dist/core/session/rewind.js +17 -0
- package/dist/core/session/rewind.js.map +1 -0
- package/dist/core/session/runtime-transport.d.ts +16 -0
- package/dist/core/session/runtime-transport.d.ts.map +1 -0
- package/dist/core/session/runtime-transport.js +30 -0
- package/dist/core/session/runtime-transport.js.map +1 -0
- package/dist/core/session/url.d.ts +43 -0
- package/dist/core/session/url.d.ts.map +1 -1
- package/dist/core/session/url.js +81 -0
- package/dist/core/session/url.js.map +1 -1
- package/dist/core/session-sync/session-sync-controller.d.ts +28 -0
- package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
- package/dist/core/session-sync/session-sync-controller.js +127 -4
- package/dist/core/session-sync/session-sync-controller.js.map +1 -1
- package/dist/core/stream/fetch-sse.d.ts +23 -0
- package/dist/core/stream/fetch-sse.d.ts.map +1 -0
- package/dist/core/stream/fetch-sse.js +119 -0
- package/dist/core/stream/fetch-sse.js.map +1 -0
- package/dist/core/turns/state.d.ts.map +1 -1
- package/dist/core/turns/state.js +11 -4
- package/dist/core/turns/state.js.map +1 -1
- package/dist/core/turns/types.d.ts +6 -0
- package/dist/core/turns/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/kortix.esm.min.js +24 -16
- package/dist/kortix.global.js +24 -16
- package/dist/node/server.d.ts +14 -0
- package/dist/node/server.d.ts.map +1 -1
- package/dist/node/server.js +42 -0
- package/dist/node/server.js.map +1 -1
- package/dist/platform/auth-core.d.ts +3 -5
- package/dist/platform/auth-core.d.ts.map +1 -1
- package/dist/platform/auth-core.js +4 -6
- package/dist/platform/auth-core.js.map +1 -1
- package/dist/react/agent-selection-scope.d.ts +8 -0
- package/dist/react/agent-selection-scope.d.ts.map +1 -0
- package/dist/react/agent-selection-scope.js +4 -0
- package/dist/react/agent-selection-scope.js.map +1 -0
- package/dist/react/index.d.ts +13 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/initial-session-pin.d.ts +8 -0
- package/dist/react/initial-session-pin.d.ts.map +1 -0
- package/dist/react/initial-session-pin.js +4 -0
- package/dist/react/initial-session-pin.js.map +1 -0
- package/dist/react/opencode.d.ts +25 -2
- package/dist/react/opencode.d.ts.map +1 -1
- package/dist/react/opencode.js +24 -1
- package/dist/react/opencode.js.map +1 -1
- package/dist/react/provider-selection.d.ts +1 -0
- package/dist/react/provider-selection.d.ts.map +1 -1
- package/dist/react/provider-selection.js +22 -0
- package/dist/react/provider-selection.js.map +1 -1
- package/dist/react/run-pty-command.d.ts +5 -0
- package/dist/react/run-pty-command.d.ts.map +1 -0
- package/dist/react/run-pty-command.js +42 -0
- package/dist/react/run-pty-command.js.map +1 -0
- package/dist/react/runtime-actions.d.ts +51 -0
- package/dist/react/runtime-actions.d.ts.map +1 -0
- package/dist/react/runtime-actions.js +105 -0
- package/dist/react/runtime-actions.js.map +1 -0
- package/dist/react/session-agent-name-guard.d.ts +16 -0
- package/dist/react/session-agent-name-guard.d.ts.map +1 -0
- package/dist/react/session-agent-name-guard.js +22 -0
- package/dist/react/session-agent-name-guard.js.map +1 -0
- package/dist/react/session-busy.d.ts +8 -0
- package/dist/react/session-busy.d.ts.map +1 -0
- package/dist/react/session-busy.js +4 -0
- package/dist/react/session-busy.js.map +1 -0
- package/dist/react/session-title-sync.d.ts +19 -0
- package/dist/react/session-title-sync.d.ts.map +1 -0
- package/dist/react/session-title-sync.js +81 -0
- package/dist/react/session-title-sync.js.map +1 -0
- package/dist/react/use-acp-session-runtime.d.ts +34 -0
- package/dist/react/use-acp-session-runtime.d.ts.map +1 -0
- package/dist/react/use-acp-session-runtime.js +84 -0
- package/dist/react/use-acp-session-runtime.js.map +1 -0
- package/dist/react/use-admin-accounts.d.ts +122 -0
- package/dist/react/use-admin-accounts.d.ts.map +1 -0
- package/dist/react/use-admin-accounts.js +146 -0
- package/dist/react/use-admin-accounts.js.map +1 -0
- package/dist/react/use-admin-analytics.d.ts +332 -0
- package/dist/react/use-admin-analytics.d.ts.map +1 -0
- package/dist/react/use-admin-analytics.js +518 -0
- package/dist/react/use-admin-analytics.js.map +1 -0
- package/dist/react/use-admin-billing.d.ts +27 -0
- package/dist/react/use-admin-billing.d.ts.map +1 -0
- package/dist/react/use-admin-billing.js +61 -0
- package/dist/react/use-admin-billing.js.map +1 -0
- package/dist/react/use-admin-feedback.d.ts +119 -0
- package/dist/react/use-admin-feedback.d.ts.map +1 -0
- package/dist/react/use-admin-feedback.js +148 -0
- package/dist/react/use-admin-feedback.js.map +1 -0
- package/dist/react/use-admin-sandboxes.d.ts +157 -0
- package/dist/react/use-admin-sandboxes.d.ts.map +1 -0
- package/dist/react/use-admin-sandboxes.js +145 -0
- package/dist/react/use-admin-sandboxes.js.map +1 -0
- package/dist/react/use-admin-users.d.ts +98 -0
- package/dist/react/use-admin-users.d.ts.map +1 -0
- package/dist/react/use-admin-users.js +121 -0
- package/dist/react/use-admin-users.js.map +1 -0
- package/dist/react/use-authenticated-preview-url.d.ts +24 -0
- package/dist/react/use-authenticated-preview-url.d.ts.map +1 -0
- package/dist/react/use-authenticated-preview-url.js +137 -0
- package/dist/react/use-authenticated-preview-url.js.map +1 -0
- package/dist/react/use-canonical-opencode-session.d.ts +4 -0
- package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
- package/dist/react/use-canonical-opencode-session.js +9 -4
- package/dist/react/use-canonical-opencode-session.js.map +1 -1
- package/dist/react/use-model-defaults.d.ts +22 -0
- package/dist/react/use-model-defaults.d.ts.map +1 -0
- package/dist/react/use-model-defaults.js +104 -0
- package/dist/react/use-model-defaults.js.map +1 -0
- package/dist/react/use-model-store.d.ts.map +1 -1
- package/dist/react/use-model-store.js +11 -0
- package/dist/react/use-model-store.js.map +1 -1
- package/dist/react/use-opencode-events/index.d.ts +3 -1
- package/dist/react/use-opencode-events/index.d.ts.map +1 -1
- package/dist/react/use-opencode-events/index.js +6 -2
- package/dist/react/use-opencode-events/index.js.map +1 -1
- package/dist/react/use-opencode-local.d.ts.map +1 -1
- package/dist/react/use-opencode-local.js +10 -1
- package/dist/react/use-opencode-local.js.map +1 -1
- package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/agents.js +5 -3
- package/dist/react/use-opencode-sessions/agents.js.map +1 -1
- package/dist/react/use-opencode-sessions/commands.d.ts +7 -2
- package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/commands.js +13 -9
- package/dist/react/use-opencode-sessions/commands.js.map +1 -1
- package/dist/react/use-opencode-sessions/provider-load-plan.d.ts +6 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.d.ts.map +1 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.js +4 -0
- package/dist/react/use-opencode-sessions/provider-load-plan.js.map +1 -0
- package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/providers.js +39 -27
- package/dist/react/use-opencode-sessions/providers.js.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts +1 -1
- package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
- package/dist/react/use-opencode-sessions/sessions.js +2 -2
- package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
- package/dist/react/use-ops-overview.d.ts +64 -0
- package/dist/react/use-ops-overview.d.ts.map +1 -0
- package/dist/react/use-ops-overview.js +16 -0
- package/dist/react/use-ops-overview.js.map +1 -0
- package/dist/react/use-session-model-selection.d.ts +15 -0
- package/dist/react/use-session-model-selection.d.ts.map +1 -0
- package/dist/react/use-session-model-selection.js +27 -0
- package/dist/react/use-session-model-selection.js.map +1 -0
- package/dist/react/use-session-sync.d.ts.map +1 -1
- package/dist/react/use-session-sync.js +3 -1
- package/dist/react/use-session-sync.js.map +1 -1
- package/dist/react/use-session.d.ts +78 -4
- package/dist/react/use-session.d.ts.map +1 -1
- package/dist/react/use-session.js +329 -34
- package/dist/react/use-session.js.map +1 -1
- package/dist/react/use-system-status.d.ts +39 -0
- package/dist/react/use-system-status.d.ts.map +1 -0
- package/dist/react/use-system-status.js +68 -0
- package/dist/react/use-system-status.js.map +1 -0
- package/dist/react/use-teams-installations.d.ts +36 -0
- package/dist/react/use-teams-installations.d.ts.map +1 -0
- package/dist/react/use-teams-installations.js +94 -0
- package/dist/react/use-teams-installations.js.map +1 -0
- package/dist/react/use-tunnel.d.ts +120 -0
- package/dist/react/use-tunnel.d.ts.map +1 -0
- package/dist/react/use-tunnel.js +268 -0
- package/dist/react/use-tunnel.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { getClient } from '../core/runtime/client.js';
|
|
5
|
+
import { deriveSubdomainOpts, getActiveOpenCodeUrl, } from '../browser/stores/server-store.js';
|
|
6
|
+
import { buildStaticFileHealthPreviewUrl, buildStaticFilePreviewUrl, hasPreviewTarget, } from '../core/session/url.js';
|
|
7
|
+
import { useCurrentRuntime } from './use-current-runtime.js';
|
|
8
|
+
import { opencodeKeys, useOpenCodeRuntimeReady } from './use-opencode-sessions/keys.js';
|
|
9
|
+
function unwrapRuntimeResult(result) {
|
|
10
|
+
if (result.error) {
|
|
11
|
+
const error = result.error;
|
|
12
|
+
throw new Error(error.data?.message || error.message || 'Runtime request failed');
|
|
13
|
+
}
|
|
14
|
+
return result.data;
|
|
15
|
+
}
|
|
16
|
+
export function getRuntimeProjectInfo() {
|
|
17
|
+
return getClient().project.current().then(unwrapRuntimeResult);
|
|
18
|
+
}
|
|
19
|
+
export function getRuntimePathInfo() {
|
|
20
|
+
return getClient().path.get().then(unwrapRuntimeResult);
|
|
21
|
+
}
|
|
22
|
+
export function readRuntimeTextFile(path) {
|
|
23
|
+
return getClient().file.read({ path }).then(unwrapRuntimeResult);
|
|
24
|
+
}
|
|
25
|
+
export function getRuntimeProviderAuthMethods() {
|
|
26
|
+
return getClient().provider.auth().then(unwrapRuntimeResult);
|
|
27
|
+
}
|
|
28
|
+
export function authorizeRuntimeProvider(providerID, method) {
|
|
29
|
+
return getClient().provider.oauth.authorize({ providerID, method }).then(unwrapRuntimeResult);
|
|
30
|
+
}
|
|
31
|
+
export function completeRuntimeProviderOAuth(providerID, method, code) {
|
|
32
|
+
return getClient().provider.oauth.callback({
|
|
33
|
+
providerID,
|
|
34
|
+
method,
|
|
35
|
+
...(code ? { code } : {}),
|
|
36
|
+
}).then(unwrapRuntimeResult);
|
|
37
|
+
}
|
|
38
|
+
export function setRuntimeProviderApiKey(providerID, key) {
|
|
39
|
+
return getClient().auth.set({
|
|
40
|
+
providerID,
|
|
41
|
+
auth: { type: 'api', key },
|
|
42
|
+
}).then(unwrapRuntimeResult);
|
|
43
|
+
}
|
|
44
|
+
export function getRuntimeConfig() {
|
|
45
|
+
return getClient().global.config.get().then(unwrapRuntimeResult);
|
|
46
|
+
}
|
|
47
|
+
export function updateRuntimeConfig(config) {
|
|
48
|
+
return getClient().global.config.update({ config }).then(unwrapRuntimeResult);
|
|
49
|
+
}
|
|
50
|
+
export async function refreshRuntimeConfiguration() {
|
|
51
|
+
unwrapRuntimeResult(await getClient().global.dispose());
|
|
52
|
+
}
|
|
53
|
+
export function logRuntimeEvent(input) {
|
|
54
|
+
void getClient().app.log(input);
|
|
55
|
+
}
|
|
56
|
+
/** Opaque identity for caches that must reset when the active runtime changes. */
|
|
57
|
+
export function getRuntimeCacheKey() {
|
|
58
|
+
return getActiveOpenCodeUrl();
|
|
59
|
+
}
|
|
60
|
+
export function createActiveSandboxProxyContext() {
|
|
61
|
+
const subdomainOpts = deriveSubdomainOpts();
|
|
62
|
+
return {
|
|
63
|
+
serverUrl: getActiveOpenCodeUrl(),
|
|
64
|
+
subdomainOpts,
|
|
65
|
+
isReady: hasPreviewTarget(subdomainOpts),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Reactive form of `createActiveSandboxProxyContext`.
|
|
70
|
+
*
|
|
71
|
+
* The plain factory reads ambient state once. Anything that *renders* from it
|
|
72
|
+
* must re-read when the runtime binds, because the binding is asynchronous: a
|
|
73
|
+
* transcript paints as soon as messages load, which is routinely before
|
|
74
|
+
* `ensureReady()` resolves the sandbox. A component that memoized the factory's
|
|
75
|
+
* result on mount froze `sandboxId: ''` for its whole life and emitted
|
|
76
|
+
* `/v1/p//3000/` preview links forever after.
|
|
77
|
+
*
|
|
78
|
+
* `version` bumps on every `setCurrentRuntime`, so it is the exact invalidation
|
|
79
|
+
* signal — including the session-switch case, where the id changes but the
|
|
80
|
+
* shape does not.
|
|
81
|
+
*/
|
|
82
|
+
export function useActiveSandboxProxyContext() {
|
|
83
|
+
const version = useCurrentRuntime((state) => state.version);
|
|
84
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- `version` IS the dep;
|
|
85
|
+
// the factory reads module state that only changes when version bumps.
|
|
86
|
+
return useMemo(() => createActiveSandboxProxyContext(), [version]);
|
|
87
|
+
}
|
|
88
|
+
export function getActiveStaticFilePreviewUrl(path) {
|
|
89
|
+
return buildStaticFilePreviewUrl(path, deriveSubdomainOpts()) ?? '';
|
|
90
|
+
}
|
|
91
|
+
export function getActiveStaticFileHealthUrl() {
|
|
92
|
+
return buildStaticFileHealthPreviewUrl(deriveSubdomainOpts());
|
|
93
|
+
}
|
|
94
|
+
export function useRuntimeProjectInfo(options) {
|
|
95
|
+
const runtimeReady = useOpenCodeRuntimeReady();
|
|
96
|
+
return useQuery({
|
|
97
|
+
queryKey: opencodeKeys.currentProject(),
|
|
98
|
+
queryFn: getRuntimeProjectInfo,
|
|
99
|
+
enabled: runtimeReady && options?.enabled !== false,
|
|
100
|
+
staleTime: Infinity,
|
|
101
|
+
gcTime: 5 * 60_000,
|
|
102
|
+
refetchOnWindowFocus: false,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=runtime-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-actions.js","sourceRoot":"","sources":["../../src/react/runtime-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotency guard for `setSessionAgentName`.
|
|
3
|
+
*
|
|
4
|
+
* `setSessionAgentName` writes to a `useSyncExternalStore`-backed store whose
|
|
5
|
+
* snapshot identity changes on every write (a fresh `sessionAgentName` record).
|
|
6
|
+
* Without a read-then-write guard, any render/effect path that re-fires the
|
|
7
|
+
* setter with the SAME value drives an infinite render loop — React #185
|
|
8
|
+
* ("Maximum update depth exceeded"). See Better Stack pattern
|
|
9
|
+
* `351da94339c2eed61380ce8ef1c9e78c7afed102bc18707ef65c36f3049887eb`, which
|
|
10
|
+
* surfaced as `Object.setSessionAgentName` in the co-worker session page.
|
|
11
|
+
*
|
|
12
|
+
* Returning `false` here (no-op when the value is unchanged) is what breaks
|
|
13
|
+
* the loop: no store mutation → no snapshot change → no re-render → no re-fire.
|
|
14
|
+
*/
|
|
15
|
+
export declare function shouldSetSessionAgentName(current: string | undefined, next: string | undefined): boolean;
|
|
16
|
+
//# sourceMappingURL=session-agent-name-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-agent-name-guard.d.ts","sourceRoot":"","sources":["../../src/react/session-agent-name-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAMT"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotency guard for `setSessionAgentName`.
|
|
3
|
+
*
|
|
4
|
+
* `setSessionAgentName` writes to a `useSyncExternalStore`-backed store whose
|
|
5
|
+
* snapshot identity changes on every write (a fresh `sessionAgentName` record).
|
|
6
|
+
* Without a read-then-write guard, any render/effect path that re-fires the
|
|
7
|
+
* setter with the SAME value drives an infinite render loop — React #185
|
|
8
|
+
* ("Maximum update depth exceeded"). See Better Stack pattern
|
|
9
|
+
* `351da94339c2eed61380ce8ef1c9e78c7afed102bc18707ef65c36f3049887eb`, which
|
|
10
|
+
* surfaced as `Object.setSessionAgentName` in the co-worker session page.
|
|
11
|
+
*
|
|
12
|
+
* Returning `false` here (no-op when the value is unchanged) is what breaks
|
|
13
|
+
* the loop: no store mutation → no snapshot change → no re-render → no re-fire.
|
|
14
|
+
*/
|
|
15
|
+
export function shouldSetSessionAgentName(current, next) {
|
|
16
|
+
// Normalize so `undefined` (delete) and `''` (falsy → delete) are treated as
|
|
17
|
+
// the same "clear" intent, matching the setter's `if (name) ... else delete`.
|
|
18
|
+
const normalizedNext = next ? next : undefined;
|
|
19
|
+
const normalizedCurrent = current ? current : undefined;
|
|
20
|
+
return normalizedNext !== normalizedCurrent;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=session-agent-name-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-agent-name-guard.js","sourceRoot":"","sources":["../../src/react/session-agent-name-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA2B,EAC3B,IAAwB;IAExB,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,OAAO,cAAc,KAAK,iBAAiB,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-busy.d.ts","sourceRoot":"","sources":["../../src/react/session-busy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAEnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-busy.js","sourceRoot":"","sources":["../../src/react/session-busy.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,OAAO,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
2
|
+
type SessionTitleQueryClient = Pick<QueryClient, 'getQueryData' | 'refetchQueries'>;
|
|
3
|
+
interface SessionTitleRefreshOptions {
|
|
4
|
+
delaysMs?: number[];
|
|
5
|
+
signal?: AbortSignal;
|
|
6
|
+
sleep?: (delayMs: number, signal?: AbortSignal) => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function readAcpSessionTitle(sessionInfo: Record<string, unknown> | null): string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Refetch the authoritative Kortix session until its generated title appears.
|
|
11
|
+
*
|
|
12
|
+
* OpenCode generates titles asynchronously. ACP does not guarantee a
|
|
13
|
+
* session_info_update notification, so runtime events are only a fast path.
|
|
14
|
+
* This bounded loop covers both ACP and REST without permanent sidebar polling.
|
|
15
|
+
*/
|
|
16
|
+
export declare function refreshSessionTitleQueryUntilResolved(queryClient: SessionTitleQueryClient, projectId: string, sessionId: string, options?: SessionTitleRefreshOptions): Promise<boolean>;
|
|
17
|
+
export declare function syncAcpSessionTitleQuery(queryClient: Pick<QueryClient, 'refetchQueries'>, projectId: string, sessionId: string, sessionInfo: Record<string, unknown> | null): void;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=session-title-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-title-sync.d.ts","sourceRoot":"","sources":["../../src/react/session-title-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,KAAK,uBAAuB,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC;AAEpF,UAAU,0BAA0B;IAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAUD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE9F;AAsDD;;;;;;GAMG;AACH,wBAAsB,qCAAqC,CACzD,WAAW,EAAE,uBAAuB,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAChD,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC1C,IAAI,CAGN"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const DEFAULT_TITLE_REFRESH_DELAYS_MS = [0, 5_000, 5_000, 10_000, 10_000, 15_000, 20_000];
|
|
2
|
+
function readRealTitle(value) {
|
|
3
|
+
const title = typeof value === 'string' ? value.trim() : '';
|
|
4
|
+
if (!title || /^new session\b/i.test(title))
|
|
5
|
+
return null;
|
|
6
|
+
return title;
|
|
7
|
+
}
|
|
8
|
+
export function readAcpSessionTitle(sessionInfo) {
|
|
9
|
+
return readRealTitle(sessionInfo?.title);
|
|
10
|
+
}
|
|
11
|
+
function cachedSessionHasTitle(queryClient, projectId, sessionId) {
|
|
12
|
+
const list = queryClient.getQueryData(['project-sessions', projectId]);
|
|
13
|
+
const detail = queryClient.getQueryData(['project-session', projectId, sessionId]);
|
|
14
|
+
const candidates = [...(Array.isArray(list) ? list : []), detail];
|
|
15
|
+
return candidates.some((candidate) => {
|
|
16
|
+
if (!candidate || typeof candidate !== 'object')
|
|
17
|
+
return false;
|
|
18
|
+
const session = candidate;
|
|
19
|
+
const candidateId = typeof session.session_id === 'string'
|
|
20
|
+
? session.session_id
|
|
21
|
+
: typeof session.sessionId === 'string'
|
|
22
|
+
? session.sessionId
|
|
23
|
+
: null;
|
|
24
|
+
if (candidateId !== sessionId)
|
|
25
|
+
return false;
|
|
26
|
+
return Boolean(readRealTitle(session.custom_name) || readRealTitle(session.name));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function refetchSessionTitleQueries(queryClient, projectId, sessionId) {
|
|
30
|
+
return Promise.all([
|
|
31
|
+
queryClient.refetchQueries({
|
|
32
|
+
queryKey: ['project-sessions', projectId],
|
|
33
|
+
type: 'active',
|
|
34
|
+
}),
|
|
35
|
+
queryClient.refetchQueries({
|
|
36
|
+
queryKey: ['project-session', projectId, sessionId],
|
|
37
|
+
type: 'active',
|
|
38
|
+
}),
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
function sleep(delayMs, signal) {
|
|
42
|
+
if (delayMs <= 0 || signal?.aborted)
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
return new Promise((resolve) => {
|
|
45
|
+
const finish = () => {
|
|
46
|
+
clearTimeout(timer);
|
|
47
|
+
signal?.removeEventListener('abort', finish);
|
|
48
|
+
resolve();
|
|
49
|
+
};
|
|
50
|
+
const timer = setTimeout(finish, delayMs);
|
|
51
|
+
signal?.addEventListener('abort', finish, { once: true });
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Refetch the authoritative Kortix session until its generated title appears.
|
|
56
|
+
*
|
|
57
|
+
* OpenCode generates titles asynchronously. ACP does not guarantee a
|
|
58
|
+
* session_info_update notification, so runtime events are only a fast path.
|
|
59
|
+
* This bounded loop covers both ACP and REST without permanent sidebar polling.
|
|
60
|
+
*/
|
|
61
|
+
export async function refreshSessionTitleQueryUntilResolved(queryClient, projectId, sessionId, options = {}) {
|
|
62
|
+
const delays = options.delaysMs ?? DEFAULT_TITLE_REFRESH_DELAYS_MS;
|
|
63
|
+
const wait = options.sleep ?? sleep;
|
|
64
|
+
for (const delayMs of delays) {
|
|
65
|
+
await wait(delayMs, options.signal);
|
|
66
|
+
if (options.signal?.aborted)
|
|
67
|
+
return false;
|
|
68
|
+
if (cachedSessionHasTitle(queryClient, projectId, sessionId))
|
|
69
|
+
return true;
|
|
70
|
+
await refetchSessionTitleQueries(queryClient, projectId, sessionId);
|
|
71
|
+
if (cachedSessionHasTitle(queryClient, projectId, sessionId))
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
export function syncAcpSessionTitleQuery(queryClient, projectId, sessionId, sessionInfo) {
|
|
77
|
+
if (!readAcpSessionTitle(sessionInfo))
|
|
78
|
+
return;
|
|
79
|
+
void refetchSessionTitleQueries(queryClient, projectId, sessionId);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=session-title-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-title-sync.js","sourceRoot":"","sources":["../../src/react/session-title-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type AcpContentBlock } from '../core/acp/index.js';
|
|
2
|
+
export declare function cancelAcpSession(controller: {
|
|
3
|
+
cancel(): Promise<void>;
|
|
4
|
+
} | null): Promise<void>;
|
|
5
|
+
export declare function useAcpSessionRuntime(input: {
|
|
6
|
+
runtimeUrl: string | null;
|
|
7
|
+
sessionId: string | null;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
}): {
|
|
10
|
+
rewindState: {
|
|
11
|
+
messageId: string;
|
|
12
|
+
} | null;
|
|
13
|
+
send: (prompt: AcpContentBlock[], options?: {
|
|
14
|
+
model?: string | null;
|
|
15
|
+
agent?: string | null;
|
|
16
|
+
}) => Promise<void>;
|
|
17
|
+
cancel: () => Promise<void>;
|
|
18
|
+
runCommand: (command: string, args: string, options?: {
|
|
19
|
+
model?: string | null;
|
|
20
|
+
agent?: string | null;
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
rewind: (messageId: string) => Promise<void>;
|
|
23
|
+
restoreRewind: () => Promise<void>;
|
|
24
|
+
answerPermission: (requestId: string, reply: "once" | "always" | "reject") => Promise<void>;
|
|
25
|
+
answerQuestion: (requestId: string, answers: string[][]) => Promise<void>;
|
|
26
|
+
rejectQuestion: (requestId: string) => Promise<void>;
|
|
27
|
+
ready: boolean;
|
|
28
|
+
sending: boolean;
|
|
29
|
+
connection: "idle" | "connecting" | "open" | "closed" | "error";
|
|
30
|
+
error: Error | null;
|
|
31
|
+
projection: import("../index.js").AcpProjection;
|
|
32
|
+
configOptions: Array<Record<string, unknown>>;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=use-acp-session-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-acp-session-runtime.d.ts","sourceRoot":"","sources":["../../src/react/use-acp-session-runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,aAAa,CAAC;AAarB,wBAAsB,gBAAgB,CACpC,UAAU,EAAE;IAAE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;;;;mBAyBY,eAAe,EAAE,YAAY;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;0BAU5E,MAAM,QAAQ,MAAM,YAAY;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;wBAO9E,MAAM;;kCAWN,MAAM,SAAS,MAAM,GAAG,QAAQ,GAAG,QAAQ;gCAO3C,MAAM,WAAW,MAAM,EAAE,EAAE;gCAO3B,MAAM;;;;;;;EAmBrB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback, useEffect, useMemo, useSyncExternalStore } from 'react';
|
|
3
|
+
import { createAcpProjection, createAcpSessionController, } from '../core/acp/index.js';
|
|
4
|
+
const EMPTY_SNAPSHOT = {
|
|
5
|
+
ready: false,
|
|
6
|
+
sending: false,
|
|
7
|
+
connection: 'idle',
|
|
8
|
+
error: null,
|
|
9
|
+
projection: createAcpProjection(''),
|
|
10
|
+
configOptions: [],
|
|
11
|
+
rewind: null,
|
|
12
|
+
};
|
|
13
|
+
const noopSubscribe = () => () => { };
|
|
14
|
+
export async function cancelAcpSession(controller) {
|
|
15
|
+
if (!controller)
|
|
16
|
+
return;
|
|
17
|
+
await controller.cancel();
|
|
18
|
+
}
|
|
19
|
+
export function useAcpSessionRuntime(input) {
|
|
20
|
+
const controller = useMemo(() => input.runtimeUrl && input.sessionId
|
|
21
|
+
? createAcpSessionController({
|
|
22
|
+
runtimeUrl: input.runtimeUrl,
|
|
23
|
+
sessionId: input.sessionId,
|
|
24
|
+
})
|
|
25
|
+
: null, [input.runtimeUrl, input.sessionId]);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!input.enabled || !controller)
|
|
28
|
+
return;
|
|
29
|
+
void controller.connect().catch(() => { });
|
|
30
|
+
return () => controller.close();
|
|
31
|
+
}, [controller, input.enabled]);
|
|
32
|
+
const snapshot = useSyncExternalStore(controller?.subscribe ?? noopSubscribe, controller?.getSnapshot ?? (() => EMPTY_SNAPSHOT), controller?.getSnapshot ?? (() => EMPTY_SNAPSHOT));
|
|
33
|
+
const send = useCallback((prompt, options) => {
|
|
34
|
+
if (!controller)
|
|
35
|
+
throw new Error('ACP session runtime is not ready');
|
|
36
|
+
return controller.send(prompt, options);
|
|
37
|
+
}, [controller]);
|
|
38
|
+
const cancel = useCallback(async () => {
|
|
39
|
+
await cancelAcpSession(controller);
|
|
40
|
+
}, [controller]);
|
|
41
|
+
const runCommand = useCallback((command, args, options) => {
|
|
42
|
+
if (!controller)
|
|
43
|
+
throw new Error('ACP session runtime is not ready');
|
|
44
|
+
return controller.runCommand(command, args, options);
|
|
45
|
+
}, [controller]);
|
|
46
|
+
const rewind = useCallback((messageId) => {
|
|
47
|
+
if (!controller)
|
|
48
|
+
throw new Error('ACP session runtime is not ready');
|
|
49
|
+
return controller.rewind(messageId);
|
|
50
|
+
}, [controller]);
|
|
51
|
+
const restoreRewind = useCallback(() => {
|
|
52
|
+
if (!controller)
|
|
53
|
+
throw new Error('ACP session runtime is not ready');
|
|
54
|
+
return controller.restoreRewind();
|
|
55
|
+
}, [controller]);
|
|
56
|
+
const answerPermission = useCallback((requestId, reply) => {
|
|
57
|
+
if (!controller)
|
|
58
|
+
throw new Error('ACP session runtime is not ready');
|
|
59
|
+
return controller.answerPermission(requestId, reply);
|
|
60
|
+
}, [controller]);
|
|
61
|
+
const answerQuestion = useCallback((requestId, answers) => {
|
|
62
|
+
if (!controller)
|
|
63
|
+
throw new Error('ACP session runtime is not ready');
|
|
64
|
+
return controller.answerQuestion(requestId, answers);
|
|
65
|
+
}, [controller]);
|
|
66
|
+
const rejectQuestion = useCallback((requestId) => {
|
|
67
|
+
if (!controller)
|
|
68
|
+
throw new Error('ACP session runtime is not ready');
|
|
69
|
+
return controller.rejectQuestion(requestId);
|
|
70
|
+
}, [controller]);
|
|
71
|
+
return {
|
|
72
|
+
...snapshot,
|
|
73
|
+
rewindState: snapshot.rewind,
|
|
74
|
+
send,
|
|
75
|
+
cancel,
|
|
76
|
+
runCommand,
|
|
77
|
+
rewind,
|
|
78
|
+
restoreRewind,
|
|
79
|
+
answerPermission,
|
|
80
|
+
answerQuestion,
|
|
81
|
+
rejectQuestion,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=use-acp-session-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-acp-session-runtime.js","sourceRoot":"","sources":["../../src/react/use-acp-session-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export interface AdminAccount {
|
|
2
|
+
accountId: string;
|
|
3
|
+
name: string | null;
|
|
4
|
+
ownerEmail: string | null;
|
|
5
|
+
memberCount: number;
|
|
6
|
+
balance: string | null;
|
|
7
|
+
expiringCredits: string | null;
|
|
8
|
+
nonExpiringCredits: string | null;
|
|
9
|
+
dailyCreditsBalance: string | null;
|
|
10
|
+
tier: string | null;
|
|
11
|
+
paymentStatus: string | null;
|
|
12
|
+
provider: string | null;
|
|
13
|
+
planType: string | null;
|
|
14
|
+
stripeSubscriptionId: string | null;
|
|
15
|
+
billingCustomerId: string | null;
|
|
16
|
+
billingCustomerEmail: string | null;
|
|
17
|
+
createdAt: string | null;
|
|
18
|
+
}
|
|
19
|
+
export interface AdminAccountsSummary {
|
|
20
|
+
totalCredits: string;
|
|
21
|
+
paidCount: number;
|
|
22
|
+
negativeCount: number;
|
|
23
|
+
pastDueCount: number;
|
|
24
|
+
}
|
|
25
|
+
export interface AdminAccountsResponse {
|
|
26
|
+
accounts: AdminAccount[];
|
|
27
|
+
total: number;
|
|
28
|
+
page: number;
|
|
29
|
+
limit: number;
|
|
30
|
+
summary: AdminAccountsSummary | null;
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface AdminAccountUser {
|
|
34
|
+
user_id: string;
|
|
35
|
+
email: string;
|
|
36
|
+
account_role: string;
|
|
37
|
+
signed_up_at: string | null;
|
|
38
|
+
last_sign_in_at: string | null;
|
|
39
|
+
email_confirmed_at: string | null;
|
|
40
|
+
banned_until: string | null;
|
|
41
|
+
provider: string | null;
|
|
42
|
+
providers: string[] | null;
|
|
43
|
+
}
|
|
44
|
+
export interface AdminAccountSandbox {
|
|
45
|
+
sandboxId: string;
|
|
46
|
+
name: string | null;
|
|
47
|
+
provider: string | null;
|
|
48
|
+
externalId: string | null;
|
|
49
|
+
status: string | null;
|
|
50
|
+
baseUrl: string | null;
|
|
51
|
+
metadata: unknown;
|
|
52
|
+
createdAt: string;
|
|
53
|
+
updatedAt: string;
|
|
54
|
+
lastUsedAt: string | null;
|
|
55
|
+
}
|
|
56
|
+
export type AdminAccountsSortBy = 'balance' | 'members' | 'name' | 'created';
|
|
57
|
+
export type AdminAccountsSortDir = 'asc' | 'desc';
|
|
58
|
+
export interface AdminAccountsFilters {
|
|
59
|
+
search?: string;
|
|
60
|
+
tier?: string[];
|
|
61
|
+
paymentStatus?: string[];
|
|
62
|
+
paidOnly?: boolean;
|
|
63
|
+
hasSubscription?: boolean | null;
|
|
64
|
+
minBalance?: number | null;
|
|
65
|
+
maxBalance?: number | null;
|
|
66
|
+
sortBy?: AdminAccountsSortBy;
|
|
67
|
+
sortDir?: AdminAccountsSortDir;
|
|
68
|
+
page?: number;
|
|
69
|
+
limit?: number;
|
|
70
|
+
}
|
|
71
|
+
export declare function useAdminAccounts(filters?: AdminAccountsFilters): import("@tanstack/react-query").UseQueryResult<NoInfer<AdminAccountsResponse>, Error>;
|
|
72
|
+
export declare function useAdminAccountUsers(accountId: string | null): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
73
|
+
users: AdminAccountUser[];
|
|
74
|
+
}>, Error>;
|
|
75
|
+
export declare function useAdminGrantCredits(): import("@tanstack/react-query").UseMutationResult<unknown, Error, {
|
|
76
|
+
accountId: string;
|
|
77
|
+
amount: number;
|
|
78
|
+
description: string;
|
|
79
|
+
isExpiring: boolean;
|
|
80
|
+
}, unknown>;
|
|
81
|
+
export declare function useAdminDebitCredits(): import("@tanstack/react-query").UseMutationResult<unknown, Error, {
|
|
82
|
+
accountId: string;
|
|
83
|
+
amount: number;
|
|
84
|
+
description: string;
|
|
85
|
+
}, unknown>;
|
|
86
|
+
export declare function useAdminSetTier(): import("@tanstack/react-query").UseMutationResult<unknown, Error, {
|
|
87
|
+
accountId: string;
|
|
88
|
+
tier: string;
|
|
89
|
+
}, unknown>;
|
|
90
|
+
export interface AdminLedgerEntry {
|
|
91
|
+
id: string;
|
|
92
|
+
amount: string;
|
|
93
|
+
balanceAfter: string;
|
|
94
|
+
type: string;
|
|
95
|
+
description: string | null;
|
|
96
|
+
isExpiring: boolean | null;
|
|
97
|
+
createdAt: string | null;
|
|
98
|
+
createdBy: string | null;
|
|
99
|
+
}
|
|
100
|
+
export declare function useAdminAccountLedger(accountId: string | null, limit?: number): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
101
|
+
entries: AdminLedgerEntry[];
|
|
102
|
+
}>, Error>;
|
|
103
|
+
export interface AdminAccountProject {
|
|
104
|
+
projectId: string;
|
|
105
|
+
name: string;
|
|
106
|
+
status: string | null;
|
|
107
|
+
repoUrl: string | null;
|
|
108
|
+
defaultBranch: string | null;
|
|
109
|
+
createdAt: string | null;
|
|
110
|
+
updatedAt: string | null;
|
|
111
|
+
lastOpenedAt: string | null;
|
|
112
|
+
sessionCount: number;
|
|
113
|
+
activeSessionCount: number;
|
|
114
|
+
lastSessionAt: string | null;
|
|
115
|
+
}
|
|
116
|
+
export declare function useAdminAccountProjects(accountId: string | null): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
117
|
+
projects: AdminAccountProject[];
|
|
118
|
+
}>, Error>;
|
|
119
|
+
export declare function useAdminAccountSandboxes(accountId: string | null): import("@tanstack/react-query").UseQueryResult<NoInfer<{
|
|
120
|
+
sandboxes: AdminAccountSandbox[];
|
|
121
|
+
}>, Error>;
|
|
122
|
+
//# sourceMappingURL=use-admin-accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-admin-accounts.d.ts","sourceRoot":"","sources":["../../src/react/use-admin-accounts.ts"],"names":[],"mappings":"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"}
|