@lumenflow/kernel 3.0.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 (127) hide show
  1. package/LICENSE.md +190 -0
  2. package/README.md +26 -0
  3. package/dist/canonical-json.d.ts +7 -0
  4. package/dist/canonical-json.d.ts.map +1 -0
  5. package/dist/canonical-json.js +50 -0
  6. package/dist/canonical-json.js.map +1 -0
  7. package/dist/event-kinds.d.ts +32 -0
  8. package/dist/event-kinds.d.ts.map +1 -0
  9. package/dist/event-kinds.js +49 -0
  10. package/dist/event-kinds.js.map +1 -0
  11. package/dist/event-store/index.d.ts +64 -0
  12. package/dist/event-store/index.d.ts.map +1 -0
  13. package/dist/event-store/index.js +634 -0
  14. package/dist/event-store/index.js.map +1 -0
  15. package/dist/evidence/evidence-store.d.ts +78 -0
  16. package/dist/evidence/evidence-store.d.ts.map +1 -0
  17. package/dist/evidence/evidence-store.js +409 -0
  18. package/dist/evidence/evidence-store.js.map +1 -0
  19. package/dist/evidence/fs-helpers.d.ts +13 -0
  20. package/dist/evidence/fs-helpers.d.ts.map +1 -0
  21. package/dist/evidence/fs-helpers.js +38 -0
  22. package/dist/evidence/fs-helpers.js.map +1 -0
  23. package/dist/evidence/index.d.ts +3 -0
  24. package/dist/evidence/index.d.ts.map +1 -0
  25. package/dist/evidence/index.js +5 -0
  26. package/dist/evidence/index.js.map +1 -0
  27. package/dist/index.d.ts +17 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +19 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/kernel.schemas.d.ts +642 -0
  32. package/dist/kernel.schemas.d.ts.map +1 -0
  33. package/dist/kernel.schemas.js +331 -0
  34. package/dist/kernel.schemas.js.map +1 -0
  35. package/dist/pack/hash.d.ts +7 -0
  36. package/dist/pack/hash.d.ts.map +1 -0
  37. package/dist/pack/hash.js +56 -0
  38. package/dist/pack/hash.js.map +1 -0
  39. package/dist/pack/index.d.ts +4 -0
  40. package/dist/pack/index.d.ts.map +1 -0
  41. package/dist/pack/index.js +6 -0
  42. package/dist/pack/index.js.map +1 -0
  43. package/dist/pack/manifest.d.ts +100 -0
  44. package/dist/pack/manifest.d.ts.map +1 -0
  45. package/dist/pack/manifest.js +50 -0
  46. package/dist/pack/manifest.js.map +1 -0
  47. package/dist/pack/pack-loader.d.ts +108 -0
  48. package/dist/pack/pack-loader.d.ts.map +1 -0
  49. package/dist/pack/pack-loader.js +282 -0
  50. package/dist/pack/pack-loader.js.map +1 -0
  51. package/dist/policy/approval-event.d.ts +29 -0
  52. package/dist/policy/approval-event.d.ts.map +1 -0
  53. package/dist/policy/approval-event.js +17 -0
  54. package/dist/policy/approval-event.js.map +1 -0
  55. package/dist/policy/index.d.ts +3 -0
  56. package/dist/policy/index.d.ts.map +1 -0
  57. package/dist/policy/index.js +5 -0
  58. package/dist/policy/index.js.map +1 -0
  59. package/dist/policy/policy-engine.d.ts +52 -0
  60. package/dist/policy/policy-engine.d.ts.map +1 -0
  61. package/dist/policy/policy-engine.js +83 -0
  62. package/dist/policy/policy-engine.js.map +1 -0
  63. package/dist/runtime/index.d.ts +2 -0
  64. package/dist/runtime/index.d.ts.map +1 -0
  65. package/dist/runtime/index.js +4 -0
  66. package/dist/runtime/index.js.map +1 -0
  67. package/dist/runtime/kernel-runtime.d.ts +170 -0
  68. package/dist/runtime/kernel-runtime.d.ts.map +1 -0
  69. package/dist/runtime/kernel-runtime.js +751 -0
  70. package/dist/runtime/kernel-runtime.js.map +1 -0
  71. package/dist/sandbox/bwrap-invocation.d.ts +13 -0
  72. package/dist/sandbox/bwrap-invocation.d.ts.map +1 -0
  73. package/dist/sandbox/bwrap-invocation.js +105 -0
  74. package/dist/sandbox/bwrap-invocation.js.map +1 -0
  75. package/dist/sandbox/index.d.ts +5 -0
  76. package/dist/sandbox/index.d.ts.map +1 -0
  77. package/dist/sandbox/index.js +7 -0
  78. package/dist/sandbox/index.js.map +1 -0
  79. package/dist/sandbox/profile.d.ts +32 -0
  80. package/dist/sandbox/profile.d.ts.map +1 -0
  81. package/dist/sandbox/profile.js +101 -0
  82. package/dist/sandbox/profile.js.map +1 -0
  83. package/dist/sandbox/subprocess-dispatcher.d.ts +38 -0
  84. package/dist/sandbox/subprocess-dispatcher.d.ts.map +1 -0
  85. package/dist/sandbox/subprocess-dispatcher.js +145 -0
  86. package/dist/sandbox/subprocess-dispatcher.js.map +1 -0
  87. package/dist/sandbox/tool-runner-worker.d.ts +54 -0
  88. package/dist/sandbox/tool-runner-worker.d.ts.map +1 -0
  89. package/dist/sandbox/tool-runner-worker.js +159 -0
  90. package/dist/sandbox/tool-runner-worker.js.map +1 -0
  91. package/dist/shared-constants.d.ts +48 -0
  92. package/dist/shared-constants.d.ts.map +1 -0
  93. package/dist/shared-constants.js +49 -0
  94. package/dist/shared-constants.js.map +1 -0
  95. package/dist/state-machine/index.d.ts +30 -0
  96. package/dist/state-machine/index.d.ts.map +1 -0
  97. package/dist/state-machine/index.js +92 -0
  98. package/dist/state-machine/index.js.map +1 -0
  99. package/dist/tool-host/builtins/capabilities.d.ts +20 -0
  100. package/dist/tool-host/builtins/capabilities.d.ts.map +1 -0
  101. package/dist/tool-host/builtins/capabilities.js +211 -0
  102. package/dist/tool-host/builtins/capabilities.js.map +1 -0
  103. package/dist/tool-host/builtins/index.d.ts +2 -0
  104. package/dist/tool-host/builtins/index.d.ts.map +1 -0
  105. package/dist/tool-host/builtins/index.js +4 -0
  106. package/dist/tool-host/builtins/index.js.map +1 -0
  107. package/dist/tool-host/index.d.ts +5 -0
  108. package/dist/tool-host/index.d.ts.map +1 -0
  109. package/dist/tool-host/index.js +7 -0
  110. package/dist/tool-host/index.js.map +1 -0
  111. package/dist/tool-host/scope-intersection.d.ts +10 -0
  112. package/dist/tool-host/scope-intersection.d.ts.map +1 -0
  113. package/dist/tool-host/scope-intersection.js +188 -0
  114. package/dist/tool-host/scope-intersection.js.map +1 -0
  115. package/dist/tool-host/subprocess-dispatcher.d.ts +14 -0
  116. package/dist/tool-host/subprocess-dispatcher.d.ts.map +1 -0
  117. package/dist/tool-host/subprocess-dispatcher.js +14 -0
  118. package/dist/tool-host/subprocess-dispatcher.js.map +1 -0
  119. package/dist/tool-host/tool-host.d.ts +42 -0
  120. package/dist/tool-host/tool-host.d.ts.map +1 -0
  121. package/dist/tool-host/tool-host.js +395 -0
  122. package/dist/tool-host/tool-host.js.map +1 -0
  123. package/dist/tool-host/tool-registry.d.ts +9 -0
  124. package/dist/tool-host/tool-registry.d.ts.map +1 -0
  125. package/dist/tool-host/tool-registry.js +28 -0
  126. package/dist/tool-host/tool-registry.js.map +1 -0
  127. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAEtC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,170 @@
1
+ import { KERNEL_EVENT_KINDS } from '../event-kinds.js';
2
+ import { EventStore } from '../event-store/index.js';
3
+ import { EvidenceStore } from '../evidence/evidence-store.js';
4
+ import { type ExecutionContext, type KernelEvent, type PolicyDecision, type Run, type TaskSpec, type TaskState, type ToolCapability, type ToolOutput, type ToolTraceEntry, type WorkspaceSpec } from '../kernel.schemas.js';
5
+ import { type LoadedDomainPack } from '../pack/index.js';
6
+ import { PolicyEngine, type PolicyEvaluationResult, type PolicyLayer } from '../policy/index.js';
7
+ import { type SandboxSubprocessDispatcherOptions } from '../sandbox/index.js';
8
+ import { type TaskStateAliases } from '../state-machine/index.js';
9
+ import { ToolHost } from '../tool-host/tool-host.js';
10
+ import type { SubprocessDispatcher } from '../tool-host/subprocess-dispatcher.js';
11
+ type TaskCreatedEvent = Extract<KernelEvent, {
12
+ kind: typeof KERNEL_EVENT_KINDS.TASK_CREATED;
13
+ }>;
14
+ type TaskClaimedEvent = Extract<KernelEvent, {
15
+ kind: typeof KERNEL_EVENT_KINDS.TASK_CLAIMED;
16
+ }>;
17
+ type TaskBlockedEvent = Extract<KernelEvent, {
18
+ kind: typeof KERNEL_EVENT_KINDS.TASK_BLOCKED;
19
+ }>;
20
+ type TaskUnblockedEvent = Extract<KernelEvent, {
21
+ kind: typeof KERNEL_EVENT_KINDS.TASK_UNBLOCKED;
22
+ }>;
23
+ type RunStartedEvent = Extract<KernelEvent, {
24
+ kind: typeof KERNEL_EVENT_KINDS.RUN_STARTED;
25
+ }>;
26
+ type RunSucceededEvent = Extract<KernelEvent, {
27
+ kind: typeof KERNEL_EVENT_KINDS.RUN_SUCCEEDED;
28
+ }>;
29
+ type TaskCompletedEvent = Extract<KernelEvent, {
30
+ kind: typeof KERNEL_EVENT_KINDS.TASK_COMPLETED;
31
+ }>;
32
+ export interface RuntimeToolCapabilityResolverInput {
33
+ workspaceSpec: WorkspaceSpec;
34
+ loadedPack: LoadedDomainPack;
35
+ tool: LoadedDomainPack['manifest']['tools'][number];
36
+ }
37
+ export type RuntimeToolCapabilityResolver = (input: RuntimeToolCapabilityResolverInput) => Promise<ToolCapability | null>;
38
+ export interface InitializeKernelRuntimeOptions {
39
+ workspaceRoot: string;
40
+ workspaceFilePath?: string;
41
+ workspaceFileName?: string;
42
+ packsRoot?: string;
43
+ taskSpecRoot?: string;
44
+ eventsFilePath?: string;
45
+ eventLockFilePath?: string;
46
+ evidenceRoot?: string;
47
+ runtimeVersion?: string;
48
+ policyLayers?: PolicyLayer[];
49
+ toolCapabilityResolver?: RuntimeToolCapabilityResolver;
50
+ subprocessDispatcher?: SubprocessDispatcher;
51
+ sandboxSubprocessDispatcherOptions?: Omit<SandboxSubprocessDispatcherOptions, 'workspaceRoot'>;
52
+ includeBuiltinTools?: boolean;
53
+ now?: () => Date;
54
+ runIdFactory?: (taskId: string, nextRunNumber: number) => string;
55
+ }
56
+ export interface KernelRuntime {
57
+ createTask(taskSpec: TaskSpec): Promise<CreateTaskResult>;
58
+ claimTask(input: ClaimTaskInput): Promise<ClaimTaskResult>;
59
+ blockTask(input: BlockTaskInput): Promise<BlockTaskResult>;
60
+ unblockTask(input: UnblockTaskInput): Promise<UnblockTaskResult>;
61
+ completeTask(input: CompleteTaskInput): Promise<CompleteTaskResult>;
62
+ inspectTask(taskId: string): Promise<TaskInspection>;
63
+ executeTool(name: string, input: unknown, ctx: ExecutionContext): Promise<ToolOutput>;
64
+ getToolHost(): ToolHost;
65
+ getPolicyEngine(): PolicyEngine;
66
+ }
67
+ export interface KernelRuntimeOptions {
68
+ workspace_spec: WorkspaceSpec;
69
+ workspace_file_path: string;
70
+ workspace_config_hash: string;
71
+ loaded_packs: LoadedDomainPack[];
72
+ task_spec_root: string;
73
+ event_store: EventStore;
74
+ evidence_store: EvidenceStore;
75
+ tool_host: ToolHost;
76
+ policy_engine: PolicyEngine;
77
+ state_aliases?: TaskStateAliases;
78
+ now?: () => Date;
79
+ run_id_factory?: (taskId: string, nextRunNumber: number) => string;
80
+ }
81
+ export interface CreateTaskResult {
82
+ task: TaskSpec;
83
+ task_spec_path: string;
84
+ event: TaskCreatedEvent;
85
+ }
86
+ export interface ClaimTaskInput {
87
+ task_id: string;
88
+ by: string;
89
+ session_id: string;
90
+ timestamp?: string;
91
+ domain_data?: Record<string, unknown>;
92
+ }
93
+ export interface ClaimTaskResult {
94
+ task_id: string;
95
+ run: Run;
96
+ events: [TaskClaimedEvent, RunStartedEvent];
97
+ policy: PolicyEvaluationResult;
98
+ }
99
+ export interface CompleteTaskInput {
100
+ task_id: string;
101
+ run_id?: string;
102
+ timestamp?: string;
103
+ evidence_refs?: string[];
104
+ }
105
+ export interface BlockTaskInput {
106
+ task_id: string;
107
+ reason: string;
108
+ timestamp?: string;
109
+ }
110
+ export interface BlockTaskResult {
111
+ task_id: string;
112
+ event: TaskBlockedEvent;
113
+ }
114
+ export interface UnblockTaskInput {
115
+ task_id: string;
116
+ timestamp?: string;
117
+ }
118
+ export interface UnblockTaskResult {
119
+ task_id: string;
120
+ event: TaskUnblockedEvent;
121
+ }
122
+ export interface CompleteTaskResult {
123
+ task_id: string;
124
+ run_id: string;
125
+ events: [RunSucceededEvent, TaskCompletedEvent];
126
+ policy: PolicyEvaluationResult;
127
+ }
128
+ export interface TaskInspection {
129
+ task_id: string;
130
+ task: TaskSpec;
131
+ state: TaskState;
132
+ run_history: Run[];
133
+ receipts: ToolTraceEntry[];
134
+ policy_decisions: PolicyDecision[];
135
+ events: KernelEvent[];
136
+ }
137
+ export declare function defaultRunIdFactory(taskId: string, nextRunNumber: number): string;
138
+ export declare function defaultRuntimeToolCapabilityResolver(input: RuntimeToolCapabilityResolverInput): Promise<ToolCapability | null>;
139
+ export declare class DefaultKernelRuntime implements KernelRuntime {
140
+ private readonly workspaceSpec;
141
+ private readonly workspaceFilePath;
142
+ private readonly workspaceConfigHash;
143
+ private readonly loadedPacks;
144
+ private readonly taskSpecRoot;
145
+ private readonly eventStore;
146
+ private readonly evidenceStore;
147
+ private readonly toolHost;
148
+ private readonly policyEngine;
149
+ private readonly stateAliases;
150
+ private readonly now;
151
+ private readonly runIdFactory;
152
+ constructor(options: KernelRuntimeOptions);
153
+ getToolHost(): ToolHost;
154
+ getPolicyEngine(): PolicyEngine;
155
+ executeTool(name: string, input: unknown, ctx: ExecutionContext): Promise<ToolOutput>;
156
+ createTask(taskSpec: TaskSpec): Promise<CreateTaskResult>;
157
+ claimTask(input: ClaimTaskInput): Promise<ClaimTaskResult>;
158
+ blockTask(input: BlockTaskInput): Promise<BlockTaskResult>;
159
+ unblockTask(input: UnblockTaskInput): Promise<UnblockTaskResult>;
160
+ completeTask(input: CompleteTaskInput): Promise<CompleteTaskResult>;
161
+ inspectTask(taskId: string): Promise<TaskInspection>;
162
+ private requireTaskSpec;
163
+ private projectTaskState;
164
+ private evaluateCompletionPolicy;
165
+ private computeWorkspaceConfigHash;
166
+ private readReceiptsForTask;
167
+ }
168
+ export declare function initializeKernelRuntime(options: InitializeKernelRuntimeOptions): Promise<DefaultKernelRuntime>;
169
+ export {};
170
+ //# sourceMappingURL=kernel-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/kernel-runtime.ts"],"names":[],"mappings":"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"}