@stoneforge/smithy 1.1.0 → 1.4.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/README.md +109 -18
- package/dist/cli/commands/agent.js +10 -10
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/pool.d.ts.map +1 -1
- package/dist/cli/commands/pool.js +33 -16
- package/dist/cli/commands/pool.js.map +1 -1
- package/dist/cli/commands/serve.d.ts +4 -16
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +0 -1
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/director.md +2 -2
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +6 -3
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/persistent-worker.md +1 -1
- package/dist/prompts/steward-base.md +4 -4
- package/dist/prompts/steward-recovery.md +113 -0
- package/dist/prompts/worker.md +12 -1
- package/dist/providers/claude/headless.d.ts +2 -0
- package/dist/providers/claude/headless.d.ts.map +1 -1
- package/dist/providers/claude/headless.js +8 -0
- package/dist/providers/claude/headless.js.map +1 -1
- package/dist/providers/claude/index.js +1 -1
- package/dist/providers/claude/index.js.map +1 -1
- package/dist/runtime/session-manager.d.ts +22 -2
- package/dist/runtime/session-manager.d.ts.map +1 -1
- package/dist/runtime/session-manager.js +74 -16
- package/dist/runtime/session-manager.js.map +1 -1
- package/dist/runtime/spawner.d.ts.map +1 -1
- package/dist/runtime/spawner.js +10 -0
- package/dist/runtime/spawner.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +3 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/daemon-state.d.ts.map +1 -1
- package/dist/server/daemon-state.js +5 -3
- package/dist/server/daemon-state.js.map +1 -1
- package/dist/server/events-websocket.d.ts.map +1 -1
- package/dist/server/events-websocket.js +7 -5
- package/dist/server/events-websocket.js.map +1 -1
- package/dist/server/formatters.d.ts +16 -2
- package/dist/server/formatters.d.ts.map +1 -1
- package/dist/server/formatters.js +23 -2
- package/dist/server/formatters.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +16 -12
- package/dist/server/index.js.map +1 -1
- package/dist/server/lsp-websocket.d.ts.map +1 -1
- package/dist/server/lsp-websocket.js +10 -8
- package/dist/server/lsp-websocket.js.map +1 -1
- package/dist/server/routes/agents.d.ts.map +1 -1
- package/dist/server/routes/agents.js +81 -15
- package/dist/server/routes/agents.js.map +1 -1
- package/dist/server/routes/daemon.d.ts.map +1 -1
- package/dist/server/routes/daemon.js +6 -4
- package/dist/server/routes/daemon.js.map +1 -1
- package/dist/server/routes/events.d.ts.map +1 -1
- package/dist/server/routes/events.js +4 -2
- package/dist/server/routes/events.js.map +1 -1
- package/dist/server/routes/extensions.d.ts.map +1 -1
- package/dist/server/routes/extensions.js +9 -7
- package/dist/server/routes/extensions.js.map +1 -1
- package/dist/server/routes/index.d.ts +1 -0
- package/dist/server/routes/index.d.ts.map +1 -1
- package/dist/server/routes/index.js +1 -0
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/plugins.d.ts.map +1 -1
- package/dist/server/routes/plugins.js +6 -4
- package/dist/server/routes/plugins.js.map +1 -1
- package/dist/server/routes/pools.d.ts.map +1 -1
- package/dist/server/routes/pools.js +26 -7
- package/dist/server/routes/pools.js.map +1 -1
- package/dist/server/routes/scheduler.d.ts.map +1 -1
- package/dist/server/routes/scheduler.js +9 -7
- package/dist/server/routes/scheduler.js.map +1 -1
- package/dist/server/routes/sessions.d.ts.map +1 -1
- package/dist/server/routes/sessions.js +17 -15
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/routes/settings.d.ts +10 -0
- package/dist/server/routes/settings.d.ts.map +1 -0
- package/dist/server/routes/settings.js +65 -0
- package/dist/server/routes/settings.js.map +1 -0
- package/dist/server/routes/tasks.d.ts.map +1 -1
- package/dist/server/routes/tasks.js +54 -31
- package/dist/server/routes/tasks.js.map +1 -1
- package/dist/server/routes/upload.d.ts.map +1 -1
- package/dist/server/routes/upload.js +3 -1
- package/dist/server/routes/upload.js.map +1 -1
- package/dist/server/routes/workflows.d.ts.map +1 -1
- package/dist/server/routes/workflows.js +17 -15
- package/dist/server/routes/workflows.js.map +1 -1
- package/dist/server/routes/workspace-files.d.ts.map +1 -1
- package/dist/server/routes/workspace-files.js +11 -9
- package/dist/server/routes/workspace-files.js.map +1 -1
- package/dist/server/routes/worktrees.d.ts.map +1 -1
- package/dist/server/routes/worktrees.js +6 -4
- package/dist/server/routes/worktrees.js.map +1 -1
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +10 -8
- package/dist/server/server.js.map +1 -1
- package/dist/server/services/lsp-manager.d.ts.map +1 -1
- package/dist/server/services/lsp-manager.js +15 -13
- package/dist/server/services/lsp-manager.js.map +1 -1
- package/dist/server/services.d.ts +2 -2
- package/dist/server/services.d.ts.map +1 -1
- package/dist/server/services.js +41 -13
- package/dist/server/services.js.map +1 -1
- package/dist/server/static.d.ts.map +1 -1
- package/dist/server/static.js +3 -1
- package/dist/server/static.js.map +1 -1
- package/dist/server/websocket.d.ts.map +1 -1
- package/dist/server/websocket.js +6 -4
- package/dist/server/websocket.js.map +1 -1
- package/dist/services/agent-pool-service.d.ts.map +1 -1
- package/dist/services/agent-pool-service.js +7 -8
- package/dist/services/agent-pool-service.js.map +1 -1
- package/dist/services/agent-registry.d.ts +8 -1
- package/dist/services/agent-registry.d.ts.map +1 -1
- package/dist/services/agent-registry.js +27 -4
- package/dist/services/agent-registry.js.map +1 -1
- package/dist/services/dispatch-daemon.d.ts +64 -2
- package/dist/services/dispatch-daemon.d.ts.map +1 -1
- package/dist/services/dispatch-daemon.js +387 -59
- package/dist/services/dispatch-daemon.js.map +1 -1
- package/dist/services/index.d.ts +1 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +6 -11
- package/dist/services/index.js.map +1 -1
- package/dist/services/merge-steward-service.d.ts.map +1 -1
- package/dist/services/merge-steward-service.js +6 -4
- package/dist/services/merge-steward-service.js.map +1 -1
- package/dist/services/settings-service.d.ts +56 -0
- package/dist/services/settings-service.d.ts.map +1 -0
- package/dist/services/settings-service.js +92 -0
- package/dist/services/settings-service.js.map +1 -0
- package/dist/services/steward-scheduler.d.ts +37 -5
- package/dist/services/steward-scheduler.d.ts.map +1 -1
- package/dist/services/steward-scheduler.js +224 -41
- package/dist/services/steward-scheduler.js.map +1 -1
- package/dist/services/task-assignment-service.d.ts.map +1 -1
- package/dist/services/task-assignment-service.js +3 -0
- package/dist/services/task-assignment-service.js.map +1 -1
- package/dist/testing/test-context.d.ts +1 -1
- package/dist/testing/test-context.d.ts.map +1 -1
- package/dist/types/agent-pool.d.ts +4 -0
- package/dist/types/agent-pool.d.ts.map +1 -1
- package/dist/types/agent-pool.js +8 -1
- package/dist/types/agent-pool.js.map +1 -1
- package/dist/types/agent.d.ts +37 -7
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +2 -2
- package/dist/types/agent.js.map +1 -1
- package/dist/types/role-definition.d.ts +1 -1
- package/dist/types/role-definition.js +1 -1
- package/dist/types/role-definition.js.map +1 -1
- package/dist/types/task-meta.d.ts +6 -0
- package/dist/types/task-meta.d.ts.map +1 -1
- package/dist/types/task-meta.js.map +1 -1
- package/dist/utils/logger.d.ts +66 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +133 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +7 -7
- package/web/assets/{index-R1cylSgw.js → index-8dBly5AJ.js} +697 -437
- package/web/assets/index-CNcjZKzg.css +32 -0
- package/web/assets/{utils-vendor-DaJ2Dubl.js → utils-vendor-B7jOGaxP.js} +1 -1
- package/web/index.html +3 -3
- package/dist/prompts/steward-health.md +0 -39
- package/dist/prompts/steward-ops.md +0 -28
- package/dist/prompts/steward-reminder.md +0 -26
- package/dist/services/health-steward-service.d.ts +0 -446
- package/dist/services/health-steward-service.d.ts.map +0 -1
- package/dist/services/health-steward-service.js +0 -866
- package/dist/services/health-steward-service.js.map +0 -1
- package/web/assets/index-DqP-_E4F.css +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-meta.js","sourceRoot":"","sources":["../../src/types/task-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"task-meta.js","sourceRoot":"","sources":["../../src/types/task-meta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides a structured logging framework with level-based filtering.
|
|
5
|
+
* Supports DEBUG, INFO, WARNING, and ERROR levels with configurable
|
|
6
|
+
* minimum log level via the LOG_LEVEL environment variable.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { createLogger } from '../utils/logger.js';
|
|
10
|
+
* const logger = createLogger('service-name');
|
|
11
|
+
* logger.info('Server started');
|
|
12
|
+
* logger.debug('Detailed info');
|
|
13
|
+
* logger.warn('Something unexpected');
|
|
14
|
+
* logger.error('Something failed', error);
|
|
15
|
+
*
|
|
16
|
+
* Environment:
|
|
17
|
+
* LOG_LEVEL=DEBUG|INFO|WARNING|ERROR (default: INFO)
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Supported log levels in ascending severity order.
|
|
23
|
+
*/
|
|
24
|
+
export type LogLevel = 'DEBUG' | 'INFO' | 'WARNING' | 'ERROR';
|
|
25
|
+
/**
|
|
26
|
+
* Logger interface with leveled logging methods.
|
|
27
|
+
*/
|
|
28
|
+
export interface Logger {
|
|
29
|
+
/** Log at DEBUG level — detailed operational info (polling cycles, individual checks, etc.) */
|
|
30
|
+
debug(message: string, ...args: unknown[]): void;
|
|
31
|
+
/** Log at INFO level — key events (server start, agent spawned, plan completed, etc.) */
|
|
32
|
+
info(message: string, ...args: unknown[]): void;
|
|
33
|
+
/** Log at WARNING level — recoverable issues (stale sessions, retry attempts, etc.) */
|
|
34
|
+
warn(message: string, ...args: unknown[]): void;
|
|
35
|
+
/** Log at ERROR level — failures (uncaught errors, failed operations, etc.) */
|
|
36
|
+
error(message: string, ...args: unknown[]): void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolves the current log level from the LOG_LEVEL environment variable.
|
|
40
|
+
* Falls back to INFO if the variable is not set or invalid.
|
|
41
|
+
*
|
|
42
|
+
* The level is read fresh on each call so changes to process.env.LOG_LEVEL
|
|
43
|
+
* take effect immediately without restart.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getLogLevel(): LogLevel;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a scoped logger instance with the given service name prefix.
|
|
48
|
+
*
|
|
49
|
+
* The logger preserves the existing `[service-name]` prefix convention
|
|
50
|
+
* used throughout the codebase and adds log-level filtering.
|
|
51
|
+
*
|
|
52
|
+
* @param serviceName - The service name used as a prefix (e.g., 'dispatch-daemon')
|
|
53
|
+
* @returns A Logger instance with debug/info/warn/error methods
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const logger = createLogger('dispatch-daemon');
|
|
58
|
+
* logger.info('Started polling');
|
|
59
|
+
* // Output: [dispatch-daemon] Started polling
|
|
60
|
+
*
|
|
61
|
+
* logger.debug('Checking worker availability');
|
|
62
|
+
* // Only shown when LOG_LEVEL=DEBUG
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function createLogger(serviceName: string): Logger;
|
|
66
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,+FAA+F;IAC/F,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,yFAAyF;IACzF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,uFAAuF;IACvF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,+EAA+E;IAC/E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AA8BD;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAMtC;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4CxD"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides a structured logging framework with level-based filtering.
|
|
5
|
+
* Supports DEBUG, INFO, WARNING, and ERROR levels with configurable
|
|
6
|
+
* minimum log level via the LOG_LEVEL environment variable.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { createLogger } from '../utils/logger.js';
|
|
10
|
+
* const logger = createLogger('service-name');
|
|
11
|
+
* logger.info('Server started');
|
|
12
|
+
* logger.debug('Detailed info');
|
|
13
|
+
* logger.warn('Something unexpected');
|
|
14
|
+
* logger.error('Something failed', error);
|
|
15
|
+
*
|
|
16
|
+
* Environment:
|
|
17
|
+
* LOG_LEVEL=DEBUG|INFO|WARNING|ERROR (default: INFO)
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
// ============================================================================
|
|
22
|
+
// Constants
|
|
23
|
+
// ============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* Log level severity values — higher number means more severe.
|
|
26
|
+
*/
|
|
27
|
+
const LOG_LEVEL_VALUES = {
|
|
28
|
+
DEBUG: 0,
|
|
29
|
+
INFO: 1,
|
|
30
|
+
WARNING: 2,
|
|
31
|
+
ERROR: 3,
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Valid log level strings for validation.
|
|
35
|
+
*/
|
|
36
|
+
const VALID_LOG_LEVELS = new Set(['DEBUG', 'INFO', 'WARNING', 'ERROR']);
|
|
37
|
+
/**
|
|
38
|
+
* Default log level when LOG_LEVEL env var is not set or invalid.
|
|
39
|
+
*/
|
|
40
|
+
const DEFAULT_LOG_LEVEL = 'INFO';
|
|
41
|
+
// ============================================================================
|
|
42
|
+
// Log Level Resolution
|
|
43
|
+
// ============================================================================
|
|
44
|
+
/**
|
|
45
|
+
* Resolves the current log level from the LOG_LEVEL environment variable.
|
|
46
|
+
* Falls back to INFO if the variable is not set or invalid.
|
|
47
|
+
*
|
|
48
|
+
* The level is read fresh on each call so changes to process.env.LOG_LEVEL
|
|
49
|
+
* take effect immediately without restart.
|
|
50
|
+
*/
|
|
51
|
+
export function getLogLevel() {
|
|
52
|
+
const envLevel = process.env.LOG_LEVEL?.toUpperCase();
|
|
53
|
+
if (envLevel && VALID_LOG_LEVELS.has(envLevel)) {
|
|
54
|
+
return envLevel;
|
|
55
|
+
}
|
|
56
|
+
return DEFAULT_LOG_LEVEL;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Checks whether a message at the given level should be logged
|
|
60
|
+
* based on the current minimum log level.
|
|
61
|
+
*/
|
|
62
|
+
function shouldLog(messageLevel) {
|
|
63
|
+
const currentLevel = getLogLevel();
|
|
64
|
+
return LOG_LEVEL_VALUES[messageLevel] >= LOG_LEVEL_VALUES[currentLevel];
|
|
65
|
+
}
|
|
66
|
+
// ============================================================================
|
|
67
|
+
// Logger Factory
|
|
68
|
+
// ============================================================================
|
|
69
|
+
/**
|
|
70
|
+
* Creates a scoped logger instance with the given service name prefix.
|
|
71
|
+
*
|
|
72
|
+
* The logger preserves the existing `[service-name]` prefix convention
|
|
73
|
+
* used throughout the codebase and adds log-level filtering.
|
|
74
|
+
*
|
|
75
|
+
* @param serviceName - The service name used as a prefix (e.g., 'dispatch-daemon')
|
|
76
|
+
* @returns A Logger instance with debug/info/warn/error methods
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* const logger = createLogger('dispatch-daemon');
|
|
81
|
+
* logger.info('Started polling');
|
|
82
|
+
* // Output: [dispatch-daemon] Started polling
|
|
83
|
+
*
|
|
84
|
+
* logger.debug('Checking worker availability');
|
|
85
|
+
* // Only shown when LOG_LEVEL=DEBUG
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export function createLogger(serviceName) {
|
|
89
|
+
const prefix = `[${serviceName}]`;
|
|
90
|
+
return {
|
|
91
|
+
debug(message, ...args) {
|
|
92
|
+
if (shouldLog('DEBUG')) {
|
|
93
|
+
if (args.length > 0) {
|
|
94
|
+
console.debug(prefix, message, ...args);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
console.debug(prefix, message);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
info(message, ...args) {
|
|
102
|
+
if (shouldLog('INFO')) {
|
|
103
|
+
if (args.length > 0) {
|
|
104
|
+
console.log(prefix, message, ...args);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.log(prefix, message);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
warn(message, ...args) {
|
|
112
|
+
if (shouldLog('WARNING')) {
|
|
113
|
+
if (args.length > 0) {
|
|
114
|
+
console.warn(prefix, message, ...args);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
console.warn(prefix, message);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
error(message, ...args) {
|
|
122
|
+
if (shouldLog('ERROR')) {
|
|
123
|
+
if (args.length > 0) {
|
|
124
|
+
console.error(prefix, message, ...args);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
console.error(prefix, message);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stoneforge/smithy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Orchestrator SDK for Stoneforge - AI agent orchestration library extending the core SDK",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -89,17 +89,17 @@
|
|
|
89
89
|
"claude"
|
|
90
90
|
],
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.
|
|
92
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.45",
|
|
93
93
|
"hono": "^4.7.0",
|
|
94
94
|
"node-pty": "^1.1.0",
|
|
95
95
|
"ws": "^8.18.0",
|
|
96
|
-
"@stoneforge/core": "1.
|
|
97
|
-
"@stoneforge/
|
|
98
|
-
"@stoneforge/shared-routes": "1.
|
|
99
|
-
"@stoneforge/
|
|
96
|
+
"@stoneforge/core": "1.4.0",
|
|
97
|
+
"@stoneforge/storage": "1.4.0",
|
|
98
|
+
"@stoneforge/shared-routes": "1.4.0",
|
|
99
|
+
"@stoneforge/quarry": "1.4.0"
|
|
100
100
|
},
|
|
101
101
|
"optionalDependencies": {
|
|
102
|
-
"@opencode-ai/sdk": "^1.
|
|
102
|
+
"@opencode-ai/sdk": "^1.2.6"
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
105
|
"@types/bun": "latest",
|