@agentuity/server 0.0.4 → 0.0.6

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.
Files changed (82) hide show
  1. package/AGENTS.md +29 -96
  2. package/README.md +31 -198
  3. package/dist/config.d.ts +11 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js +13 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/index.d.ts +4 -5
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +4 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/server.d.ts +22 -0
  12. package/dist/server.d.ts.map +1 -0
  13. package/dist/server.js +107 -0
  14. package/dist/server.js.map +1 -0
  15. package/package.json +11 -32
  16. package/dist/_config.d.ts +0 -61
  17. package/dist/_config.d.ts.map +0 -1
  18. package/dist/_context.d.ts +0 -33
  19. package/dist/_context.d.ts.map +0 -1
  20. package/dist/_idle.d.ts +0 -7
  21. package/dist/_idle.d.ts.map +0 -1
  22. package/dist/_server.d.ts +0 -17
  23. package/dist/_server.d.ts.map +0 -1
  24. package/dist/_services.d.ts +0 -2
  25. package/dist/_services.d.ts.map +0 -1
  26. package/dist/_util.d.ts +0 -16
  27. package/dist/_util.d.ts.map +0 -1
  28. package/dist/_waituntil.d.ts +0 -20
  29. package/dist/_waituntil.d.ts.map +0 -1
  30. package/dist/agent.d.ts +0 -88
  31. package/dist/agent.d.ts.map +0 -1
  32. package/dist/app.d.ts +0 -24
  33. package/dist/app.d.ts.map +0 -1
  34. package/dist/logger/console.d.ts +0 -50
  35. package/dist/logger/console.d.ts.map +0 -1
  36. package/dist/logger/index.d.ts +0 -4
  37. package/dist/logger/index.d.ts.map +0 -1
  38. package/dist/logger/internal.d.ts +0 -79
  39. package/dist/logger/internal.d.ts.map +0 -1
  40. package/dist/logger/logger.d.ts +0 -41
  41. package/dist/logger/logger.d.ts.map +0 -1
  42. package/dist/logger/user.d.ts +0 -8
  43. package/dist/logger/user.d.ts.map +0 -1
  44. package/dist/logger/util.d.ts +0 -11
  45. package/dist/logger/util.d.ts.map +0 -1
  46. package/dist/otel/config.d.ts +0 -17
  47. package/dist/otel/config.d.ts.map +0 -1
  48. package/dist/otel/console.d.ts +0 -26
  49. package/dist/otel/console.d.ts.map +0 -1
  50. package/dist/otel/fetch.d.ts +0 -12
  51. package/dist/otel/fetch.d.ts.map +0 -1
  52. package/dist/otel/http.d.ts +0 -16
  53. package/dist/otel/http.d.ts.map +0 -1
  54. package/dist/otel/logger.d.ts +0 -36
  55. package/dist/otel/logger.d.ts.map +0 -1
  56. package/dist/otel/otel.d.ts +0 -58
  57. package/dist/otel/otel.d.ts.map +0 -1
  58. package/dist/router.d.ts +0 -37
  59. package/dist/router.d.ts.map +0 -1
  60. package/src/_config.ts +0 -101
  61. package/src/_context.ts +0 -88
  62. package/src/_idle.ts +0 -26
  63. package/src/_server.ts +0 -278
  64. package/src/_services.ts +0 -175
  65. package/src/_util.ts +0 -63
  66. package/src/_waituntil.ts +0 -246
  67. package/src/agent.ts +0 -287
  68. package/src/app.ts +0 -31
  69. package/src/index.ts +0 -5
  70. package/src/logger/console.ts +0 -111
  71. package/src/logger/index.ts +0 -3
  72. package/src/logger/internal.ts +0 -165
  73. package/src/logger/logger.ts +0 -44
  74. package/src/logger/user.ts +0 -11
  75. package/src/logger/util.ts +0 -80
  76. package/src/otel/config.ts +0 -81
  77. package/src/otel/console.ts +0 -56
  78. package/src/otel/fetch.ts +0 -103
  79. package/src/otel/http.ts +0 -51
  80. package/src/otel/logger.ts +0 -238
  81. package/src/otel/otel.ts +0 -317
  82. package/src/router.ts +0 -303
@@ -1,26 +0,0 @@
1
- import { type ExportResult } from '@opentelemetry/core';
2
- import type { LogRecordExporter, ReadableLogRecord } from '@opentelemetry/sdk-logs';
3
- /**
4
- * Console implementation of the LogRecordExporter interface
5
- */
6
- export declare class ConsoleLogRecordExporter implements LogRecordExporter {
7
- private readonly logger;
8
- /**
9
- * Creates a new console log record exporter
10
- */
11
- constructor();
12
- /**
13
- * Exports log records to the console
14
- *
15
- * @param logs - The log records to export
16
- * @param resultCallback - Callback function to report the export result
17
- */
18
- export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): void;
19
- /**
20
- * Shuts down the exporter
21
- *
22
- * @returns A promise that resolves when shutdown is complete
23
- */
24
- shutdown(): Promise<void>;
25
- }
26
- //# sourceMappingURL=console.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/otel/console.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGpF;;GAEG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC;;OAEG;;IAKH;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAuBvF;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzB"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Reference to the original fetch function before instrumentation
3
- */
4
- export declare const __originalFetch: typeof fetch;
5
- /**
6
- * Instruments the global fetch function with OpenTelemetry tracing
7
- *
8
- * Replaces the global fetch with an instrumented version that creates spans
9
- * for each HTTP request and propagates trace context in headers
10
- */
11
- export declare function instrumentFetch(): void;
12
- //# sourceMappingURL=fetch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/otel/fetch.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,eAAe,cAAQ,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,eAAe,SAyF9B"}
@@ -1,16 +0,0 @@
1
- import { propagation } from '@opentelemetry/api';
2
- /**
3
- * Injects trace context into response headers using the OpenTelemetry propagation API
4
- *
5
- * @param headers - Optional existing headers to include
6
- * @returns A record of headers with trace context injected
7
- */
8
- export declare function injectTraceContextToHeaders(headers?: Record<string, string> | Headers): Record<string, string>;
9
- /**
10
- * Extracts trace context from Bun Request headers
11
- *
12
- * @param req - The Bun Request object
13
- * @returns The context with trace information
14
- */
15
- export declare function extractTraceContextFromRequest(req: Request): ReturnType<typeof propagation.extract>;
16
- //# sourceMappingURL=http.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/otel/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAY,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC7C,GAAG,EAAE,OAAO,GACV,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAYxC"}
@@ -1,36 +0,0 @@
1
- import * as LogsAPI from '@opentelemetry/api-logs';
2
- import type { Logger } from '../logger';
3
- /**
4
- * Reference to the original console object before patching
5
- */
6
- export declare const __originalConsole: any;
7
- export declare class OtelLogger implements Logger {
8
- private readonly delegates;
9
- private readonly context;
10
- private readonly logger;
11
- constructor(useConsole: boolean, delegates: LogsAPI.Logger | LogsAPI.Logger[], context?: Record<string, unknown> | undefined);
12
- addDelegate(delegate: LogsAPI.Logger): void;
13
- private formatMessage;
14
- private getAttributes;
15
- private emitToAll;
16
- debug(message: string, ...args: unknown[]): void;
17
- info(message: string, ...args: unknown[]): void;
18
- warn(message: string, ...args: unknown[]): void;
19
- error(message: string, ...args: unknown[]): void;
20
- child(opts: Record<string, unknown>): OtelLogger;
21
- }
22
- /**
23
- * Creates a logger that integrates with OpenTelemetry
24
- *
25
- * @param useConsole - Whether to also log to the console
26
- * @param context - Additional context to include with log records
27
- * @returns A logger instance
28
- */
29
- export declare function createLogger(useConsole: boolean, context?: Record<string, unknown>): Logger;
30
- /**
31
- * Patches the global console object to integrate with OpenTelemetry logging
32
- *
33
- * @param attributes - Attributes to include with all console log records
34
- */
35
- export declare function patchConsole(enabled: boolean, attributes: Record<string, unknown>): void;
36
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/otel/logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAyB,CAAC;AAExD,qBAAa,UAAW,YAAW,MAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAGlD,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAO9C,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM;IAIpC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,SAAS;IAkBjB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAWzC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAWxC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAWxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAWzC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMnC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAK3F;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAoFjF"}
@@ -1,58 +0,0 @@
1
- import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
2
- import { type Meter, type Tracer } from '@opentelemetry/api';
3
- import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
4
- import type { Resource } from '@opentelemetry/resources';
5
- import { BatchLogRecordProcessor, LoggerProvider, type LogRecordProcessor } from '@opentelemetry/sdk-logs';
6
- import type { Logger } from '../logger';
7
- /**
8
- * Configuration for OpenTelemetry initialization
9
- */
10
- export interface OtelConfig {
11
- url?: string;
12
- name: string;
13
- version: string;
14
- bearerToken?: string;
15
- orgId?: string;
16
- projectId?: string;
17
- deploymentId?: string;
18
- environment?: string;
19
- cliVersion?: string;
20
- devmode?: boolean;
21
- spanProcessors?: Array<SpanProcessor>;
22
- }
23
- /**
24
- * Response from OpenTelemetry initialization
25
- */
26
- export interface OtelResponse {
27
- tracer: Tracer;
28
- meter: Meter;
29
- logger: Logger;
30
- shutdown: () => Promise<void>;
31
- }
32
- export declare const createResource: (config: OtelConfig) => Resource;
33
- export declare const createAgentuityLoggerProvider: ({ url, headers, resource, }: {
34
- url?: string;
35
- headers?: Record<string, string>;
36
- resource: Resource;
37
- }) => {
38
- processor: LogRecordProcessor;
39
- provider: LoggerProvider;
40
- exporter: OTLPLogExporter | undefined;
41
- };
42
- export declare const createUserLoggerProvider: ({ url, headers, resource, }: {
43
- url: string;
44
- headers?: Record<string, string>;
45
- resource: Resource;
46
- }) => {
47
- provider: LoggerProvider;
48
- exporter: OTLPLogExporter;
49
- processor: BatchLogRecordProcessor;
50
- };
51
- /**
52
- * Registers and initializes OpenTelemetry with the specified configuration
53
- *
54
- * @param config - The configuration for OpenTelemetry
55
- * @returns An object containing the tracer, logger, and shutdown function
56
- */
57
- export declare function registerOtel(config: OtelConfig): OtelResponse;
58
- //# sourceMappingURL=otel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/otel/otel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAsB,EAAE,KAAK,KAAK,EAAwB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQlG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAMzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACN,uBAAuB,EACvB,cAAc,EACd,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAKD,eAAO,MAAM,cAAc,GAAI,QAAQ,UAAU,KAAG,QAiBnD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,6BAI3C;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;CACnB;;;;CA0BA,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,6BAItC;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;CACnB;;;;CAiBA,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAsK7D"}
package/dist/router.d.ts DELETED
@@ -1,37 +0,0 @@
1
- import { type Context, Hono, type Input, type MiddlewareHandler, type Schema } from 'hono';
2
- import type { Env } from './app';
3
- type AgentHandler<E extends Env = Env, P extends string = string, I extends Input = {}> = (c: Context<E, P, I>) => any | Promise<any>;
4
- type StreamHandler<E extends Env = Env, P extends string = string, I extends Input = {}> = (c: Context<E, P, I>) => ReadableStream<any> | Promise<ReadableStream<any>>;
5
- interface WebSocketConnection {
6
- onOpen: (handler: (event: any) => void | Promise<void>) => void;
7
- onMessage: (handler: (event: any) => void | Promise<void>) => void;
8
- onClose: (handler: (event: any) => void | Promise<void>) => void;
9
- send: (data: string | ArrayBuffer | Uint8Array) => void;
10
- }
11
- type WebSocketHandler<E extends Env = Env, P extends string = string, I extends Input = {}> = (c: Context<E, P, I>) => (ws: WebSocketConnection) => void | Promise<void>;
12
- type SSEHandler<E extends Env = Env, P extends string = string, I extends Input = {}> = (c: Context<E, P, I>) => (stream: any) => void | Promise<void>;
13
- type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options';
14
- type ExtendedHono<E extends Env = Env, S extends Schema = {}> = {
15
- [K in Exclude<keyof Hono<E, S>, HttpMethod>]: Hono<E, S>[K];
16
- } & {
17
- [K in HttpMethod]: {
18
- <P extends string = string>(path: P, handler: AgentHandler<E, P>): Hono<E, S>;
19
- <P extends string = string, I extends Input = {}>(path: P, middleware: MiddlewareHandler<E, P, I>, handler: AgentHandler<E, P, I>): Hono<E, S>;
20
- <P extends string = string, I extends Input = {}>(path: P, middleware: MiddlewareHandler<E, P, I>): Hono<E, S>;
21
- };
22
- } & {
23
- email(address: string, handler: AgentHandler): Hono<E, S>;
24
- sms(params: {
25
- number: string;
26
- }, handler: AgentHandler): Hono<E, S>;
27
- cron(schedule: string, handler: AgentHandler): Hono<E, S>;
28
- stream<P extends string = string>(path: P, handler: StreamHandler<E, P>): Hono<E, S>;
29
- stream<P extends string = string, I extends Input = {}>(path: P, middleware: MiddlewareHandler<E, P, I>, handler: StreamHandler<E, P, I>): Hono<E, S>;
30
- websocket<P extends string = string>(path: P, handler: WebSocketHandler<E, P>): Hono<E, S>;
31
- websocket<P extends string = string, I extends Input = {}>(path: P, middleware: MiddlewareHandler<E, P, I>, handler: WebSocketHandler<E, P, I>): Hono<E, S>;
32
- sse<P extends string = string>(path: P, handler: SSEHandler<E, P>): Hono<E, S>;
33
- sse<P extends string = string, I extends Input = {}>(path: P, middleware: MiddlewareHandler<E, P, I>, handler: SSEHandler<E, P, I>): Hono<E, S>;
34
- };
35
- export declare const createRouter: <E extends Env = Env, S extends Schema = Schema>() => ExtendedHono<E, S>;
36
- export {};
37
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/src/_config.ts DELETED
@@ -1,101 +0,0 @@
1
- let appName: string | undefined;
2
- let appVersion: string | undefined;
3
-
4
- (async () => {
5
- const f = Bun.file('./package.json');
6
- if (await f.exists()) {
7
- const pkg = JSON.parse(await f.text());
8
- appName = pkg.name;
9
- appVersion = pkg.version;
10
- }
11
- })();
12
-
13
- /**
14
- * Returns the SDK Version that was used to build this app
15
- *
16
- * @returns string
17
- */
18
- export function getSDKVersion(): string {
19
- return process.env.AGENTUITY_CLOUD_SDK_VERSION ?? 'unknown';
20
- }
21
-
22
- /**
23
- * Returns the App Name that was used when this app was built
24
- *
25
- * @returns string
26
- */
27
- export function getAppName(): string {
28
- return appName ?? 'unknown';
29
- }
30
-
31
- /**
32
- * Returns the App Version that was used when this app was built
33
- *
34
- * @returns string
35
- */
36
- export function getAppVersion(): string {
37
- return appVersion ?? 'unknown';
38
- }
39
-
40
- /**
41
- * Returns the Organization ID for this app
42
- *
43
- * @returns string
44
- */
45
- export function getOrganizationId(): string | undefined {
46
- return process.env.AGENTUITY_CLOUD_ORG_ID;
47
- }
48
-
49
- /**
50
- * Returns the Project ID for this app
51
- *
52
- * @returns string
53
- */
54
- export function getProjectId(): string | undefined {
55
- return process.env.AGENTUITY_CLOUD_PROJECT_ID;
56
- }
57
-
58
- /**
59
- * Returns the Deployment ID for this app that was deployed
60
- *
61
- * @returns string | undefined
62
- */
63
- export function getDeploymentId(): string | undefined {
64
- return process.env.AGENTUITY_CLOUD_DEPLOYMENT_ID;
65
- }
66
-
67
- /**
68
- * Returns true if the app is running in dev mode
69
- *
70
- * @returns boolean
71
- */
72
- export function isDevMode(): boolean {
73
- return process.env.AGENTUITY_SDK_DEV_MODE === 'true';
74
- }
75
-
76
- /**
77
- * Returns true if the app is running in production mode
78
- *
79
- * @returns boolean
80
- */
81
- export function isProduction(): boolean {
82
- return process.env.NODE_ENV === 'production';
83
- }
84
-
85
- /**
86
- * Returns the CLI version that was used when this app was built
87
- *
88
- * @returns string
89
- */
90
- export function getCLIVersion(): string {
91
- return process.env.AGENTUITY_CLI_VERSION ?? 'unknown';
92
- }
93
-
94
- /**
95
- * Returns the environment setting for this app
96
- *
97
- * @returns string
98
- */
99
- export function getEnvironment(): string {
100
- return process.env.AGENTUITY_ENVIRONMENT || process.env.NODE_ENV || 'development';
101
- }
package/src/_context.ts DELETED
@@ -1,88 +0,0 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
- import type { Tracer } from '@opentelemetry/api';
3
- import type { KeyValueStorage, ObjectStorage, StreamStorage, VectorStorage } from '@agentuity/core';
4
- import type { AgentContext, AgentName } from './agent';
5
- import type { Logger } from './logger';
6
- import WaitUntilHandler from './_waituntil';
7
- import { registerServices } from './_services';
8
-
9
- export interface RequestAgentContextArgs<TAgentMap, TAgent> {
10
- sessionId: string;
11
- agent: TAgentMap;
12
- current: TAgent;
13
- agentName: AgentName;
14
- logger: Logger;
15
- tracer: Tracer;
16
- setHeader: (k: string, v: string) => void;
17
- }
18
-
19
- export class RequestAgentContext<TAgentMap, TAgent> implements AgentContext {
20
- agent: TAgentMap;
21
- current: TAgent;
22
- agentName: AgentName;
23
- logger: Logger;
24
- sessionId: string;
25
- tracer: Tracer;
26
- kv!: KeyValueStorage;
27
- objectstore!: ObjectStorage;
28
- stream!: StreamStorage;
29
- vector!: VectorStorage;
30
- private waituntilHandler: WaitUntilHandler;
31
-
32
- constructor(args: RequestAgentContextArgs<TAgentMap, TAgent>) {
33
- this.agent = args.agent;
34
- this.current = args.current;
35
- this.agentName = args.agentName;
36
- this.logger = args.logger;
37
- this.sessionId = args.sessionId;
38
- this.tracer = args.tracer;
39
- this.waituntilHandler = new WaitUntilHandler(args.setHeader, args.tracer);
40
- registerServices(this);
41
- }
42
-
43
- waitUntil(callback: Promise<void> | (() => void | Promise<void>)): void {
44
- this.waituntilHandler.waitUntil(callback);
45
- }
46
-
47
- waitUntilAll(): Promise<void> {
48
- return this.waituntilHandler.waitUntilAll(this.logger, this.sessionId);
49
- }
50
- }
51
-
52
- const asyncLocalStorage = new AsyncLocalStorage<AgentContext>({
53
- name: 'AgentContext',
54
- });
55
-
56
- export const inAgentContext = (): boolean => {
57
- const context = asyncLocalStorage.getStore();
58
- return !!context;
59
- };
60
-
61
- export const getAgentContext = (): AgentContext => {
62
- const context = asyncLocalStorage.getStore();
63
- if (!context) {
64
- throw new Error('AgentContext is not available');
65
- }
66
- return context;
67
- };
68
-
69
- export const runInAgentContext = <TAgentMap, TAgent>(
70
- ctxObject: Record<string, unknown>,
71
- args: RequestAgentContextArgs<TAgentMap, TAgent>,
72
- next: () => Promise<void>
73
- ) => {
74
- const ctx = new RequestAgentContext(args);
75
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
- const _ctx = ctx as any;
77
- Object.getOwnPropertyNames(ctx).forEach((k) => {
78
- ctxObject[k] = _ctx[k];
79
- });
80
- for (const k of ['waitUntil']) {
81
- ctxObject[k] = _ctx[k];
82
- }
83
- return asyncLocalStorage.run(ctx, async () => {
84
- return next().then(() => {
85
- setImmediate(() => ctx.waitUntilAll()); // TODO: move until session
86
- });
87
- });
88
- };
package/src/_idle.ts DELETED
@@ -1,26 +0,0 @@
1
- import { getServer } from './_server';
2
- import { hasWaitUntilPending } from './_waituntil';
3
-
4
- /**
5
- * returns true if the server is idle (no pending requests, websockets, or waitUntil tasks)
6
- *
7
- * @returns true if idle
8
- */
9
- export function isIdle() {
10
- if (hasWaitUntilPending()) {
11
- return false;
12
- }
13
-
14
- const _server = getServer();
15
- if (_server) {
16
- // we have to check >1 since the idle request itself will show up as a pending request
17
- if (_server.pendingRequests > 1) {
18
- return false;
19
- }
20
- if (_server.pendingWebSockets > 0) {
21
- return false;
22
- }
23
- }
24
-
25
- return true;
26
- }