summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/contracts/index.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-04 22:26:46 +0900
committerAdam Malczewski <[email protected]>2026-06-04 22:26:46 +0900
commitfd855ffb335e72a94b6f992ede5a859237460a8b (patch)
tree3833674b0957ddec1ed3b3e6140c89360e675037 /packages/kernel/src/contracts/index.ts
parenta6119e0434597399c773da6f0b31363003f6aa09 (diff)
downloaddispatch-fd855ffb335e72a94b6f992ede5a859237460a8b.tar.gz
dispatch-fd855ffb335e72a94b6f992ede5a859237460a8b.zip
feat(kernel): define the ABI contracts (conversation, tool, provider, auth, dispatch, hooks, extension/HostAPI, runtime, events)
Diffstat (limited to 'packages/kernel/src/contracts/index.ts')
-rw-r--r--packages/kernel/src/contracts/index.ts95
1 files changed, 95 insertions, 0 deletions
diff --git a/packages/kernel/src/contracts/index.ts b/packages/kernel/src/contracts/index.ts
new file mode 100644
index 0000000..1c3393f
--- /dev/null
+++ b/packages/kernel/src/contracts/index.ts
@@ -0,0 +1,95 @@
+/**
+ * Kernel contracts barrel — the stable ABI every extension compiles against.
+ *
+ * Re-exports all contract types and pure helpers. No implementations, no I/O,
+ * no concrete feature names. This is the only surface extensions depend on
+ * from the kernel.
+ */
+
+export type {
+ ApiKeyCredentials,
+ AuthContract,
+ BearerTokenCredentials,
+ Credentials,
+} from "./auth.js";
+export type {
+ ChatMessage,
+ Chunk,
+ ErrorChunk,
+ Role,
+ StepId,
+ SystemChunk,
+ TextChunk,
+ ThinkingChunk,
+ ToolCallChunk,
+ ToolResultChunk,
+ TurnId,
+} from "./conversation.js";
+export type { ToolDispatchPolicy } from "./dispatch.js";
+export type {
+ AgentEvent,
+ StatusEvent,
+ TurnDoneEvent,
+ TurnErrorEvent,
+ TurnReasoningDeltaEvent,
+ TurnSealedEvent,
+ TurnStartEvent,
+ TurnTextDeltaEvent,
+ TurnToolCallEvent,
+ TurnToolOutputEvent,
+ TurnToolResultEvent,
+ TurnUsageEvent,
+} from "./events.js";
+export type {
+ ConfigAccess,
+ EventsEmitter,
+ Extension,
+ HostAPI,
+ Logger,
+ Manifest,
+ ManifestCapabilities,
+ ManifestContributions,
+ PermissionDecision,
+ PermissionGate,
+ PermissionRequest,
+ ScheduledJob,
+ SecretsAccess,
+ StorageNamespace,
+ TrustLevel,
+} from "./extension.js";
+
+export type {
+ EventHandler,
+ EventHookDescriptor,
+ FilterDescriptor,
+ FilterHandler,
+ HookDescriptor,
+ ServiceHandle,
+} from "./hooks.js";
+
+export { defineEventHook, defineFilter, defineService } from "./hooks.js";
+export type {
+ FinishEvent,
+ ProviderContract,
+ ProviderErrorEvent,
+ ProviderEvent,
+ ProviderStreamOptions,
+ ProviderToolCallEvent,
+ ReasoningDeltaEvent,
+ TextDeltaEvent,
+ Usage,
+ UsageEvent,
+} from "./provider.js";
+export type {
+ EventEmitter,
+ RunTurnInput,
+ RunTurnResult,
+} from "./runtime.js";
+export type {
+ JsonSchemaProperty,
+ ToolCall,
+ ToolContract,
+ ToolExecuteContext,
+ ToolParameterSchema,
+ ToolResult,
+} from "./tool.js";