@wrongstack/runtime 0.309.1 → 0.310.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.
package/dist/clipboard.js CHANGED
@@ -154,7 +154,7 @@ function runCmd(cmd, args) {
154
154
  settled = true;
155
155
  clearTimeout(timer);
156
156
  clearTimeout(killCap);
157
- child.stdout.off("data", onStdoutData);
157
+ child.stdout?.off("data", onStdoutData);
158
158
  resolve(value);
159
159
  };
160
160
  const timer = setTimeout(() => {
@@ -228,7 +228,7 @@ function runCmdToFile(cmd, args, outPath) {
228
228
  settled = true;
229
229
  clearTimeout(timer);
230
230
  clearTimeout(killCap);
231
- child.stdout.off("data", onStdoutData);
231
+ child.stdout?.off("data", onStdoutData);
232
232
  resolve(value);
233
233
  };
234
234
  const timer = setTimeout(() => {
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from './clipboard.js';
9
9
  export * from './container.js';
10
10
  export { abortLightSubagent, type LightSubagentFactoryDeps, makeLightSubagentFactory, } from './fleet/light-subagent-factory.js';
11
11
  export * from './host.js';
12
+ export { wireKanbanPorts } from './kanban-ports.js';
12
13
  export { type ProbeOptions, type ProbeResult, probeLocalLlm } from './local-llm-probe.js';
13
14
  export * from './pack.js';
14
15
  export * from './vision.js';
package/dist/index.js CHANGED
@@ -154,7 +154,7 @@ function runCmd(cmd, args) {
154
154
  settled = true;
155
155
  clearTimeout(timer);
156
156
  clearTimeout(killCap);
157
- child.stdout.off("data", onStdoutData);
157
+ child.stdout?.off("data", onStdoutData);
158
158
  resolve(value);
159
159
  };
160
160
  const timer = setTimeout(() => {
@@ -228,7 +228,7 @@ function runCmdToFile(cmd, args, outPath) {
228
228
  settled = true;
229
229
  clearTimeout(timer);
230
230
  clearTimeout(killCap);
231
- child.stdout.off("data", onStdoutData);
231
+ child.stdout?.off("data", onStdoutData);
232
232
  resolve(value);
233
233
  };
234
234
  const timer = setTimeout(() => {
@@ -268,26 +268,29 @@ import {
268
268
  DefaultSystemPromptBuilder,
269
269
  FallbackProfileManager
270
270
  } from "@wrongstack/core/agent";
271
+ import { ProviderModelStatusTracker } from "@wrongstack/core/coordination";
271
272
  import {
273
+ buildRecoveryStrategies,
272
274
  createStrategyCompactor,
273
275
  DefaultErrorHandler,
274
276
  DefaultPromptLoader,
275
277
  DefaultRetryPolicy,
276
278
  DefaultSkillLoader
277
279
  } from "@wrongstack/core/execution";
278
- import { ProviderModelStatusTracker } from "@wrongstack/core/coordination";
280
+ import { DefaultTokenCounter } from "@wrongstack/core/infrastructure";
279
281
  import { Container, TOKENS } from "@wrongstack/core/kernel";
280
282
  import { DefaultModeStore } from "@wrongstack/core/models";
281
283
  import {
282
- DirectoryPermissionPolicy,
283
284
  DefaultPermissionPolicy,
284
285
  DefaultSecretScrubber,
286
+ DirectoryPermissionPolicy,
285
287
  validateDirectoryPolicy
286
288
  } from "@wrongstack/core/security";
287
- import { DefaultConfigStore, DefaultSessionStore } from "@wrongstack/core/storage";
288
- import { buildRecoveryStrategies } from "@wrongstack/core/execution";
289
- import { DefaultTokenCounter } from "@wrongstack/core/infrastructure";
290
- import { getSessionRegistry } from "@wrongstack/core/storage";
289
+ import {
290
+ DefaultConfigStore,
291
+ DefaultSessionStore,
292
+ getSessionRegistry
293
+ } from "@wrongstack/core/storage";
291
294
  import { createProjectSageMemoryPort, isSqliteAvailable } from "@wrongstack/sage";
292
295
  function createDefaultContainer(opts) {
293
296
  const { config, wpaths, logger, modelsRegistry } = opts;
@@ -349,7 +352,7 @@ function createDefaultContainer(opts) {
349
352
  );
350
353
  if (!isSqliteAvailable()) {
351
354
  throw new Error(
352
- "SAGE requires Node built-in SQLite (node:sqlite; Node >= 22.5). The JSONL compatibility fallback has been removed."
355
+ "SAGE requires synchronous SQLite (node:sqlite on Node >= 22.5 or bun:sqlite on Bun). The JSONL compatibility fallback has been removed."
353
356
  );
354
357
  }
355
358
  const memoryStore = createProjectSageMemoryPort({
@@ -800,6 +803,63 @@ async function applyWrongStackPacks(host, packs, opts = {}) {
800
803
  }
801
804
  }
802
805
 
806
+ // src/kanban-ports.ts
807
+ import { setKanbanBoundaryOps, setKanbanDispatch } from "@wrongstack/core/coordination";
808
+ import { setKanbanGovernance } from "@wrongstack/core/security";
809
+ import { setBoardStorePort } from "@wrongstack/core/storage";
810
+ import {
811
+ addTask,
812
+ completeKanbanDispatch,
813
+ createBoard,
814
+ describeKanbanBoundary,
815
+ evaluateContractGraphReadiness,
816
+ evaluateKanbanBoundaryOpaque,
817
+ evaluateKanbanBoundaryPath,
818
+ failKanbanDispatch,
819
+ getBoard,
820
+ heartbeatTaskAssignment,
821
+ listBoards,
822
+ listReadyTasks,
823
+ readBoard,
824
+ removeBoard,
825
+ reserveKanbanDispatch,
826
+ resolveKanbanBoundaryLayers,
827
+ startKanbanDispatch,
828
+ updateTask,
829
+ updateTaskAssignment
830
+ } from "@wrongstack/kanban";
831
+ var wired = false;
832
+ function wireKanbanPorts() {
833
+ if (wired) return;
834
+ wired = true;
835
+ setKanbanBoundaryOps({ describeKanbanBoundary });
836
+ setKanbanGovernance({
837
+ readBoard,
838
+ resolveKanbanBoundaryLayers,
839
+ evaluateKanbanBoundaryOpaque,
840
+ evaluateKanbanBoundaryPath,
841
+ evaluateContractGraphReadiness
842
+ });
843
+ setBoardStorePort({
844
+ createBoard,
845
+ listBoards,
846
+ getBoard,
847
+ removeBoard,
848
+ addTask,
849
+ updateTask
850
+ });
851
+ setKanbanDispatch({
852
+ getBoard,
853
+ listReadyTasks,
854
+ reserveKanbanDispatch,
855
+ startKanbanDispatch,
856
+ completeKanbanDispatch,
857
+ failKanbanDispatch,
858
+ updateTaskAssignment,
859
+ heartbeatTaskAssignment
860
+ });
861
+ }
862
+
803
863
  // src/local-llm-probe.ts
804
864
  var PROBE_TIMEOUT_MS = 3e3;
805
865
  async function probeLocalLlm(opts) {
@@ -1151,6 +1211,7 @@ export {
1151
1211
  readClipboardImage,
1152
1212
  readClipboardText,
1153
1213
  routeImagesForModel,
1214
+ wireKanbanPorts,
1154
1215
  writeClipboardText
1155
1216
  };
1156
1217
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ /** Wire core's kanban ports to the real kanban-backed implementation. */
2
+ export declare function wireKanbanPorts(): void;
3
+ //# sourceMappingURL=kanban-ports.d.ts.map
@@ -9,9 +9,69 @@ import {
9
9
  searchMemoryTool
10
10
  } from "@wrongstack/tools/memory";
11
11
  import { registerBuiltinToolTier, selectBuiltinToolsForTier } from "@wrongstack/tools/tool-tier";
12
+
13
+ // src/kanban-ports.ts
14
+ import { setKanbanBoundaryOps, setKanbanDispatch } from "@wrongstack/core/coordination";
15
+ import { setKanbanGovernance } from "@wrongstack/core/security";
16
+ import { setBoardStorePort } from "@wrongstack/core/storage";
17
+ import {
18
+ addTask,
19
+ completeKanbanDispatch,
20
+ createBoard,
21
+ describeKanbanBoundary,
22
+ evaluateContractGraphReadiness,
23
+ evaluateKanbanBoundaryOpaque,
24
+ evaluateKanbanBoundaryPath,
25
+ failKanbanDispatch,
26
+ getBoard,
27
+ heartbeatTaskAssignment,
28
+ listBoards,
29
+ listReadyTasks,
30
+ readBoard,
31
+ removeBoard,
32
+ reserveKanbanDispatch,
33
+ resolveKanbanBoundaryLayers,
34
+ startKanbanDispatch,
35
+ updateTask,
36
+ updateTaskAssignment
37
+ } from "@wrongstack/kanban";
38
+ var wired = false;
39
+ function wireKanbanPorts() {
40
+ if (wired) return;
41
+ wired = true;
42
+ setKanbanBoundaryOps({ describeKanbanBoundary });
43
+ setKanbanGovernance({
44
+ readBoard,
45
+ resolveKanbanBoundaryLayers,
46
+ evaluateKanbanBoundaryOpaque,
47
+ evaluateKanbanBoundaryPath,
48
+ evaluateContractGraphReadiness
49
+ });
50
+ setBoardStorePort({
51
+ createBoard,
52
+ listBoards,
53
+ getBoard,
54
+ removeBoard,
55
+ addTask,
56
+ updateTask
57
+ });
58
+ setKanbanDispatch({
59
+ getBoard,
60
+ listReadyTasks,
61
+ reserveKanbanDispatch,
62
+ startKanbanDispatch,
63
+ completeKanbanDispatch,
64
+ failKanbanDispatch,
65
+ updateTaskAssignment,
66
+ heartbeatTaskAssignment
67
+ });
68
+ }
69
+
70
+ // src/tool-registration.ts
12
71
  import { createVectorMemoryTools } from "@wrongstack/vector-memory";
13
72
  var DIRECT_LAZY_GATEWAYS = ["tool_search", "tool_use", "tool_help"];
14
73
  function registerCanonicalHostTools(options) {
74
+ wireKanbanPorts();
15
75
  const catalogBuiltinTools = registerBuiltinToolTier({
16
76
  registry: options.registry,
17
77
  tier: "off"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/runtime",
3
- "version": "0.309.1",
3
+ "version": "0.310.0",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack default runtime implementations and host-level composition helpers built on @wrongstack/core.",
6
6
  "repository": {
@@ -64,11 +64,12 @@
64
64
  "README.md"
65
65
  ],
66
66
  "dependencies": {
67
- "@wrongstack/sage": "0.309.1",
68
- "@wrongstack/tools": "0.309.1",
69
- "@wrongstack/core": "0.309.1",
70
- "@wrongstack/governance": "0.309.1",
71
- "@wrongstack/vector-memory": "0.309.1"
67
+ "@wrongstack/core": "0.310.0",
68
+ "@wrongstack/kanban": "0.310.0",
69
+ "@wrongstack/sage": "0.310.0",
70
+ "@wrongstack/governance": "0.310.0",
71
+ "@wrongstack/vector-memory": "0.310.0",
72
+ "@wrongstack/tools": "0.310.0"
72
73
  },
73
74
  "devDependencies": {
74
75
  "@types/node": "^26.2.0",