@fabric-harness/sdk 0.1.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.
Files changed (107) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +73 -0
  3. package/dist/agent-definition.d.ts +61 -0
  4. package/dist/agent-definition.d.ts.map +1 -0
  5. package/dist/agent-definition.js +52 -0
  6. package/dist/agent-definition.js.map +1 -0
  7. package/dist/agent.d.ts +13 -0
  8. package/dist/agent.d.ts.map +1 -0
  9. package/dist/agent.js +99 -0
  10. package/dist/agent.js.map +1 -0
  11. package/dist/context-budget.d.ts +20 -0
  12. package/dist/context-budget.d.ts.map +1 -0
  13. package/dist/context-budget.js +27 -0
  14. package/dist/context-budget.js.map +1 -0
  15. package/dist/context.d.ts +3 -0
  16. package/dist/context.d.ts.map +1 -0
  17. package/dist/context.js +8 -0
  18. package/dist/context.js.map +1 -0
  19. package/dist/error.d.ts +25 -0
  20. package/dist/error.d.ts.map +1 -0
  21. package/dist/error.js +48 -0
  22. package/dist/error.js.map +1 -0
  23. package/dist/filesystem-source.d.ts +69 -0
  24. package/dist/filesystem-source.d.ts.map +1 -0
  25. package/dist/filesystem-source.js +109 -0
  26. package/dist/filesystem-source.js.map +1 -0
  27. package/dist/history.d.ts +16 -0
  28. package/dist/history.d.ts.map +1 -0
  29. package/dist/history.js +118 -0
  30. package/dist/history.js.map +1 -0
  31. package/dist/index.d.ts +44 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +25 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/lite.d.ts +46 -0
  36. package/dist/lite.d.ts.map +1 -0
  37. package/dist/lite.js +38 -0
  38. package/dist/lite.js.map +1 -0
  39. package/dist/loop.d.ts +41 -0
  40. package/dist/loop.d.ts.map +1 -0
  41. package/dist/loop.js +94 -0
  42. package/dist/loop.js.map +1 -0
  43. package/dist/mcp-stdio.d.ts +28 -0
  44. package/dist/mcp-stdio.d.ts.map +1 -0
  45. package/dist/mcp-stdio.js +102 -0
  46. package/dist/mcp-stdio.js.map +1 -0
  47. package/dist/mcp.d.ts +40 -0
  48. package/dist/mcp.d.ts.map +1 -0
  49. package/dist/mcp.js +153 -0
  50. package/dist/mcp.js.map +1 -0
  51. package/dist/model.d.ts +204 -0
  52. package/dist/model.d.ts.map +1 -0
  53. package/dist/model.js +661 -0
  54. package/dist/model.js.map +1 -0
  55. package/dist/otel.d.ts +17 -0
  56. package/dist/otel.d.ts.map +1 -0
  57. package/dist/otel.js +25 -0
  58. package/dist/otel.js.map +1 -0
  59. package/dist/policy.d.ts +54 -0
  60. package/dist/policy.d.ts.map +1 -0
  61. package/dist/policy.js +148 -0
  62. package/dist/policy.js.map +1 -0
  63. package/dist/providers.d.ts +37 -0
  64. package/dist/providers.d.ts.map +1 -0
  65. package/dist/providers.js +265 -0
  66. package/dist/providers.js.map +1 -0
  67. package/dist/redaction.d.ts +11 -0
  68. package/dist/redaction.d.ts.map +1 -0
  69. package/dist/redaction.js +41 -0
  70. package/dist/redaction.js.map +1 -0
  71. package/dist/result.d.ts +7 -0
  72. package/dist/result.d.ts.map +1 -0
  73. package/dist/result.js +105 -0
  74. package/dist/result.js.map +1 -0
  75. package/dist/runtime-mode.d.ts +30 -0
  76. package/dist/runtime-mode.d.ts.map +1 -0
  77. package/dist/runtime-mode.js +42 -0
  78. package/dist/runtime-mode.js.map +1 -0
  79. package/dist/sandbox.d.ts +247 -0
  80. package/dist/sandbox.d.ts.map +1 -0
  81. package/dist/sandbox.js +922 -0
  82. package/dist/sandbox.js.map +1 -0
  83. package/dist/schema.d.ts +37 -0
  84. package/dist/schema.d.ts.map +1 -0
  85. package/dist/schema.js +121 -0
  86. package/dist/schema.js.map +1 -0
  87. package/dist/session.d.ts +60 -0
  88. package/dist/session.d.ts.map +1 -0
  89. package/dist/session.js +762 -0
  90. package/dist/session.js.map +1 -0
  91. package/dist/store.d.ts +48 -0
  92. package/dist/store.d.ts.map +1 -0
  93. package/dist/store.js +348 -0
  94. package/dist/store.js.map +1 -0
  95. package/dist/telemetry.d.ts +15 -0
  96. package/dist/telemetry.d.ts.map +1 -0
  97. package/dist/telemetry.js +51 -0
  98. package/dist/telemetry.js.map +1 -0
  99. package/dist/tools.d.ts +131 -0
  100. package/dist/tools.d.ts.map +1 -0
  101. package/dist/tools.js +235 -0
  102. package/dist/tools.js.map +1 -0
  103. package/dist/types.d.ts +343 -0
  104. package/dist/types.d.ts.map +1 -0
  105. package/dist/types.js +2 -0
  106. package/dist/types.js.map +1 -0
  107. package/package.json +71 -0
@@ -0,0 +1,204 @@
1
+ import type { ToolDef } from './tools.js';
2
+ export type ModelMessageRole = 'system' | 'user' | 'assistant' | 'tool';
3
+ export interface ModelMessage {
4
+ role: ModelMessageRole;
5
+ content: string;
6
+ name?: string;
7
+ toolCallId?: string;
8
+ toolCalls?: ModelToolCall[];
9
+ }
10
+ export interface ModelToolCall {
11
+ id: string;
12
+ name: string;
13
+ input: unknown;
14
+ }
15
+ export interface ModelToolSchema {
16
+ name: string;
17
+ description?: string;
18
+ inputSchema?: unknown;
19
+ }
20
+ export interface ModelRequest {
21
+ model?: string;
22
+ messages: ModelMessage[];
23
+ tools?: ModelToolSchema[];
24
+ maxToolCalls?: number;
25
+ signal?: AbortSignal;
26
+ }
27
+ export interface ModelResponse {
28
+ message?: ModelMessage;
29
+ toolCalls?: ModelToolCall[];
30
+ usage?: ModelUsage;
31
+ }
32
+ export interface ModelUsage {
33
+ inputTokens?: number;
34
+ outputTokens?: number;
35
+ totalTokens?: number;
36
+ costUsd?: number;
37
+ }
38
+ export interface ModelProvider {
39
+ name: string;
40
+ generate(request: ModelRequest): Promise<ModelResponse>;
41
+ }
42
+ export interface ModelRuntimeOptions {
43
+ timeoutMs?: number;
44
+ retries?: number;
45
+ retryDelayMs?: number;
46
+ signal?: AbortSignal;
47
+ onAttempt?: (attempt: ModelAttemptEvent) => void | Promise<void>;
48
+ }
49
+ export interface ModelAttemptEvent {
50
+ provider: string;
51
+ attempt: number;
52
+ maxAttempts: number;
53
+ status: 'start' | 'success' | 'retry' | 'error';
54
+ durationMs?: number;
55
+ error?: string;
56
+ usage?: ModelUsage;
57
+ }
58
+ export interface OpenAICompatibleProviderOptions {
59
+ name?: string;
60
+ baseUrl: string;
61
+ apiKey: string;
62
+ defaultModel?: string;
63
+ headers?: Record<string, string>;
64
+ }
65
+ export interface AnthropicProviderOptions {
66
+ name?: string;
67
+ baseUrl?: string;
68
+ apiKey: string;
69
+ defaultModel?: string;
70
+ headers?: Record<string, string>;
71
+ maxTokens?: number;
72
+ }
73
+ export interface AzureOpenAIProviderOptions {
74
+ name?: string;
75
+ baseUrl: string;
76
+ apiKey: string;
77
+ deployment: string;
78
+ apiVersion?: string;
79
+ headers?: Record<string, string>;
80
+ }
81
+ export interface GeminiProviderOptions {
82
+ name?: string;
83
+ baseUrl?: string;
84
+ apiKey: string;
85
+ defaultModel?: string;
86
+ headers?: Record<string, string>;
87
+ }
88
+ export interface VertexAIProviderOptions {
89
+ name?: string;
90
+ project: string;
91
+ location?: string;
92
+ accessToken: string;
93
+ defaultModel?: string;
94
+ headers?: Record<string, string>;
95
+ }
96
+ export interface CohereProviderOptions {
97
+ name?: string;
98
+ baseUrl?: string;
99
+ apiKey: string;
100
+ defaultModel?: string;
101
+ headers?: Record<string, string>;
102
+ }
103
+ export interface BedrockProviderOptions {
104
+ name?: string;
105
+ region: string;
106
+ accessKeyId: string;
107
+ secretAccessKey: string;
108
+ sessionToken?: string;
109
+ defaultModel?: string;
110
+ headers?: Record<string, string>;
111
+ }
112
+ export interface FallbackModelProviderOptions {
113
+ name?: string;
114
+ providers: ModelProvider[];
115
+ }
116
+ export declare function toolsToModelSchemas(tools: Iterable<ToolDef>): ModelToolSchema[];
117
+ export declare function generateWithRuntime(provider: ModelProvider, request: ModelRequest, options?: ModelRuntimeOptions): Promise<ModelResponse>;
118
+ export declare class MockModelProvider implements ModelProvider {
119
+ readonly name = "mock";
120
+ generate(request: ModelRequest): Promise<ModelResponse>;
121
+ }
122
+ export declare class OpenAICompatibleModelProvider implements ModelProvider {
123
+ readonly name: string;
124
+ private readonly baseUrl;
125
+ private readonly apiKey;
126
+ private readonly defaultModel?;
127
+ private readonly headers;
128
+ constructor(options: OpenAICompatibleProviderOptions);
129
+ generate(request: ModelRequest): Promise<ModelResponse>;
130
+ }
131
+ export declare class AzureOpenAIModelProvider implements ModelProvider {
132
+ readonly name: string;
133
+ private readonly baseUrl;
134
+ private readonly apiKey;
135
+ private readonly deployment;
136
+ private readonly apiVersion;
137
+ private readonly headers;
138
+ constructor(options: AzureOpenAIProviderOptions);
139
+ generate(request: ModelRequest): Promise<ModelResponse>;
140
+ }
141
+ export declare class GeminiModelProvider implements ModelProvider {
142
+ readonly name: string;
143
+ private readonly baseUrl;
144
+ private readonly apiKey;
145
+ private readonly defaultModel?;
146
+ private readonly headers;
147
+ constructor(options: GeminiProviderOptions);
148
+ generate(request: ModelRequest): Promise<ModelResponse>;
149
+ }
150
+ export declare class VertexAIModelProvider implements ModelProvider {
151
+ readonly name: string;
152
+ private readonly project;
153
+ private readonly location;
154
+ private readonly accessToken;
155
+ private readonly defaultModel?;
156
+ private readonly headers;
157
+ constructor(options: VertexAIProviderOptions);
158
+ generate(request: ModelRequest): Promise<ModelResponse>;
159
+ }
160
+ export declare class BedrockModelProvider implements ModelProvider {
161
+ readonly name: string;
162
+ private readonly region;
163
+ private readonly accessKeyId;
164
+ private readonly secretAccessKey;
165
+ private readonly sessionToken?;
166
+ private readonly defaultModel?;
167
+ private readonly headers;
168
+ constructor(options: BedrockProviderOptions);
169
+ generate(request: ModelRequest): Promise<ModelResponse>;
170
+ }
171
+ export declare class CohereModelProvider implements ModelProvider {
172
+ readonly name: string;
173
+ private readonly baseUrl;
174
+ private readonly apiKey;
175
+ private readonly defaultModel?;
176
+ private readonly headers;
177
+ constructor(options: CohereProviderOptions);
178
+ generate(request: ModelRequest): Promise<ModelResponse>;
179
+ }
180
+ export declare class FallbackModelProvider implements ModelProvider {
181
+ readonly name: string;
182
+ private readonly providers;
183
+ constructor(options: FallbackModelProviderOptions);
184
+ generate(request: ModelRequest): Promise<ModelResponse>;
185
+ }
186
+ export declare class AnthropicModelProvider implements ModelProvider {
187
+ readonly name: string;
188
+ private readonly baseUrl;
189
+ private readonly apiKey;
190
+ private readonly defaultModel?;
191
+ private readonly headers;
192
+ private readonly maxTokens;
193
+ constructor(options: AnthropicProviderOptions);
194
+ generate(request: ModelRequest): Promise<ModelResponse>;
195
+ }
196
+ export declare const defaultModelProvider: MockModelProvider;
197
+ export declare class ProviderHttpError extends Error {
198
+ readonly provider: string;
199
+ readonly status: number;
200
+ readonly statusText: string;
201
+ readonly body: string;
202
+ constructor(message: string, provider: string, status: number, statusText: string, body: string);
203
+ }
204
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}