@recombine-ai/telescope 0.1.0 → 0.2.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.
@@ -0,0 +1,6 @@
1
+ export declare function helloTelescope(): string;
2
+ export type * from './interfaces/api-call-tracer';
3
+ export type * from './interfaces/conversational-tracer';
4
+ export type * from './interfaces/latency-tracer';
5
+ export type * from './interfaces/step-tracer';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,6BAA6B,CAAA;AAChD,mBAAmB,0BAA0B,CAAA"}
package/build/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export function helloTelescope() {
2
+ return 'Hello from telescope!';
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { helloTelescope } from './index';
3
+ describe('Telescope', () => {
4
+ it('returns the correct greeting', () => {
5
+ expect(helloTelescope()).toBe('Hello from telescope!');
6
+ });
7
+ });
@@ -0,0 +1,21 @@
1
+ export type ApiCallTrace = {
2
+ traceId?: string;
3
+ conversationId?: string;
4
+ scopeId?: string;
5
+ operationName: string;
6
+ method: string;
7
+ path: string;
8
+ baseUrl?: string;
9
+ request?: unknown;
10
+ response?: unknown;
11
+ status?: number;
12
+ ok?: boolean;
13
+ durationMs?: number;
14
+ error?: unknown;
15
+ createdAt: number;
16
+ };
17
+ export interface ApiCallTracer {
18
+ addApiCallTrace(trace: ApiCallTrace): void;
19
+ flush(): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=api-call-tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-call-tracer.d.ts","sourceRoot":"","sources":["../../src/interfaces/api-call-tracer.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IAEZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,OAAO,CAAC,EAAE,OAAO,CAAA;IAGjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,KAAK,CAAC,EAAE,OAAO,CAAA;IAGf,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,aAAa;IAC1B,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ export type ConversationalTrace = {
2
+ traceId?: string;
3
+ conversationId?: string;
4
+ scopeId?: string;
5
+ eventName: 'finished-main-streaming-step' | 'llm-handler-stream-requested' | 'received-message' | 'sent-message' | 'transfer-requested' | 'hangup-requested';
6
+ role: 'agent' | 'user' | 'system' | (string & {});
7
+ medium: 'phone' | 'whatsapp' | (string & {});
8
+ content: string;
9
+ createdAt: number;
10
+ error?: unknown;
11
+ };
12
+ export interface ConversationalTracer {
13
+ addConversationalTrace(trace: ConversationalTrace): void;
14
+ flush(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=conversational-tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversational-tracer.d.ts","sourceRoot":"","sources":["../../src/interfaces/conversational-tracer.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG;IAE9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,SAAS,EACH,8BAA8B,GAC9B,8BAA8B,GAC9B,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,CAAA;IAGxB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAGjD,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAG5C,OAAO,EAAE,MAAM,CAAA;IAGf,SAAS,EAAE,MAAM,CAAA;IAEjB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,oBAAoB;IACjC,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface Logger {
2
+ log: (...args: any[]) => void;
3
+ debug: (...args: any[]) => void;
4
+ error: (...args: any[]) => void;
5
+ }
6
+ //# sourceMappingURL=dockyard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockyard.d.ts","sourceRoot":"","sources":["../../src/interfaces/dockyard.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACnB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC7B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAClC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ export type LatencyTrace = {
2
+ traceId?: string;
3
+ conversationId?: string;
4
+ seq: number;
5
+ atMs: number;
6
+ eventType: string;
7
+ payload?: unknown;
8
+ createdAt: number;
9
+ };
10
+ export interface LatencyTracer {
11
+ addLatencyTrace(trace: LatencyTrace): void;
12
+ flush(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=latency-tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latency-tracer.d.ts","sourceRoot":"","sources":["../../src/interfaces/latency-tracer.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,GAAG,EAAE,MAAM,CAAA;IAGX,IAAI,EAAE,MAAM,CAAA;IAGZ,SAAS,EAAE,MAAM,CAAA;IAGjB,OAAO,CAAC,EAAE,OAAO,CAAA;IAGjB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,aAAa;IAC1B,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import type { ZodType } from 'zod';
2
+ export type LlmUsage = {
3
+ promptTokens?: number;
4
+ completionTokens?: number;
5
+ totalTokens?: number;
6
+ cachedPromptTokens?: number;
7
+ };
8
+ export type StepTrace = {
9
+ traceId?: string;
10
+ conversationId?: string;
11
+ scopeId?: string;
12
+ workflowId: string;
13
+ workflowRunId: string;
14
+ name: string;
15
+ renderedPrompt?: string;
16
+ receivedContext?: Record<string, unknown> | unknown;
17
+ receivedPrompt?: string;
18
+ stringifiedConversation?: string;
19
+ schema?: ZodType;
20
+ model?: string;
21
+ llmUsage?: LlmUsage;
22
+ response?: string;
23
+ createdAt: number;
24
+ error?: Error;
25
+ };
26
+ export interface StepTracer {
27
+ addStepTrace(trace: StepTrace): void;
28
+ flush(): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=step-tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-tracer.d.ts","sourceRoot":"","sources":["../../src/interfaces/step-tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAElC,MAAM,MAAM,QAAQ,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,UAAU,EAAE,MAAM,CAAA;IAElB,aAAa,EAAE,MAAM,CAAA;IAErB,IAAI,EAAE,MAAM,CAAA;IAEZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAE,MAAM,CAAA;IAEjB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB,CAAA;AAED,MAAM,WAAW,UAAU;IAKvB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { ApiCallTrace } from './interfaces/api-call-tracer';
2
+ import { ConversationalTrace } from './interfaces/conversational-tracer';
3
+ import { Logger } from './interfaces/dockyard';
4
+ import { LatencyTrace } from './interfaces/latency-tracer';
5
+ import { StepTrace } from './interfaces/step-tracer';
6
+ export declare function createStubStepTracer(logger: Logger): {
7
+ addStepTrace(trace: StepTrace): void;
8
+ flush(): Promise<void>;
9
+ };
10
+ export declare function createStubApiCallTracer(logger: Logger): {
11
+ addApiCallTrace(trace: ApiCallTrace): void;
12
+ flush(): Promise<void>;
13
+ };
14
+ export declare function createStubConversationalTracer(logger: Logger): {
15
+ addConversationalTrace(trace: ConversationalTrace): void;
16
+ flush(): Promise<void>;
17
+ };
18
+ export declare function createStubLatencyTracer(logger: Logger): {
19
+ addLatencyTrace(trace: LatencyTrace): void;
20
+ flush(): Promise<void>;
21
+ };
22
+ //# sourceMappingURL=stubs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../src/stubs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAiB,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,oCAAoC,CAAA;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,SAAS,EAAc,MAAM,0BAA0B,CAAA;AAEhE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM;wBAEvB,SAAS;;EAuBpC;AAKD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM;2BAEvB,YAAY;;EAQ1C;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM;kCAEvB,mBAAmB;;EAKxD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM;2BAEvB,YAAY;;EAK1C"}
package/build/stubs.js ADDED
@@ -0,0 +1,51 @@
1
+ import { toJSONSchema } from 'zod';
2
+ export function createStubStepTracer(logger) {
3
+ return {
4
+ addStepTrace(trace) {
5
+ logger.log(`StepTrace: ${trace.name}, in workflow (${trace.workflowId})`);
6
+ if (trace.model) {
7
+ logger.log(`StepTrace, model: ${trace.model}`);
8
+ }
9
+ if (trace.schema) {
10
+ logger.log('StepTrace, schema:', toJSONSchema(trace.schema));
11
+ }
12
+ if (trace.receivedContext) {
13
+ logger.log('StepTrace, context:', trace.receivedContext);
14
+ }
15
+ if (trace.stringifiedConversation) {
16
+ logger.log(`StepTrace, messages: \n${trace.stringifiedConversation}`);
17
+ }
18
+ if (trace.renderedPrompt) {
19
+ logger.log('RENDERED PROMPT', { prompt: trace.renderedPrompt });
20
+ }
21
+ if (trace.response) {
22
+ logger.log(`StepTrace, LLM response:\n${trace.response}`);
23
+ }
24
+ },
25
+ async flush() { },
26
+ };
27
+ }
28
+ export function createStubApiCallTracer(logger) {
29
+ return {
30
+ addApiCallTrace(trace) {
31
+ logger.log(`ApiCallTrace: ${trace.operationName} (${trace.method} ${trace.path})`, trace);
32
+ },
33
+ async flush() { },
34
+ };
35
+ }
36
+ export function createStubConversationalTracer(logger) {
37
+ return {
38
+ addConversationalTrace(trace) {
39
+ logger.log(`ConversationalTrace: ${trace.eventName}`, trace);
40
+ },
41
+ async flush() { },
42
+ };
43
+ }
44
+ export function createStubLatencyTracer(logger) {
45
+ return {
46
+ addLatencyTrace(trace) {
47
+ logger.log(`LatencyTrace: ${trace.eventType} (seq ${trace.seq})`, trace);
48
+ },
49
+ async flush() { },
50
+ };
51
+ }
package/package.json CHANGED
@@ -1,25 +1,30 @@
1
1
  {
2
- "name": "@recombine-ai/telescope",
3
- "version": "0.1.0",
4
- "description": "Observability suite for Recombine platform and Bosun IDE",
5
- "license": "EULA",
6
- "author": "recombine.ai",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/recombine-ai/platform.git",
10
- "directory": "packages/telescope"
11
- },
12
- "files": [
13
- "build"
14
- ],
15
- "type": "module",
16
- "exports": {
17
- ".": "./src/index.ts"
18
- },
19
- "publishConfig": {
20
- "registry": "https://registry.npmjs.org"
21
- },
22
- "dependencies": {
23
- "zod": "^4.4.3"
2
+ "name": "@recombine-ai/telescope",
3
+ "version": "0.2.0",
4
+ "description": "Observability suite for Recombine platform and Bosun IDE",
5
+ "license": "EULA",
6
+ "author": "recombine.ai",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/recombine-ai/platform.git",
10
+ "directory": "packages/telescope"
11
+ },
12
+ "files": [
13
+ "build"
14
+ ],
15
+ "type": "module",
16
+ "types": "./build/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./build/index.d.ts",
20
+ "import": "./build/index.js",
21
+ "default": "./build/index.js"
24
22
  }
25
- }
23
+ },
24
+ "publishConfig": {
25
+ "registry": "https://registry.npmjs.org"
26
+ },
27
+ "dependencies": {
28
+ "zod": "^4.4.3"
29
+ }
30
+ }