@agentuity/core 3.0.0-alpha.6 → 3.0.0-beta.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/AGENTS.md +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/services/coder/api-reference.d.ts.map +1 -1
- package/dist/services/coder/api-reference.js +30 -1
- package/dist/services/coder/api-reference.js.map +1 -1
- package/dist/services/coder/client.d.ts +17 -1
- package/dist/services/coder/client.d.ts.map +1 -1
- package/dist/services/coder/client.js +30 -2
- package/dist/services/coder/client.js.map +1 -1
- package/dist/services/coder/index.d.ts +2 -2
- package/dist/services/coder/index.d.ts.map +1 -1
- package/dist/services/coder/index.js +1 -1
- package/dist/services/coder/index.js.map +1 -1
- package/dist/services/coder/protocol.d.ts +186 -5
- package/dist/services/coder/protocol.d.ts.map +1 -1
- package/dist/services/coder/protocol.js +125 -0
- package/dist/services/coder/protocol.js.map +1 -1
- package/dist/services/coder/sessions.d.ts +22 -0
- package/dist/services/coder/sessions.d.ts.map +1 -1
- package/dist/services/coder/sessions.js +10 -1
- package/dist/services/coder/sessions.js.map +1 -1
- package/dist/services/coder/sse.d.ts +2 -2
- package/dist/services/coder/sse.d.ts.map +1 -1
- package/dist/services/coder/sse.js +290 -178
- package/dist/services/coder/sse.js.map +1 -1
- package/dist/services/coder/types.d.ts +627 -0
- package/dist/services/coder/types.d.ts.map +1 -1
- package/dist/services/coder/types.js +221 -1
- package/dist/services/coder/types.js.map +1 -1
- package/dist/services/coder/workspaces.d.ts +11 -1
- package/dist/services/coder/workspaces.d.ts.map +1 -1
- package/dist/services/coder/workspaces.js +34 -1
- package/dist/services/coder/workspaces.js.map +1 -1
- package/dist/services/index.d.ts +0 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +0 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/keyvalue/service.d.ts +9 -3
- package/dist/services/keyvalue/service.d.ts.map +1 -1
- package/dist/services/keyvalue/service.js +6 -3
- package/dist/services/keyvalue/service.js.map +1 -1
- package/dist/services/sandbox/api-reference.js +8 -8
- package/dist/services/sandbox/api-reference.js.map +1 -1
- package/dist/services/sandbox/client.d.ts +3 -2
- package/dist/services/sandbox/client.d.ts.map +1 -1
- package/dist/services/sandbox/client.js.map +1 -1
- package/dist/services/sandbox/create.d.ts +5 -0
- package/dist/services/sandbox/create.d.ts.map +1 -1
- package/dist/services/sandbox/create.js +8 -0
- package/dist/services/sandbox/create.js.map +1 -1
- package/dist/services/sandbox/get.d.ts +8 -4
- package/dist/services/sandbox/get.d.ts.map +1 -1
- package/dist/services/sandbox/get.js +28 -3
- package/dist/services/sandbox/get.js.map +1 -1
- package/dist/services/sandbox/getStatus.d.ts +3 -0
- package/dist/services/sandbox/getStatus.d.ts.map +1 -1
- package/dist/services/sandbox/getStatus.js +19 -2
- package/dist/services/sandbox/getStatus.js.map +1 -1
- package/dist/services/sandbox/index.d.ts +1 -1
- package/dist/services/sandbox/index.d.ts.map +1 -1
- package/dist/services/sandbox/list.d.ts +3 -0
- package/dist/services/sandbox/list.d.ts.map +1 -1
- package/dist/services/sandbox/list.js +5 -0
- package/dist/services/sandbox/list.js.map +1 -1
- package/dist/services/sandbox/pause.d.ts +17 -1
- package/dist/services/sandbox/pause.d.ts.map +1 -1
- package/dist/services/sandbox/pause.js +21 -3
- package/dist/services/sandbox/pause.js.map +1 -1
- package/dist/services/sandbox/run.d.ts +3 -2
- package/dist/services/sandbox/run.d.ts.map +1 -1
- package/dist/services/sandbox/run.js +244 -84
- package/dist/services/sandbox/run.js.map +1 -1
- package/dist/services/sandbox/types.d.ts +11 -4
- package/dist/services/sandbox/types.d.ts.map +1 -1
- package/dist/services/sandbox/types.js +12 -0
- package/dist/services/sandbox/types.js.map +1 -1
- package/dist/services/stream/namespaces.d.ts +2 -2
- package/dist/services/stream/namespaces.js +2 -2
- package/dist/services/stream/namespaces.js.map +1 -1
- package/dist/services/vector/service.d.ts +11 -11
- package/dist/services/vector/service.d.ts.map +1 -1
- package/dist/services/vector/service.js.map +1 -1
- package/package.json +3 -17
- package/src/index.ts +0 -15
- package/src/services/coder/api-reference.ts +31 -0
- package/src/services/coder/client.ts +46 -0
- package/src/services/coder/index.ts +3 -0
- package/src/services/coder/protocol.ts +133 -0
- package/src/services/coder/sessions.ts +26 -0
- package/src/services/coder/sse.ts +343 -184
- package/src/services/coder/types.ts +273 -1
- package/src/services/coder/workspaces.ts +74 -0
- package/src/services/index.ts +0 -2
- package/src/services/keyvalue/service.ts +16 -7
- package/src/services/sandbox/api-reference.ts +8 -8
- package/src/services/sandbox/client.ts +4 -4
- package/src/services/sandbox/create.ts +10 -0
- package/src/services/sandbox/get.ts +32 -3
- package/src/services/sandbox/getStatus.ts +23 -2
- package/src/services/sandbox/index.ts +1 -1
- package/src/services/sandbox/list.ts +5 -0
- package/src/services/sandbox/pause.ts +38 -4
- package/src/services/sandbox/run.ts +352 -105
- package/src/services/sandbox/types.ts +17 -2
- package/src/services/stream/namespaces.ts +2 -2
- package/src/services/vector/service.ts +11 -21
- package/dist/services/auth/index.d.ts +0 -7
- package/dist/services/auth/index.d.ts.map +0 -1
- package/dist/services/auth/index.js +0 -7
- package/dist/services/auth/index.js.map +0 -1
- package/dist/services/auth/types.d.ts +0 -192
- package/dist/services/auth/types.d.ts.map +0 -1
- package/dist/services/auth/types.js +0 -11
- package/dist/services/auth/types.js.map +0 -1
- package/dist/services/eval/api-reference.d.ts +0 -4
- package/dist/services/eval/api-reference.d.ts.map +0 -1
- package/dist/services/eval/api-reference.js +0 -121
- package/dist/services/eval/api-reference.js.map +0 -1
- package/dist/services/eval/events.d.ts +0 -93
- package/dist/services/eval/events.d.ts.map +0 -1
- package/dist/services/eval/events.js +0 -24
- package/dist/services/eval/events.js.map +0 -1
- package/dist/services/eval/get.d.ts +0 -36
- package/dist/services/eval/get.d.ts.map +0 -1
- package/dist/services/eval/get.js +0 -23
- package/dist/services/eval/get.js.map +0 -1
- package/dist/services/eval/index.d.ts +0 -6
- package/dist/services/eval/index.d.ts.map +0 -1
- package/dist/services/eval/index.js +0 -6
- package/dist/services/eval/index.js.map +0 -1
- package/dist/services/eval/list.d.ts +0 -50
- package/dist/services/eval/list.d.ts.map +0 -1
- package/dist/services/eval/list.js +0 -32
- package/dist/services/eval/list.js.map +0 -1
- package/dist/services/eval/run-get.d.ts +0 -48
- package/dist/services/eval/run-get.d.ts.map +0 -1
- package/dist/services/eval/run-get.js +0 -29
- package/dist/services/eval/run-get.js.map +0 -1
- package/dist/services/eval/run-list.d.ts +0 -70
- package/dist/services/eval/run-list.d.ts.map +0 -1
- package/dist/services/eval/run-list.js +0 -42
- package/dist/services/eval/run-list.js.map +0 -1
- package/dist/webrtc.d.ts +0 -243
- package/dist/webrtc.d.ts.map +0 -1
- package/dist/webrtc.js +0 -5
- package/dist/webrtc.js.map +0 -1
- package/dist/workbench-config.d.ts +0 -62
- package/dist/workbench-config.d.ts.map +0 -1
- package/dist/workbench-config.js +0 -58
- package/dist/workbench-config.js.map +0 -1
- package/dist/workbench.d.ts +0 -2
- package/dist/workbench.d.ts.map +0 -1
- package/dist/workbench.js +0 -2
- package/dist/workbench.js.map +0 -1
- package/src/services/auth/index.ts +0 -19
- package/src/services/auth/types.ts +0 -223
- package/src/services/eval/api-reference.ts +0 -124
- package/src/services/eval/events.ts +0 -92
- package/src/services/eval/get.ts +0 -33
- package/src/services/eval/index.ts +0 -29
- package/src/services/eval/list.ts +0 -49
- package/src/services/eval/run-get.ts +0 -39
- package/src/services/eval/run-list.ts +0 -59
- package/src/webrtc.ts +0 -259
- package/src/workbench-config.ts +0 -79
- package/src/workbench.ts +0 -1
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export declare const WorkbenchConfigError: {
|
|
2
|
-
new (args?: {
|
|
3
|
-
cause?: unknown;
|
|
4
|
-
} | undefined): import("./error.ts").RichError & {
|
|
5
|
-
readonly _tag: "WorkbenchConfigError";
|
|
6
|
-
} & Readonly<Record<string, never>>;
|
|
7
|
-
readonly defaultMessage?: string;
|
|
8
|
-
} & (<Shape extends {
|
|
9
|
-
[x: string]: any;
|
|
10
|
-
} = Record<string, never>>() => {
|
|
11
|
-
new (args?: (Shape extends Record<string, never> ? {
|
|
12
|
-
cause?: unknown;
|
|
13
|
-
} : Shape & {
|
|
14
|
-
cause?: unknown;
|
|
15
|
-
}) | undefined): import("./error.ts").RichError & {
|
|
16
|
-
readonly _tag: "WorkbenchConfigError";
|
|
17
|
-
} & Readonly<Shape>;
|
|
18
|
-
readonly defaultMessage?: string;
|
|
19
|
-
});
|
|
20
|
-
export declare const WorkbenchNotFoundError: {
|
|
21
|
-
new (args?: {
|
|
22
|
-
cause?: unknown;
|
|
23
|
-
} | undefined): import("./error.ts").RichError & {
|
|
24
|
-
readonly _tag: "WorkbenchNotFoundError";
|
|
25
|
-
} & Readonly<Record<string, never>>;
|
|
26
|
-
readonly defaultMessage?: string;
|
|
27
|
-
} & (<Shape extends {
|
|
28
|
-
[x: string]: any;
|
|
29
|
-
} = Record<string, never>>() => {
|
|
30
|
-
new (args?: (Shape extends Record<string, never> ? {
|
|
31
|
-
cause?: unknown;
|
|
32
|
-
} : Shape & {
|
|
33
|
-
cause?: unknown;
|
|
34
|
-
}) | undefined): import("./error.ts").RichError & {
|
|
35
|
-
readonly _tag: "WorkbenchNotFoundError";
|
|
36
|
-
} & Readonly<Shape>;
|
|
37
|
-
readonly defaultMessage?: string;
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Workbench configuration utilities shared across packages
|
|
41
|
-
*/
|
|
42
|
-
export interface WorkbenchConfig {
|
|
43
|
-
route?: string;
|
|
44
|
-
headers?: Record<string, string>;
|
|
45
|
-
apiKey?: string;
|
|
46
|
-
baseUrl?: string | null;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Encode workbench config to base64 for environment variable storage
|
|
50
|
-
*/
|
|
51
|
-
export declare function encodeWorkbenchConfig(config: WorkbenchConfig): string;
|
|
52
|
-
/**
|
|
53
|
-
* Decode workbench config from base64 environment variable
|
|
54
|
-
* Throws error if config is invalid
|
|
55
|
-
*/
|
|
56
|
-
export declare function decodeWorkbenchConfig(encoded: string): WorkbenchConfig;
|
|
57
|
-
/**
|
|
58
|
-
* Get workbench config from build-time variable
|
|
59
|
-
* Throws error if config is not available or invalid
|
|
60
|
-
*/
|
|
61
|
-
export declare function getWorkbenchConfig(): WorkbenchConfig;
|
|
62
|
-
//# sourceMappingURL=workbench-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-config.d.ts","sourceRoot":"","sources":["../src/workbench-config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAGlC,CAAC;AAEF;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CASrE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAsBtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CASpD"}
|
package/dist/workbench-config.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { StructuredError } from "./error.js";
|
|
2
|
-
export const WorkbenchConfigError = StructuredError('WorkbenchConfigError', 'The workbench configuration is invalid');
|
|
3
|
-
export const WorkbenchNotFoundError = StructuredError('WorkbenchNotFoundError', 'Workbench config not found - build process did not inline config');
|
|
4
|
-
/**
|
|
5
|
-
* Encode workbench config to base64 for environment variable storage
|
|
6
|
-
*/
|
|
7
|
-
export function encodeWorkbenchConfig(config) {
|
|
8
|
-
const json = JSON.stringify(config);
|
|
9
|
-
// Use Node.js Buffer if available (build-time), otherwise browser btoa (shouldn't be called in browser)
|
|
10
|
-
if (typeof Buffer !== 'undefined') {
|
|
11
|
-
return Buffer.from(json).toString('base64');
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
return btoa(json);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Decode workbench config from base64 environment variable
|
|
19
|
-
* Throws error if config is invalid
|
|
20
|
-
*/
|
|
21
|
-
export function decodeWorkbenchConfig(encoded) {
|
|
22
|
-
try {
|
|
23
|
-
let json;
|
|
24
|
-
// Use appropriate decoding method based on environment
|
|
25
|
-
if (typeof Buffer !== 'undefined') {
|
|
26
|
-
// Node.js environment (build-time)
|
|
27
|
-
json = Buffer.from(encoded, 'base64').toString('utf-8');
|
|
28
|
-
}
|
|
29
|
-
else if (typeof atob !== 'undefined') {
|
|
30
|
-
// Browser environment (runtime)
|
|
31
|
-
json = atob(encoded);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
throw new Error('No base64 decoding method available');
|
|
35
|
-
}
|
|
36
|
-
const config = JSON.parse(json);
|
|
37
|
-
return config;
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
throw new WorkbenchConfigError({
|
|
41
|
-
cause: error,
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get workbench config from build-time variable
|
|
47
|
-
* Throws error if config is not available or invalid
|
|
48
|
-
*/
|
|
49
|
-
export function getWorkbenchConfig() {
|
|
50
|
-
// This will be replaced at build time by Bun's define mechanism
|
|
51
|
-
// @ts-expect-error - AGENTUITY_WORKBENCH_CONFIG_INLINE will be replaced at build time
|
|
52
|
-
if (typeof AGENTUITY_WORKBENCH_CONFIG_INLINE === 'undefined') {
|
|
53
|
-
throw new WorkbenchNotFoundError();
|
|
54
|
-
}
|
|
55
|
-
// @ts-expect-error - AGENTUITY_WORKBENCH_CONFIG_INLINE will be replaced at build time
|
|
56
|
-
return decodeWorkbenchConfig(AGENTUITY_WORKBENCH_CONFIG_INLINE);
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=workbench-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-config.js","sourceRoot":"","sources":["../src/workbench-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAClD,sBAAsB,EACtB,wCAAwC,CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CACpD,wBAAwB,EACxB,kEAAkE,CAClE,CAAC;AAaF;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAuB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEpC,wGAAwG;IACxG,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,IAAI,CAAC;QACJ,IAAI,IAAY,CAAC;QAEjB,uDAAuD;QACvD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,mCAAmC;YACnC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,gCAAgC;YAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;QACnD,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,oBAAoB,CAAC;YAC9B,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IACjC,gEAAgE;IAChE,sFAAsF;IACtF,IAAI,OAAO,iCAAiC,KAAK,WAAW,EAAE,CAAC;QAC9D,MAAM,IAAI,sBAAsB,EAAE,CAAC;IACpC,CAAC;IAED,sFAAsF;IACtF,OAAO,qBAAqB,CAAC,iCAAiC,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/workbench.d.ts
DELETED
package/dist/workbench.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workbench.d.ts","sourceRoot":"","sources":["../src/workbench.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
package/dist/workbench.js
DELETED
package/dist/workbench.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workbench.js","sourceRoot":"","sources":["../src/workbench.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Authentication service types.
|
|
3
|
-
*
|
|
4
|
-
* @module services/auth
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export type {
|
|
8
|
-
AuthUser,
|
|
9
|
-
AuthSession,
|
|
10
|
-
AuthContext,
|
|
11
|
-
AuthOrgContext,
|
|
12
|
-
AuthApiKeyPermissions,
|
|
13
|
-
AuthApiKeyContext,
|
|
14
|
-
AuthMethod,
|
|
15
|
-
AgentuityAuth,
|
|
16
|
-
AuthOrgHelpers,
|
|
17
|
-
AuthApiKeyHelpers,
|
|
18
|
-
AuthInterface,
|
|
19
|
-
} from './types.ts';
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core authentication types for Agentuity.
|
|
3
|
-
*
|
|
4
|
-
* These types are defined in @agentuity/core to avoid circular dependencies
|
|
5
|
-
* and allow packages like @agentuity/runtime to use auth types without
|
|
6
|
-
* pulling in heavy dependencies like drizzle-orm.
|
|
7
|
-
*
|
|
8
|
-
* @module services/auth/types
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
// =============================================================================
|
|
12
|
-
// Canonical User/Session Types
|
|
13
|
-
// =============================================================================
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Canonical authenticated user type for Agentuity Auth.
|
|
17
|
-
*
|
|
18
|
-
* Common fields include:
|
|
19
|
-
* - `id` – Stable user identifier
|
|
20
|
-
* - `email` – Primary email address
|
|
21
|
-
* - `name` – Display name
|
|
22
|
-
* - `image` – Avatar URL (if configured)
|
|
23
|
-
* - `createdAt` / `updatedAt` – Timestamps
|
|
24
|
-
*/
|
|
25
|
-
export interface AuthUser {
|
|
26
|
-
id: string;
|
|
27
|
-
email: string;
|
|
28
|
-
name?: string | null;
|
|
29
|
-
image?: string | null;
|
|
30
|
-
createdAt?: Date | string;
|
|
31
|
-
updatedAt?: Date | string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Auth session type with organization plugin fields.
|
|
36
|
-
*/
|
|
37
|
-
export interface AuthSession {
|
|
38
|
-
id: string;
|
|
39
|
-
userId: string;
|
|
40
|
-
expiresAt: Date | string;
|
|
41
|
-
/** Active organization ID from the organization plugin */
|
|
42
|
-
activeOrganizationId?: string;
|
|
43
|
-
ipAddress?: string | null;
|
|
44
|
-
userAgent?: string | null;
|
|
45
|
-
createdAt?: Date | string;
|
|
46
|
-
updatedAt?: Date | string;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Auth context containing user, session, and org data.
|
|
51
|
-
* This is the full auth context available on AgentContext.auth and c.var.auth.
|
|
52
|
-
* Session may be null for API key authentication.
|
|
53
|
-
*/
|
|
54
|
-
export interface AuthContext<TUser = AuthUser, TSession = AuthSession | null> {
|
|
55
|
-
user: TUser;
|
|
56
|
-
session: TSession;
|
|
57
|
-
org: AuthOrgContext | null;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Organization context from the organization plugin.
|
|
62
|
-
*/
|
|
63
|
-
export interface AuthOrgContext {
|
|
64
|
-
/** Organization ID */
|
|
65
|
-
id: string;
|
|
66
|
-
/** Organization slug (URL-friendly identifier) */
|
|
67
|
-
slug?: string | null;
|
|
68
|
-
/** Organization display name */
|
|
69
|
-
name?: string | null;
|
|
70
|
-
/** Member's role in this organization (e.g., 'owner', 'admin', 'member') */
|
|
71
|
-
role?: string | null;
|
|
72
|
-
/** Member ID for this user in this organization */
|
|
73
|
-
memberId?: string | null;
|
|
74
|
-
/** Organization metadata (if enabled) */
|
|
75
|
-
metadata?: unknown;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// =============================================================================
|
|
79
|
-
// API Key Types
|
|
80
|
-
// =============================================================================
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* API key permissions format.
|
|
84
|
-
* Maps resource names to arrays of allowed actions.
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* const permissions: AuthApiKeyPermissions = {
|
|
89
|
-
* project: ['read', 'write'],
|
|
90
|
-
* user: ['read'],
|
|
91
|
-
* admin: ['*'], // wildcard - all actions
|
|
92
|
-
* };
|
|
93
|
-
* ```
|
|
94
|
-
*/
|
|
95
|
-
export interface AuthApiKeyPermissions {
|
|
96
|
-
[key: string]: string[];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* API key context when request is authenticated via API key.
|
|
101
|
-
*/
|
|
102
|
-
export interface AuthApiKeyContext {
|
|
103
|
-
/** API key ID */
|
|
104
|
-
id: string;
|
|
105
|
-
/** Display name of the API key */
|
|
106
|
-
name?: string | null;
|
|
107
|
-
/** Permissions associated with this API key */
|
|
108
|
-
permissions: AuthApiKeyPermissions;
|
|
109
|
-
/** User ID the API key belongs to */
|
|
110
|
-
userId?: string | null;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Authentication method used for the current request.
|
|
115
|
-
*/
|
|
116
|
-
export type AuthMethod = 'session' | 'api-key' | 'bearer';
|
|
117
|
-
|
|
118
|
-
// =============================================================================
|
|
119
|
-
// Auth Interface
|
|
120
|
-
// =============================================================================
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Generic authentication interface exposed on Hono context.
|
|
124
|
-
*
|
|
125
|
-
* This type is intentionally provider-agnostic.
|
|
126
|
-
*
|
|
127
|
-
* @typeParam TUser - Domain user type (defaults to unknown for flexibility).
|
|
128
|
-
* @typeParam TRaw - Underlying auth context (defaults to unknown for flexibility).
|
|
129
|
-
*/
|
|
130
|
-
export interface AgentuityAuth<TUser = unknown, TRaw = unknown> {
|
|
131
|
-
/** Get the authenticated user, throws if not authenticated */
|
|
132
|
-
getUser(): Promise<TUser>;
|
|
133
|
-
|
|
134
|
-
/** Get the raw JWT token */
|
|
135
|
-
getToken(): Promise<string | null>;
|
|
136
|
-
|
|
137
|
-
/** Raw provider-specific auth object or auth context */
|
|
138
|
-
raw: TRaw;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Organization helpers available on the auth context.
|
|
143
|
-
*/
|
|
144
|
-
export interface AuthOrgHelpers {
|
|
145
|
-
/** Active organization context if available, null otherwise */
|
|
146
|
-
org: AuthOrgContext | null;
|
|
147
|
-
|
|
148
|
-
/** Returns active org or null (never throws) */
|
|
149
|
-
getOrg(): Promise<AuthOrgContext | null>;
|
|
150
|
-
|
|
151
|
-
/** Convenience accessor for the member's role on the active org */
|
|
152
|
-
getOrgRole(): Promise<string | null>;
|
|
153
|
-
|
|
154
|
-
/** True if the current member's role is one of the provided roles */
|
|
155
|
-
hasOrgRole(...roles: string[]): Promise<boolean>;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* API key helpers available on the auth context.
|
|
160
|
-
*/
|
|
161
|
-
export interface AuthApiKeyHelpers {
|
|
162
|
-
/** How this request was authenticated */
|
|
163
|
-
authMethod: AuthMethod;
|
|
164
|
-
|
|
165
|
-
/** API key context when request is authenticated via API key, null otherwise */
|
|
166
|
-
apiKey: AuthApiKeyContext | null;
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Check if the API key has the required permissions.
|
|
170
|
-
* All specified actions must be present for the resource.
|
|
171
|
-
* Supports '*' wildcard which matches any action.
|
|
172
|
-
*
|
|
173
|
-
* @param resource - The resource to check (e.g., 'project', 'user')
|
|
174
|
-
* @param actions - Actions required (e.g., 'read', 'write')
|
|
175
|
-
* @returns true if all actions are permitted, false otherwise
|
|
176
|
-
*
|
|
177
|
-
* @example
|
|
178
|
-
* ```typescript
|
|
179
|
-
* // Check for specific permission
|
|
180
|
-
* if (c.var.auth.hasPermission('project', 'write')) { ... }
|
|
181
|
-
*
|
|
182
|
-
* // Check for multiple permissions (all required)
|
|
183
|
-
* if (c.var.auth.hasPermission('project', 'read', 'write')) { ... }
|
|
184
|
-
* ```
|
|
185
|
-
*/
|
|
186
|
-
hasPermission(resource: string, ...actions: string[]): boolean;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Full authentication interface available on `c.var.auth` and `ctx.auth`.
|
|
191
|
-
*
|
|
192
|
-
* This is the primary interface you'll use to access authentication data
|
|
193
|
-
* in your route handlers and agents. It provides:
|
|
194
|
-
*
|
|
195
|
-
* - User data via `getUser()`
|
|
196
|
-
* - Organization helpers via `getOrg()`, `getOrgRole()`, `hasOrgRole()`
|
|
197
|
-
* - API key helpers via `apiKey`, `hasPermission()`
|
|
198
|
-
* - Token access via `getToken()`
|
|
199
|
-
*
|
|
200
|
-
* @example Route handler
|
|
201
|
-
* ```typescript
|
|
202
|
-
* app.get('/api/profile', async (c) => {
|
|
203
|
-
* const user = await c.var.auth.getUser();
|
|
204
|
-
* const org = await c.var.auth.getOrg();
|
|
205
|
-
* return c.json({ user, org });
|
|
206
|
-
* });
|
|
207
|
-
* ```
|
|
208
|
-
*
|
|
209
|
-
* @example Agent handler
|
|
210
|
-
* ```typescript
|
|
211
|
-
* handler: async (ctx, input) => {
|
|
212
|
-
* if (!ctx.auth) return { error: 'Unauthorized' };
|
|
213
|
-
* const user = await ctx.auth.getUser();
|
|
214
|
-
* return { message: `Hello, ${user.email}!` };
|
|
215
|
-
* }
|
|
216
|
-
* ```
|
|
217
|
-
*
|
|
218
|
-
* @typeParam TUser - User type (extends AuthUser, defaults to AuthUser)
|
|
219
|
-
*/
|
|
220
|
-
export interface AuthInterface<TUser extends AuthUser = AuthUser>
|
|
221
|
-
extends AgentuityAuth<TUser, AuthContext<TUser>>,
|
|
222
|
-
AuthOrgHelpers,
|
|
223
|
-
AuthApiKeyHelpers {}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import type { Service } from '../api-reference.ts';
|
|
2
|
-
import { EvaluationSchema } from './list.ts';
|
|
3
|
-
import { EvalRunSchema } from './run-list.ts';
|
|
4
|
-
|
|
5
|
-
const service: Service = {
|
|
6
|
-
name: 'Evaluations',
|
|
7
|
-
slug: 'evaluations',
|
|
8
|
-
description: 'List and retrieve evaluations and their run history',
|
|
9
|
-
endpoints: [
|
|
10
|
-
{
|
|
11
|
-
id: 'list-evaluations',
|
|
12
|
-
title: 'List Evaluations',
|
|
13
|
-
method: 'GET',
|
|
14
|
-
path: '/cli/eval',
|
|
15
|
-
description:
|
|
16
|
-
'List evaluations with optional filtering by organization, project, or agent.',
|
|
17
|
-
pathParams: [],
|
|
18
|
-
queryParams: [
|
|
19
|
-
{
|
|
20
|
-
name: 'orgId',
|
|
21
|
-
type: 'string',
|
|
22
|
-
description: 'Filter by organization ID',
|
|
23
|
-
required: false,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: 'projectId',
|
|
27
|
-
type: 'string',
|
|
28
|
-
description: 'Filter by project ID',
|
|
29
|
-
required: false,
|
|
30
|
-
},
|
|
31
|
-
{ name: 'agentId', type: 'string', description: 'Filter by agent ID', required: false },
|
|
32
|
-
],
|
|
33
|
-
requestBody: null,
|
|
34
|
-
responseDescription: 'Array of evaluation objects.',
|
|
35
|
-
responseFields: { schema: EvaluationSchema },
|
|
36
|
-
statuses: [
|
|
37
|
-
{ code: 200, description: 'Evaluations returned' },
|
|
38
|
-
{ code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
|
|
39
|
-
],
|
|
40
|
-
examplePath: '/cli/eval',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: 'get-evaluation',
|
|
44
|
-
title: 'Get Evaluation',
|
|
45
|
-
method: 'GET',
|
|
46
|
-
path: '/cli/eval/{id}',
|
|
47
|
-
description: 'Get a specific evaluation by ID.',
|
|
48
|
-
pathParams: [{ name: 'id', type: 'string', description: 'Evaluation ID', required: true }],
|
|
49
|
-
queryParams: [],
|
|
50
|
-
requestBody: null,
|
|
51
|
-
responseDescription: 'Evaluation object.',
|
|
52
|
-
statuses: [
|
|
53
|
-
{ code: 200, description: 'Evaluation returned' },
|
|
54
|
-
{ code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
|
|
55
|
-
{ code: 404, description: 'Evaluation not found' },
|
|
56
|
-
],
|
|
57
|
-
examplePath: '/cli/eval/eval_abc123',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
id: 'list-eval-runs',
|
|
61
|
-
title: 'List Eval Runs',
|
|
62
|
-
sectionTitle: 'Eval Runs',
|
|
63
|
-
method: 'GET',
|
|
64
|
-
path: '/cli/eval-run',
|
|
65
|
-
description: 'List evaluation runs with optional filtering.',
|
|
66
|
-
pathParams: [],
|
|
67
|
-
queryParams: [
|
|
68
|
-
{
|
|
69
|
-
name: 'orgId',
|
|
70
|
-
type: 'string',
|
|
71
|
-
description: 'Filter by organization ID',
|
|
72
|
-
required: false,
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
name: 'projectId',
|
|
76
|
-
type: 'string',
|
|
77
|
-
description: 'Filter by project ID',
|
|
78
|
-
required: false,
|
|
79
|
-
},
|
|
80
|
-
{ name: 'agentId', type: 'string', description: 'Filter by agent ID', required: false },
|
|
81
|
-
{
|
|
82
|
-
name: 'evalId',
|
|
83
|
-
type: 'string',
|
|
84
|
-
description: 'Filter by evaluation ID',
|
|
85
|
-
required: false,
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: 'sessionId',
|
|
89
|
-
type: 'string',
|
|
90
|
-
description: 'Filter by session ID',
|
|
91
|
-
required: false,
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
requestBody: null,
|
|
95
|
-
responseDescription: 'Array of evaluation run objects.',
|
|
96
|
-
responseFields: { schema: EvalRunSchema },
|
|
97
|
-
statuses: [
|
|
98
|
-
{ code: 200, description: 'Eval runs returned' },
|
|
99
|
-
{ code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
|
|
100
|
-
],
|
|
101
|
-
examplePath: '/cli/eval-run',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
id: 'get-eval-run',
|
|
105
|
-
title: 'Get Eval Run',
|
|
106
|
-
sectionTitle: 'Eval Runs',
|
|
107
|
-
method: 'GET',
|
|
108
|
-
path: '/cli/eval-run/{id}',
|
|
109
|
-
description: 'Get a specific evaluation run by ID.',
|
|
110
|
-
pathParams: [{ name: 'id', type: 'string', description: 'Eval run ID', required: true }],
|
|
111
|
-
queryParams: [],
|
|
112
|
-
requestBody: null,
|
|
113
|
-
responseDescription: 'Evaluation run object.',
|
|
114
|
-
statuses: [
|
|
115
|
-
{ code: 200, description: 'Eval run returned' },
|
|
116
|
-
{ code: 401, description: 'Unauthorized — invalid or missing Bearer token' },
|
|
117
|
-
{ code: 404, description: 'Eval run not found' },
|
|
118
|
-
],
|
|
119
|
-
examplePath: '/cli/eval-run/er_abc123',
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
export default service;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
export const EvalRunStartEventSchema = z
|
|
4
|
-
.object({
|
|
5
|
-
id: z.string().describe('the eval run id'),
|
|
6
|
-
sessionId: z.string().describe('the session id'),
|
|
7
|
-
evalId: z.string().describe('the evaluation record id (evalid_...)'),
|
|
8
|
-
evalIdentifier: z.string().describe('the stable eval identifier (eval_...)'),
|
|
9
|
-
orgId: z.string().describe('the organization id'),
|
|
10
|
-
projectId: z.string().describe('the project id'),
|
|
11
|
-
devmode: z.boolean().describe('true if running in devmode'),
|
|
12
|
-
deploymentId: z.string().optional().describe('the deployment id'),
|
|
13
|
-
spanId: z.string().optional().describe('the span id'),
|
|
14
|
-
})
|
|
15
|
-
.describe('The event to record an eval run started');
|
|
16
|
-
|
|
17
|
-
export type EvalRunStartEvent = z.infer<typeof EvalRunStartEventSchema>;
|
|
18
|
-
|
|
19
|
-
export const EvalRunCompleteEventSchema = z
|
|
20
|
-
.object({
|
|
21
|
-
id: z.string().describe('the eval run id'),
|
|
22
|
-
error: z.string().optional().describe('the optional error message if the eval run failed'),
|
|
23
|
-
result: z.any().optional().describe('the eval run result'),
|
|
24
|
-
})
|
|
25
|
-
.describe('The event to record an eval run completed');
|
|
26
|
-
|
|
27
|
-
export type EvalRunCompleteEvent = z.infer<typeof EvalRunCompleteEventSchema>;
|
|
28
|
-
|
|
29
|
-
export const EvalRunStartEventDelayedSchema = z.intersection(
|
|
30
|
-
EvalRunStartEventSchema,
|
|
31
|
-
z.object({ timestamp: z.number().describe('the event timestamp in epoch') })
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
export const EvalRunCompleteEventDelayedSchema = z.intersection(
|
|
35
|
-
EvalRunCompleteEventSchema,
|
|
36
|
-
z.object({ timestamp: z.number().describe('the event timestamp in epoch') })
|
|
37
|
-
);
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* EvalRunEventProvider is a provider for logging and tracking agent evaluation run lifecycle events.
|
|
41
|
-
* Eval runs represent test executions of agents for quality assurance and performance monitoring.
|
|
42
|
-
*/
|
|
43
|
-
export interface EvalRunEventProvider {
|
|
44
|
-
/**
|
|
45
|
-
* Called when an agent evaluation run starts. Records the initial context including
|
|
46
|
-
* the evaluation ID, associated session, and organization/project metadata.
|
|
47
|
-
*
|
|
48
|
-
* @param event - EvalRunStartEvent containing evaluation initialization data
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* await evalProvider.start({
|
|
53
|
-
* id: 'evalrun_abc123',
|
|
54
|
-
* sessionId: 'sess_abc123',
|
|
55
|
-
* evalId: 'evalid_abc123',
|
|
56
|
-
* evalIdentifier: 'eval_abc123',
|
|
57
|
-
* orgId: 'org_456',
|
|
58
|
-
* projectId: 'proj_789',
|
|
59
|
-
* devmode: true
|
|
60
|
-
* });
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
start(event: EvalRunStartEvent): Promise<void>;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Called when an agent evaluation run completes (successfully or with error).
|
|
67
|
-
* Records final results, metrics, and any errors encountered during evaluation.
|
|
68
|
-
*
|
|
69
|
-
* @param event - EvalRunCompleteEvent containing evaluation results and status
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* // Successful evaluation completion
|
|
74
|
-
* await evalProvider.complete({
|
|
75
|
-
* id: 'eval-run-123',
|
|
76
|
-
* result: {
|
|
77
|
-
* passed: true,
|
|
78
|
-
* score: 0.95,
|
|
79
|
-
* metrics: { latency: 250, accuracy: 0.98 }
|
|
80
|
-
* }
|
|
81
|
-
* });
|
|
82
|
-
*
|
|
83
|
-
* // Evaluation with error
|
|
84
|
-
* await evalProvider.complete({
|
|
85
|
-
* id: 'eval-run-123',
|
|
86
|
-
* error: 'Agent timeout after 30 seconds',
|
|
87
|
-
* result: { passed: false }
|
|
88
|
-
* });
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
complete(event: EvalRunCompleteEvent): Promise<void>;
|
|
92
|
-
}
|
package/src/services/eval/get.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { type APIClient, APIResponseSchema } from '../api.ts';
|
|
3
|
-
|
|
4
|
-
export const EvaluationDetailSchema = z.object({
|
|
5
|
-
id: z.string().describe('Evaluation ID'),
|
|
6
|
-
name: z.string().describe('Evaluation name'),
|
|
7
|
-
description: z.string().nullable().describe('Evaluation description'),
|
|
8
|
-
identifier: z.string().nullable().describe('Stable evaluation identifier'),
|
|
9
|
-
agentIdentifier: z.string().describe('Agent identifier'),
|
|
10
|
-
projectId: z.string().describe('Project ID'),
|
|
11
|
-
orgId: z.string().describe('Organization ID'),
|
|
12
|
-
devmode: z.boolean().describe('Whether this is a devmode evaluation'),
|
|
13
|
-
createdAt: z.string().describe('Creation timestamp'),
|
|
14
|
-
updatedAt: z.string().describe('Last updated timestamp'),
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export const EvalGetResponseSchema = APIResponseSchema(EvaluationDetailSchema);
|
|
18
|
-
|
|
19
|
-
export type EvaluationDetail = z.infer<typeof EvaluationDetailSchema>;
|
|
20
|
-
|
|
21
|
-
export async function evalGet(client: APIClient, id: string): Promise<EvaluationDetail> {
|
|
22
|
-
const resp = await client.request<z.infer<typeof EvalGetResponseSchema>>(
|
|
23
|
-
'GET',
|
|
24
|
-
`/cli/eval/${encodeURIComponent(id)}`,
|
|
25
|
-
EvalGetResponseSchema
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
if (resp.success) {
|
|
29
|
-
return resp.data;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
throw new Error(resp.message || 'Failed to get evaluation');
|
|
33
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export * from './events.ts';
|
|
2
|
-
export {
|
|
3
|
-
EvalGetResponseSchema,
|
|
4
|
-
type EvaluationDetail,
|
|
5
|
-
EvaluationDetailSchema,
|
|
6
|
-
evalGet,
|
|
7
|
-
} from './get.ts';
|
|
8
|
-
export {
|
|
9
|
-
EvalListResponseData,
|
|
10
|
-
EvalListResponseSchema,
|
|
11
|
-
type Evaluation,
|
|
12
|
-
type EvaluationListRequest,
|
|
13
|
-
EvaluationSchema,
|
|
14
|
-
evalList,
|
|
15
|
-
} from './list.ts';
|
|
16
|
-
export {
|
|
17
|
-
type EvalRunDetail,
|
|
18
|
-
EvalRunDetailSchema,
|
|
19
|
-
EvalRunGetResponseSchema,
|
|
20
|
-
evalRunGet,
|
|
21
|
-
} from './run-get.ts';
|
|
22
|
-
export {
|
|
23
|
-
type EvalRunListItem,
|
|
24
|
-
type EvalRunListRequest,
|
|
25
|
-
EvalRunListResponseData,
|
|
26
|
-
EvalRunListResponseSchema,
|
|
27
|
-
EvalRunSchema,
|
|
28
|
-
evalRunList,
|
|
29
|
-
} from './run-list.ts';
|