@assemblyline-agents/core 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 (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -0
  3. package/dist/adapter-metadata.d.ts +7 -0
  4. package/dist/adapter-metadata.d.ts.map +1 -0
  5. package/dist/adapter-metadata.js +232 -0
  6. package/dist/adapter-metadata.js.map +1 -0
  7. package/dist/artifact-dir.d.ts +21 -0
  8. package/dist/artifact-dir.d.ts.map +1 -0
  9. package/dist/artifact-dir.js +35 -0
  10. package/dist/artifact-dir.js.map +1 -0
  11. package/dist/brand.d.ts +37 -0
  12. package/dist/brand.d.ts.map +1 -0
  13. package/dist/brand.js +42 -0
  14. package/dist/brand.js.map +1 -0
  15. package/dist/connection-auth.d.ts +27 -0
  16. package/dist/connection-auth.d.ts.map +1 -0
  17. package/dist/connection-auth.js +75 -0
  18. package/dist/connection-auth.js.map +1 -0
  19. package/dist/connection-types.d.ts +318 -0
  20. package/dist/connection-types.d.ts.map +1 -0
  21. package/dist/connection-types.js +2 -0
  22. package/dist/connection-types.js.map +1 -0
  23. package/dist/definitions.d.ts +98 -0
  24. package/dist/definitions.d.ts.map +1 -0
  25. package/dist/definitions.js +193 -0
  26. package/dist/definitions.js.map +1 -0
  27. package/dist/deploy.d.ts +151 -0
  28. package/dist/deploy.d.ts.map +1 -0
  29. package/dist/deploy.js +25 -0
  30. package/dist/deploy.js.map +1 -0
  31. package/dist/env-alias.d.ts +35 -0
  32. package/dist/env-alias.d.ts.map +1 -0
  33. package/dist/env-alias.js +79 -0
  34. package/dist/env-alias.js.map +1 -0
  35. package/dist/harness.d.ts +299 -0
  36. package/dist/harness.d.ts.map +1 -0
  37. package/dist/harness.js +22 -0
  38. package/dist/harness.js.map +1 -0
  39. package/dist/index.d.ts +487 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +23 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/json-schema-validate.d.ts +17 -0
  44. package/dist/json-schema-validate.d.ts.map +1 -0
  45. package/dist/json-schema-validate.js +79 -0
  46. package/dist/json-schema-validate.js.map +1 -0
  47. package/dist/manifest-types.d.ts +248 -0
  48. package/dist/manifest-types.d.ts.map +1 -0
  49. package/dist/manifest-types.js +2 -0
  50. package/dist/manifest-types.js.map +1 -0
  51. package/dist/plugin.d.ts +134 -0
  52. package/dist/plugin.d.ts.map +1 -0
  53. package/dist/plugin.js +830 -0
  54. package/dist/plugin.js.map +1 -0
  55. package/dist/provider.d.ts +43 -0
  56. package/dist/provider.d.ts.map +1 -0
  57. package/dist/provider.js +33 -0
  58. package/dist/provider.js.map +1 -0
  59. package/dist/resource-types.d.ts +119 -0
  60. package/dist/resource-types.d.ts.map +1 -0
  61. package/dist/resource-types.js +2 -0
  62. package/dist/resource-types.js.map +1 -0
  63. package/dist/sandbox-filesystem-contract.d.ts +28 -0
  64. package/dist/sandbox-filesystem-contract.d.ts.map +1 -0
  65. package/dist/sandbox-filesystem-contract.js +64 -0
  66. package/dist/sandbox-filesystem-contract.js.map +1 -0
  67. package/dist/sandbox-paths.d.ts +24 -0
  68. package/dist/sandbox-paths.d.ts.map +1 -0
  69. package/dist/sandbox-paths.js +107 -0
  70. package/dist/sandbox-paths.js.map +1 -0
  71. package/dist/sandbox-security.d.ts +10 -0
  72. package/dist/sandbox-security.d.ts.map +1 -0
  73. package/dist/sandbox-security.js +34 -0
  74. package/dist/sandbox-security.js.map +1 -0
  75. package/dist/sandbox-types.d.ts +114 -0
  76. package/dist/sandbox-types.d.ts.map +1 -0
  77. package/dist/sandbox-types.js +2 -0
  78. package/dist/sandbox-types.js.map +1 -0
  79. package/package.json +47 -0
@@ -0,0 +1,487 @@
1
+ export * from "./artifact-dir.js";
2
+ export * from "./brand.js";
3
+ export * from "./deploy.js";
4
+ export * from "./env-alias.js";
5
+ export * from "./harness.js";
6
+ export * from "./json-schema-validate.js";
7
+ export * from "./provider.js";
8
+ export * from "./plugin.js";
9
+ export * from "./sandbox-filesystem-contract.js";
10
+ export * from "./sandbox-paths.js";
11
+ export * from "./sandbox-security.js";
12
+ export * from "./adapter-metadata.js";
13
+ export { ConnectionAuthorizationRequiredError, ConnectionAuthorizationFailedError, isConnectionAuthorizationRequiredError, isConnectionAuthorizationFailedError } from "./connection-auth.js";
14
+ export * from "./definitions.js";
15
+ export * from "./connection-types.js";
16
+ export * from "./manifest-types.js";
17
+ export * from "./sandbox-types.js";
18
+ export * from "./resource-types.js";
19
+ import type { ConnectionAuthDefinition, TokenResult } from "./connection-types.js";
20
+ import type { PreflightRequirement } from "./manifest-types.js";
21
+ import type { BlobToolApi, MemoryToolApi, ResourceToolApi } from "./resource-types.js";
22
+ import type { SandboxSession } from "./sandbox-types.js";
23
+ export declare const OPENEVE_MANIFEST_SCHEMA_VERSION: 1;
24
+ export type JsonPrimitive = string | number | boolean | null;
25
+ export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
26
+ export interface JsonObject {
27
+ [key: string]: JsonValue;
28
+ }
29
+ export type MaybePromise<T> = T | Promise<T>;
30
+ export interface AdapterDefinition {
31
+ kind: string;
32
+ options?: JsonObject;
33
+ /** npm package exporting `openeveProvider` for this adapter. Defaults to the built-in registry's packageName. */
34
+ packageName?: string;
35
+ requiredEnv?: string[];
36
+ capabilities?: string[];
37
+ }
38
+ export type AdapterRole = "deploy" | "runtime" | "state" | "blob" | "sandbox" | "scheduler" | "channel" | "connection";
39
+ export interface AdapterProviderMetadata {
40
+ kind: string;
41
+ role: AdapterRole;
42
+ stability?: "supported" | "preview" | "planned";
43
+ packageName?: string;
44
+ requiredEnv?: string[];
45
+ optionalEnv?: string[];
46
+ capabilities?: string[];
47
+ setup?: Array<{
48
+ kind: PreflightRequirement["kind"];
49
+ name: string;
50
+ required: boolean;
51
+ message: string;
52
+ }>;
53
+ }
54
+ export interface GatewayDefinition {
55
+ deploy?: AdapterDefinition;
56
+ runtime?: AdapterDefinition;
57
+ state?: AdapterDefinition;
58
+ blob?: AdapterDefinition;
59
+ sandbox?: AdapterDefinition;
60
+ scheduler?: AdapterDefinition;
61
+ }
62
+ export interface ContextPolicy {
63
+ kind: string;
64
+ name?: string;
65
+ options?: JsonObject;
66
+ extends?: ContextPolicy;
67
+ sourcePath?: string;
68
+ }
69
+ /**
70
+ * Self-improvement: the agent authoring and editing its own skills as it learns
71
+ * how to do things. Skills are writable by default. Setting these off restores
72
+ * fully static, manifest-only skills. This is *only* about skills — runtime
73
+ * scheduling and connections are separate concerns (see the configs below).
74
+ */
75
+ export interface SelfImprovementConfig {
76
+ /** Whether the agent may persist new/edited skills back to the durable skill store. Default true. */
77
+ writable?: boolean;
78
+ /** When true, agent skill writes are staged as pending and require approval. Default false. */
79
+ writeApproval?: boolean;
80
+ /** Read-only external directories scanned alongside the durable skills folder. */
81
+ externalDirs?: string[];
82
+ }
83
+ /**
84
+ * Agent-managed dynamic automations: time-based routines the agent creates or
85
+ * edits at runtime, distinct from static `automations/`. Default on.
86
+ */
87
+ export interface DynamicAutomationsConfig {
88
+ /** Whether the agent may create/manage dynamic automations at runtime. Default true. */
89
+ dynamic?: boolean;
90
+ /** When true, creating/deleting a dynamic automation requires approval. Default false. */
91
+ approval?: boolean;
92
+ }
93
+ /** @deprecated Use {@link DynamicAutomationsConfig}. */
94
+ export type DynamicSchedulesConfig = DynamicAutomationsConfig;
95
+ /**
96
+ * Agent-adopted dynamic connections: runtime-provided MCP/HTTP services the
97
+ * agent persists, distinct from the static `connections/` folder. Off by default.
98
+ */
99
+ export interface DynamicConnectionsConfig {
100
+ /** Whether the agent may persist and use runtime-provided MCP/HTTP connections. Default false. */
101
+ dynamic?: boolean;
102
+ /** When true, saving a dynamic connection requires approval. Default true. */
103
+ approval?: boolean;
104
+ /** Host allowlist for dynamic connections. Required (non-empty) when dynamic is enabled. */
105
+ allowedHosts?: string[];
106
+ }
107
+ export type ReasoningLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
108
+ export declare function isReasoningLevel(value: unknown): value is ReasoningLevel;
109
+ export interface AgentDefinition {
110
+ /** Stable logical agent identity for durable learned state across revisions/deploy paths. */
111
+ id?: string;
112
+ model: string;
113
+ /** Provider-agnostic reasoning effort for models that support it. Default medium. */
114
+ reasoning?: ReasoningLevel;
115
+ name?: string;
116
+ description?: string;
117
+ /** Runtime-enforced JSON Schema for the agent's final response. */
118
+ outputSchema?: JsonSchema;
119
+ /** Maximum agent-loop iterations in one active execution, including structured-output correction retries. */
120
+ maxIterations?: number;
121
+ context?: ContextPolicy;
122
+ defaultTools?: string[];
123
+ /** Skill self-authoring controls (the agent learning by writing/editing skills). */
124
+ selfImprovement?: SelfImprovementConfig;
125
+ /** Agent-managed dynamic automations, separate from the static `automations/` folder. */
126
+ dynamicAutomations?: DynamicAutomationsConfig;
127
+ /** @deprecated Use `dynamicAutomations`. */
128
+ dynamicSchedules?: DynamicSchedulesConfig;
129
+ /** Agent-adopted dynamic connections, separate from the static `connections/` folder. */
130
+ dynamicConnections?: DynamicConnectionsConfig;
131
+ metadata?: JsonObject;
132
+ }
133
+ export interface SubagentDefinition extends Omit<AgentDefinition, "model"> {
134
+ model?: string;
135
+ workspace?: AdapterDefinition;
136
+ connections?: string[];
137
+ }
138
+ export interface JsonSchema {
139
+ type?: string;
140
+ description?: string;
141
+ properties?: Record<string, JsonSchema>;
142
+ items?: JsonSchema;
143
+ required?: string[];
144
+ enum?: JsonValue[];
145
+ additionalProperties?: boolean | JsonSchema;
146
+ [key: string]: JsonValue | Record<string, JsonSchema> | JsonSchema | JsonSchema[] | undefined;
147
+ }
148
+ export type ApprovalMode = "never" | "always" | "conditional";
149
+ export interface ApprovalPolicy {
150
+ mode: ApprovalMode;
151
+ reason?: string;
152
+ sideEffect?: "none" | "idempotent" | "external";
153
+ }
154
+ export type CapabilityVisibility = "auto" | "always" | "deferred" | "skill" | "hidden";
155
+ export type CapabilityExecutionMode = "auto" | "direct" | "sandbox" | "both";
156
+ export interface ToolCapabilityDefinition {
157
+ visibility?: CapabilityVisibility;
158
+ execution?: CapabilityExecutionMode;
159
+ namespace?: string;
160
+ tags?: string[];
161
+ aliases?: string[];
162
+ }
163
+ /**
164
+ * Read-only view of the channel that triggered the current run. Channel-aware tools
165
+ * (for example, the Photon reaction/poll tools) use this to address side effects back
166
+ * to the originating conversation without the agent having to thread identifiers by hand.
167
+ */
168
+ export interface ToolChannelContext {
169
+ name: string;
170
+ env: Record<string, string | undefined>;
171
+ fetch?: typeof fetch;
172
+ turn?: JsonObject;
173
+ }
174
+ export interface SelfImprovementSkillSummary {
175
+ name: string;
176
+ description: string;
177
+ origin: string;
178
+ pending: boolean;
179
+ }
180
+ export interface DynamicScheduleToolInput {
181
+ prompt?: string;
182
+ message?: string;
183
+ channel?: string;
184
+ target?: JsonObject;
185
+ cron?: string;
186
+ everyMinutes?: number | null;
187
+ timezone?: string;
188
+ firstRunAt?: string;
189
+ enabled?: boolean;
190
+ trigger?: ScheduleTriggerDefinition;
191
+ metadata?: JsonObject;
192
+ }
193
+ export type DynamicAutomationToolInput = DynamicScheduleToolInput;
194
+ export interface DynamicConnectionToolInput {
195
+ name: string;
196
+ protocol: "mcp" | "openapi" | "http";
197
+ description: string;
198
+ definition: JsonObject;
199
+ }
200
+ /**
201
+ * Skill self-authoring API: lets a tool persist or edit the agent's own skills
202
+ * as it learns. Present only when skill writing is enabled. This is the
203
+ * `selfImprovement` surface — it deliberately does *not* cover scheduling or
204
+ * connections. Tenant/owner scope is derived from the run session, never from
205
+ * model input.
206
+ */
207
+ export interface SelfImprovementToolApi {
208
+ saveSkill(input: {
209
+ name: string;
210
+ body: string;
211
+ }): Promise<{
212
+ name: string;
213
+ pending: boolean;
214
+ }>;
215
+ listSkills(): Promise<SelfImprovementSkillSummary[]>;
216
+ deleteSkill(name: string): Promise<void>;
217
+ }
218
+ /** @deprecated Use `AutomationManagerToolApi`. */
219
+ export interface ScheduleManagerToolApi {
220
+ createSchedule(input: DynamicScheduleToolInput): Promise<JsonObject>;
221
+ listSchedules(): Promise<JsonObject[]>;
222
+ updateSchedule(id: string, patch: JsonObject): Promise<JsonObject>;
223
+ deleteSchedule(id: string): Promise<boolean>;
224
+ }
225
+ /** Dynamic automation management API. Event automations remain source-authored for now. */
226
+ export interface AutomationManagerToolApi {
227
+ createAutomation(input: DynamicAutomationToolInput): Promise<JsonObject>;
228
+ listAutomations(): Promise<JsonObject[]>;
229
+ updateAutomation(id: string, patch: JsonObject): Promise<JsonObject>;
230
+ deleteAutomation(id: string): Promise<boolean>;
231
+ }
232
+ /** Dynamic-connection management API. Present only when dynamic connections are enabled. */
233
+ export interface ConnectionManagerToolApi {
234
+ saveConnection(input: DynamicConnectionToolInput): Promise<{
235
+ name: string;
236
+ }>;
237
+ listConnections(): Promise<JsonObject[]>;
238
+ deleteConnection(name: string): Promise<void>;
239
+ }
240
+ export interface DurableStepOptions {
241
+ metadata?: JsonObject;
242
+ }
243
+ export interface ToolExecutionContext {
244
+ runId: string;
245
+ agentRevision: string;
246
+ /** True when the enclosing tool call has passed the runtime approval gate. */
247
+ approvedToolCall: boolean;
248
+ connections: Record<string, unknown>;
249
+ channel?: ToolChannelContext;
250
+ getConnectionToken?(auth: ConnectionAuthDefinition): Promise<TokenResult>;
251
+ requireConnectionAuth?(auth: ConnectionAuthDefinition): never;
252
+ getSandbox(): Promise<SandboxSession>;
253
+ hydrateSandboxPath?(path: string, options?: {
254
+ list?: boolean;
255
+ limit?: number;
256
+ }): Promise<void>;
257
+ recordSandboxTombstone?(path: string): Promise<void>;
258
+ spawnSubagent?(input: {
259
+ name: string;
260
+ task: string;
261
+ expectedOutput?: string;
262
+ constraints?: string[];
263
+ }): Promise<JsonObject>;
264
+ blob?: BlobToolApi;
265
+ memory?: MemoryToolApi;
266
+ resources?: ResourceToolApi;
267
+ askQuestion(question: string, options?: AskQuestionOptions): Promise<never>;
268
+ emit(eventType: string, data?: JsonObject): Promise<void>;
269
+ idempotencyKey(scope: string): string;
270
+ step<T extends JsonValue>(key: string, fn: () => MaybePromise<T>, options?: DurableStepOptions): Promise<T>;
271
+ /** Skill self-authoring (the agent learning by writing/editing skills). */
272
+ selfImprovement?: SelfImprovementToolApi;
273
+ /** Create/manage dynamic time-based automations at runtime. */
274
+ automationManager?: AutomationManagerToolApi;
275
+ /** @deprecated Use `automationManager`. */
276
+ scheduleManager?: ScheduleManagerToolApi;
277
+ /** Persist/manage runtime-provided connections. */
278
+ connectionManager?: ConnectionManagerToolApi;
279
+ }
280
+ export interface AskQuestionOptions {
281
+ choices?: string[];
282
+ allowFreeform?: boolean;
283
+ metadata?: JsonObject;
284
+ }
285
+ export interface ToolDefinition<Input = unknown, Output = unknown, ModelOutput = unknown> {
286
+ description: string;
287
+ inputSchema: JsonSchema;
288
+ outputSchema?: JsonSchema;
289
+ needsApproval?: boolean | ApprovalPolicy;
290
+ defaultEnabled?: boolean;
291
+ capability?: ToolCapabilityDefinition;
292
+ sideEffect?: "none" | "idempotent" | "external";
293
+ /**
294
+ * Wall-clock deadline for `execute` in milliseconds. Overrides the runtime
295
+ * default (`OPENEVE_TOOL_TIMEOUT_MS`). The promise is raced, not cancelled:
296
+ * the tool call fails but the underlying work is not forcibly stopped.
297
+ */
298
+ timeoutMs?: number;
299
+ execute?: (input: Input, ctx: ToolExecutionContext) => MaybePromise<Output>;
300
+ toModelOutput?: (output: Output) => MaybePromise<ModelOutput>;
301
+ }
302
+ export interface ChannelIngressDefinition {
303
+ /**
304
+ * Any-of groups of env var names: production ingress auth is satisfied when
305
+ * every var in at least one group is set (e.g. `[["TELEGRAM_WEBHOOK_SECRET"]]`
306
+ * or `[["PHOTON_WEBHOOK_SIGNING_SECRET"], ["PHOTON_INGRESS_TOKEN"]]`).
307
+ */
308
+ requiredSecretEnv: string[][];
309
+ }
310
+ export interface ChannelDefinition {
311
+ description?: string;
312
+ transport: "http" | "local" | "webhook" | "queue";
313
+ route?: string;
314
+ methods?: string[];
315
+ connection?: string;
316
+ /** Ingress-auth secrets this channel requires in production; the compiler stamps it into `CompiledChannel.metadata.ingress`. */
317
+ ingress?: ChannelIngressDefinition;
318
+ metadata?: JsonObject;
319
+ }
320
+ export interface ScheduleDefinition {
321
+ description?: string;
322
+ cron: string;
323
+ timezone?: string;
324
+ idempotencyKey: string;
325
+ message?: string;
326
+ trigger?: ScheduleTriggerDefinition;
327
+ enabled?: boolean;
328
+ metadata?: JsonObject;
329
+ }
330
+ export interface ScheduleAutomationTrigger {
331
+ type: "schedule";
332
+ cron: string;
333
+ timezone?: string;
334
+ }
335
+ export interface EventAutomationTrigger {
336
+ type: "event";
337
+ /** Stable event source name, such as `gmail`, `github`, or `stripe`. */
338
+ source: string;
339
+ /** Provider-normalized event type, such as `email.received`. */
340
+ event: string;
341
+ /** Optional declared connection used by the event source adapter. */
342
+ connection?: string;
343
+ /** Recursive JSON subset that the normalized event payload must match. */
344
+ filter?: JsonObject;
345
+ }
346
+ export type AutomationTrigger = ScheduleAutomationTrigger | EventAutomationTrigger;
347
+ export interface AutomationLifecycleDefinition {
348
+ handler: string;
349
+ }
350
+ export interface AutomationDefinition {
351
+ description?: string;
352
+ trigger: AutomationTrigger;
353
+ /** Stable dedupe prefix. Required for schedule triggers; defaults to `automation:<name>` for events. */
354
+ idempotencyKey?: string;
355
+ message?: string;
356
+ target?: TriggerTarget;
357
+ lifecycle?: AutomationLifecycleDefinition;
358
+ enabled?: boolean;
359
+ metadata?: JsonObject;
360
+ }
361
+ export interface ScheduleTriggerDefinition {
362
+ handler: string;
363
+ target?: TriggerTarget;
364
+ metadata?: JsonObject;
365
+ }
366
+ export type TriggerTarget = {
367
+ type: "skill";
368
+ name: string;
369
+ metadata?: JsonObject;
370
+ } | {
371
+ type: "agent";
372
+ name?: string;
373
+ model?: string;
374
+ metadata?: JsonObject;
375
+ } | {
376
+ type: "playbook";
377
+ name: string;
378
+ metadata?: JsonObject;
379
+ };
380
+ export interface AutomationEvent {
381
+ source: string;
382
+ event: string;
383
+ eventId: string;
384
+ payload: JsonObject;
385
+ occurredAt?: string;
386
+ userId?: string;
387
+ conversationId?: string;
388
+ projectId?: string;
389
+ delivery?: JsonObject;
390
+ metadata?: JsonObject;
391
+ }
392
+ export interface TriggerInvocationMetadata {
393
+ kind: "schedule" | "event";
394
+ source?: "manifest" | "dynamic";
395
+ schedule?: string;
396
+ automation?: string;
397
+ event?: AutomationEvent;
398
+ handler: string;
399
+ dueAt?: string;
400
+ idempotencyKey: string;
401
+ metadata?: JsonObject;
402
+ }
403
+ export interface RoutineRunUpsertInput {
404
+ kind: string;
405
+ triggerKey: string;
406
+ status?: string;
407
+ metadata?: JsonObject;
408
+ }
409
+ export interface RoutineRunCompleteInput {
410
+ runId: string;
411
+ status: string;
412
+ summary?: string;
413
+ metadata?: JsonObject;
414
+ }
415
+ export interface RoutineRunRecord {
416
+ id: string;
417
+ runId: string;
418
+ kind: string;
419
+ triggerKey: string;
420
+ status: string;
421
+ sourceCursorBefore?: string;
422
+ summary?: string;
423
+ metadata: JsonObject;
424
+ }
425
+ export interface TriggerStateApi {
426
+ upsertRoutineRun(input: RoutineRunUpsertInput): Promise<RoutineRunRecord>;
427
+ completeRoutineRun(input: RoutineRunCompleteInput): Promise<RoutineRunRecord>;
428
+ }
429
+ export interface TriggerResourceCollectInput {
430
+ sources?: Array<"memory" | "history" | "connections" | "skills" | "files" | "runtime">;
431
+ since?: string;
432
+ limit?: number;
433
+ }
434
+ export interface TriggerResourceCollectResult {
435
+ markdown: string;
436
+ resources: JsonObject[];
437
+ }
438
+ export interface TriggerResourceApi extends ResourceToolApi {
439
+ collect(input?: TriggerResourceCollectInput): Promise<TriggerResourceCollectResult>;
440
+ }
441
+ export interface TriggerScheduleApi {
442
+ definition: JsonObject;
443
+ run: JsonObject;
444
+ }
445
+ export type AutomationHandlerContext<PrepareContext extends JsonObject = JsonObject> = TriggerHandlerContext<PrepareContext>;
446
+ export interface TriggerHandlerContext<PrepareContext extends JsonObject = JsonObject> {
447
+ runId: string;
448
+ agentRevision: string;
449
+ trigger: TriggerInvocationMetadata;
450
+ state: TriggerStateApi;
451
+ memory: MemoryToolApi;
452
+ resources: TriggerResourceApi;
453
+ blob: BlobToolApi;
454
+ schedule: TriggerScheduleApi;
455
+ env: Record<string, string | undefined>;
456
+ fetch?: typeof fetch;
457
+ prepare: PrepareContext;
458
+ emit(eventType: string, data?: JsonObject): Promise<void>;
459
+ idempotencyKey(scope: string): string;
460
+ step<T extends JsonValue>(key: string, fn: () => MaybePromise<T>, options?: DurableStepOptions): Promise<T>;
461
+ }
462
+ export interface TriggerPrepareResult<PromptContext extends JsonObject = JsonObject> {
463
+ target?: TriggerTarget;
464
+ message?: string;
465
+ prompt?: string;
466
+ promptContext?: PromptContext;
467
+ metadata?: JsonObject;
468
+ }
469
+ export type AutomationPrepareResult<PromptContext extends JsonObject = JsonObject> = TriggerPrepareResult<PromptContext>;
470
+ export interface TriggerFinalizeResult {
471
+ ok: boolean;
472
+ runId?: string;
473
+ status?: string;
474
+ summary?: string;
475
+ response?: string;
476
+ error?: string;
477
+ metadata?: JsonObject;
478
+ }
479
+ export type AutomationFinalizeResult = TriggerFinalizeResult;
480
+ export interface TriggerHandlerDefinition<PromptContext extends JsonObject = JsonObject, PrepareContext extends JsonObject = PromptContext> {
481
+ description?: string;
482
+ prepare?: (ctx: TriggerHandlerContext) => MaybePromise<TriggerPrepareResult<PromptContext> | void>;
483
+ finalize?: (ctx: TriggerHandlerContext<PrepareContext>, result: TriggerFinalizeResult) => MaybePromise<void>;
484
+ metadata?: JsonObject;
485
+ }
486
+ export type AutomationHandlerDefinition<PromptContext extends JsonObject = JsonObject, PrepareContext extends JsonObject = PromptContext> = TriggerHandlerDefinition<PromptContext, PrepareContext>;
487
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ export * from "./artifact-dir.js";
2
+ export * from "./brand.js";
3
+ export * from "./deploy.js";
4
+ export * from "./env-alias.js";
5
+ export * from "./harness.js";
6
+ export * from "./json-schema-validate.js";
7
+ export * from "./provider.js";
8
+ export * from "./plugin.js";
9
+ export * from "./sandbox-filesystem-contract.js";
10
+ export * from "./sandbox-paths.js";
11
+ export * from "./sandbox-security.js";
12
+ export * from "./adapter-metadata.js";
13
+ export { ConnectionAuthorizationRequiredError, ConnectionAuthorizationFailedError, isConnectionAuthorizationRequiredError, isConnectionAuthorizationFailedError } from "./connection-auth.js";
14
+ export * from "./definitions.js";
15
+ export * from "./connection-types.js";
16
+ export * from "./manifest-types.js";
17
+ export * from "./sandbox-types.js";
18
+ export * from "./resource-types.js";
19
+ export const OPENEVE_MANIFEST_SCHEMA_VERSION = 1;
20
+ export function isReasoningLevel(value) {
21
+ return value === "off" || value === "minimal" || value === "low" || value === "medium" || value === "high" || value === "xhigh";
22
+ }
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,oCAAoC,EACpC,kCAAkC,EAClC,sCAAsC,EACtC,oCAAoC,EACrC,MAAM,sBAAsB,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAOpC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC;AAkG1D,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC;AAClI,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { JsonSchema, JsonValue } from "./index.js";
2
+ export interface JsonSchemaValidationResult {
3
+ valid: boolean;
4
+ errors: string[];
5
+ }
6
+ export interface JsonTextValidationResult extends JsonSchemaValidationResult {
7
+ value?: JsonValue;
8
+ /** Canonical parseable JSON text. Present whenever parsing succeeds. */
9
+ normalizedText?: string;
10
+ }
11
+ /** Compile a schema without validating an instance, returning author-facing schema errors. */
12
+ export declare function validateJsonSchema(schema: JsonSchema): JsonSchemaValidationResult;
13
+ /** Validate a JSON-compatible value against the framework's JSON Schema contract. */
14
+ export declare function validateAgainstJsonSchema(value: unknown, schema: JsonSchema): JsonSchemaValidationResult;
15
+ /** Parse optional whole-response markdown fencing, normalize, and validate JSON text. */
16
+ export declare function validateJsonText(text: string, schema: JsonSchema): JsonTextValidationResult;
17
+ //# sourceMappingURL=json-schema-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-validate.d.ts","sourceRoot":"","sources":["../src/json-schema-validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC1E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,0BAA0B,CAUjF;AAED,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,0BAA0B,CAYxG;AAED,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,wBAAwB,CAc3F"}
@@ -0,0 +1,79 @@
1
+ import Ajv from "ajv";
2
+ // Ajv publishes CommonJS plus ESM-shaped declarations. Node exposes its
3
+ // constructor as the default CJS value, while TypeScript sees the namespace;
4
+ // this narrow bridge keeps runtime and declaration interop aligned.
5
+ const AjvConstructor = Ajv;
6
+ const ajv = new AjvConstructor({ allErrors: true, strict: false, allowUnionTypes: true });
7
+ const validators = new Map();
8
+ /** Compile a schema without validating an instance, returning author-facing schema errors. */
9
+ export function validateJsonSchema(schema) {
10
+ try {
11
+ validatorFor(schema);
12
+ return { valid: true, errors: [] };
13
+ }
14
+ catch (error) {
15
+ return {
16
+ valid: false,
17
+ errors: [error instanceof Error ? error.message : String(error)]
18
+ };
19
+ }
20
+ }
21
+ /** Validate a JSON-compatible value against the framework's JSON Schema contract. */
22
+ export function validateAgainstJsonSchema(value, schema) {
23
+ let validate;
24
+ try {
25
+ validate = validatorFor(schema);
26
+ }
27
+ catch (error) {
28
+ return {
29
+ valid: false,
30
+ errors: [`/: invalid JSON Schema: ${error instanceof Error ? error.message : String(error)}`]
31
+ };
32
+ }
33
+ const valid = validate(value) === true;
34
+ return { valid, errors: valid ? [] : (validate.errors ?? []).map(formatError) };
35
+ }
36
+ /** Parse optional whole-response markdown fencing, normalize, and validate JSON text. */
37
+ export function validateJsonText(text, schema) {
38
+ const candidate = stripWholeJsonFence(text).trim();
39
+ let value;
40
+ try {
41
+ value = JSON.parse(candidate);
42
+ }
43
+ catch (error) {
44
+ return {
45
+ valid: false,
46
+ errors: [`/: invalid JSON: ${error instanceof Error ? error.message : String(error)}`]
47
+ };
48
+ }
49
+ const normalizedText = JSON.stringify(value);
50
+ const validation = validateAgainstJsonSchema(value, schema);
51
+ return { ...validation, value, normalizedText };
52
+ }
53
+ function validatorFor(schema) {
54
+ const key = JSON.stringify(schema);
55
+ const cached = validators.get(key);
56
+ if (cached)
57
+ return cached;
58
+ const validate = ajv.compile(schema);
59
+ validators.set(key, validate);
60
+ return validate;
61
+ }
62
+ function stripWholeJsonFence(text) {
63
+ const match = /^\s*```(?:json)?\s*\n?([\s\S]*?)\n?```\s*$/iu.exec(text);
64
+ return match?.[1] ?? text;
65
+ }
66
+ function formatError(error) {
67
+ let path = error.instancePath || "/";
68
+ if (error.keyword === "required" && typeof error.params.missingProperty === "string") {
69
+ path = `${path === "/" ? "" : path}/${escapePointer(error.params.missingProperty)}` || "/";
70
+ }
71
+ else if (error.keyword === "additionalProperties" && typeof error.params.additionalProperty === "string") {
72
+ path = `${path === "/" ? "" : path}/${escapePointer(error.params.additionalProperty)}` || "/";
73
+ }
74
+ return `${path}: ${error.message ?? `failed ${error.keyword}`}`;
75
+ }
76
+ function escapePointer(value) {
77
+ return value.replaceAll("~", "~0").replaceAll("/", "~1");
78
+ }
79
+ //# sourceMappingURL=json-schema-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-validate.js","sourceRoot":"","sources":["../src/json-schema-validate.ts"],"names":[],"mappings":"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"}