@grimoirelabs/cli 0.2.0 → 0.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/dist/commands/advisory-handlers.d.ts +30 -0
- package/dist/commands/advisory-handlers.d.ts.map +1 -0
- package/dist/commands/advisory-handlers.js +328 -0
- package/dist/commands/advisory-handlers.js.map +1 -0
- package/dist/commands/cast.d.ts +11 -0
- package/dist/commands/cast.d.ts.map +1 -1
- package/dist/commands/cast.js +126 -76
- package/dist/commands/cast.js.map +1 -1
- package/dist/commands/data-provenance.d.ts +85 -0
- package/dist/commands/data-provenance.d.ts.map +1 -0
- package/dist/commands/data-provenance.js +311 -0
- package/dist/commands/data-provenance.js.map +1 -0
- package/dist/commands/run-report.d.ts +52 -0
- package/dist/commands/run-report.d.ts.map +1 -0
- package/dist/commands/run-report.js +143 -0
- package/dist/commands/run-report.js.map +1 -0
- package/dist/commands/simulate.d.ts +12 -0
- package/dist/commands/simulate.d.ts.map +1 -1
- package/dist/commands/simulate.js +68 -46
- package/dist/commands/simulate.js.map +1 -1
- package/dist/commands/state-helpers.d.ts +3 -1
- package/dist/commands/state-helpers.d.ts.map +1 -1
- package/dist/commands/state-helpers.js +12 -2
- package/dist/commands/state-helpers.js.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AdvisoryHandler, LedgerEntry } from "@grimoirelabs/core";
|
|
2
|
+
type PiToolsMode = "none" | "read" | "coding";
|
|
3
|
+
export interface PiAdvisoryConfig {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
agentDir?: string;
|
|
6
|
+
advisorSkillsDirs: string[];
|
|
7
|
+
tools: PiToolsMode;
|
|
8
|
+
provider?: string;
|
|
9
|
+
modelId?: string;
|
|
10
|
+
thinkingLevel?: "off" | "low" | "medium" | "high";
|
|
11
|
+
mode?: "auto" | "force";
|
|
12
|
+
}
|
|
13
|
+
export interface AdvisoryRuntimeOptions {
|
|
14
|
+
advisoryPi?: boolean;
|
|
15
|
+
advisoryReplay?: string;
|
|
16
|
+
advisoryProvider?: string;
|
|
17
|
+
advisoryModel?: string;
|
|
18
|
+
advisoryThinking?: "off" | "low" | "medium" | "high";
|
|
19
|
+
advisoryTools?: PiToolsMode;
|
|
20
|
+
advisorSkillsDirs: string[];
|
|
21
|
+
stateDir?: string;
|
|
22
|
+
noState?: boolean;
|
|
23
|
+
agentDir?: string;
|
|
24
|
+
cwd?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function resolveAdvisoryHandler(spellId: string, options: AdvisoryRuntimeOptions): Promise<AdvisoryHandler | undefined>;
|
|
27
|
+
export declare function createPiAdvisoryHandler(config: PiAdvisoryConfig): AdvisoryHandler;
|
|
28
|
+
export declare function createReplayAdvisoryHandler(ledgerEvents: LedgerEntry[]): AdvisoryHandler;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=advisory-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advisory-handlers.d.ts","sourceRoot":"","sources":["../../src/commands/advisory-handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAwB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAa7F,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAyBtC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,CAkFjF;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,eAAe,CAoBxF"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { SqliteStateStore } from "@grimoirelabs/core";
|
|
3
|
+
import { AuthStorage, DefaultResourceLoader, ModelRegistry, SessionManager, SettingsManager, createAgentSession, createCodingTools, createReadOnlyTools, } from "@mariozechner/pi-coding-agent";
|
|
4
|
+
export async function resolveAdvisoryHandler(spellId, options) {
|
|
5
|
+
let handler;
|
|
6
|
+
if (options.advisoryReplay) {
|
|
7
|
+
if (options.noState) {
|
|
8
|
+
throw new Error("--advisory-replay requires state persistence (omit --no-state)");
|
|
9
|
+
}
|
|
10
|
+
const ledgerEvents = await loadLedger(spellId, options.advisoryReplay, options.stateDir);
|
|
11
|
+
handler = createReplayAdvisoryHandler(ledgerEvents);
|
|
12
|
+
}
|
|
13
|
+
if (!handler) {
|
|
14
|
+
handler = createPiAdvisoryHandler({
|
|
15
|
+
cwd: options.cwd,
|
|
16
|
+
agentDir: options.agentDir,
|
|
17
|
+
advisorSkillsDirs: options.advisorSkillsDirs,
|
|
18
|
+
tools: options.advisoryTools ?? "read",
|
|
19
|
+
provider: options.advisoryProvider,
|
|
20
|
+
modelId: options.advisoryModel,
|
|
21
|
+
thinkingLevel: options.advisoryThinking,
|
|
22
|
+
mode: options.advisoryPi ? "force" : "auto",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return handler;
|
|
26
|
+
}
|
|
27
|
+
export function createPiAdvisoryHandler(config) {
|
|
28
|
+
const cwd = config.cwd ?? process.cwd();
|
|
29
|
+
const agentDir = config.agentDir ?? process.env.PI_AGENT_DIR;
|
|
30
|
+
const authPath = agentDir ? join(agentDir, "auth.json") : undefined;
|
|
31
|
+
const modelsPath = agentDir ? join(agentDir, "models.json") : undefined;
|
|
32
|
+
const authStorage = new AuthStorage(authPath);
|
|
33
|
+
const modelRegistry = new ModelRegistry(authStorage, modelsPath);
|
|
34
|
+
const settingsManager = SettingsManager.create(cwd, agentDir);
|
|
35
|
+
const mode = config.mode ?? "force";
|
|
36
|
+
return async (input) => {
|
|
37
|
+
const tools = resolveTools(config.tools, cwd, input.allowedTools);
|
|
38
|
+
const resourceLoader = new DefaultResourceLoader({
|
|
39
|
+
cwd,
|
|
40
|
+
agentDir,
|
|
41
|
+
settingsManager,
|
|
42
|
+
additionalSkillPaths: config.advisorSkillsDirs,
|
|
43
|
+
skillsOverride: (current) => {
|
|
44
|
+
if (!input.skills || input.skills.length === 0) {
|
|
45
|
+
return current;
|
|
46
|
+
}
|
|
47
|
+
const filtered = current.skills.filter((skill) => input.skills?.includes(skill.name));
|
|
48
|
+
return { skills: filtered, diagnostics: current.diagnostics };
|
|
49
|
+
},
|
|
50
|
+
agentsFilesOverride: () => ({ agentsFiles: [] }),
|
|
51
|
+
appendSystemPromptOverride: (base) => [
|
|
52
|
+
...base,
|
|
53
|
+
"## Advisory Output Contract",
|
|
54
|
+
"- Return ONLY valid JSON.",
|
|
55
|
+
"- Do not include Markdown, code fences, or prose.",
|
|
56
|
+
"- Use the provided output schema exactly.",
|
|
57
|
+
"- Do not perform side effects.",
|
|
58
|
+
],
|
|
59
|
+
});
|
|
60
|
+
await resourceLoader.reload();
|
|
61
|
+
if (mode === "auto" && !hasConfiguredModel(config, input, settingsManager)) {
|
|
62
|
+
throw new Error("No advisory model configured");
|
|
63
|
+
}
|
|
64
|
+
const model = await resolveModel(modelRegistry, settingsManager, config, input, {
|
|
65
|
+
allowFallbackToFirstAvailable: mode === "force",
|
|
66
|
+
});
|
|
67
|
+
if (!model) {
|
|
68
|
+
throw new Error("No available Pi model found for advisory");
|
|
69
|
+
}
|
|
70
|
+
input.emit?.({
|
|
71
|
+
type: "advisory_model_used",
|
|
72
|
+
stepId: input.stepId,
|
|
73
|
+
provider: model.provider,
|
|
74
|
+
modelId: model.id,
|
|
75
|
+
thinkingLevel: config.thinkingLevel,
|
|
76
|
+
});
|
|
77
|
+
const { session } = await createAgentSession({
|
|
78
|
+
model,
|
|
79
|
+
thinkingLevel: config.thinkingLevel,
|
|
80
|
+
tools,
|
|
81
|
+
authStorage,
|
|
82
|
+
modelRegistry,
|
|
83
|
+
resourceLoader,
|
|
84
|
+
sessionManager: SessionManager.inMemory(),
|
|
85
|
+
settingsManager,
|
|
86
|
+
});
|
|
87
|
+
const unsubscribe = session.subscribe((event) => {
|
|
88
|
+
emitToolTrace(event, input);
|
|
89
|
+
});
|
|
90
|
+
try {
|
|
91
|
+
const prompt = buildAdvisoryPrompt(input);
|
|
92
|
+
await session.prompt(prompt);
|
|
93
|
+
const responseText = extractAssistantText(session.messages);
|
|
94
|
+
return parseJsonResponse(responseText);
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
unsubscribe();
|
|
98
|
+
session.dispose();
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export function createReplayAdvisoryHandler(ledgerEvents) {
|
|
103
|
+
const advisoryStepIds = new Set();
|
|
104
|
+
for (const entry of ledgerEvents) {
|
|
105
|
+
if (entry.event.type === "step_started" && entry.event.kind === "advisory") {
|
|
106
|
+
advisoryStepIds.add(entry.event.stepId);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const outputs = new Map();
|
|
110
|
+
for (const entry of ledgerEvents) {
|
|
111
|
+
if (entry.event.type === "step_completed" && advisoryStepIds.has(entry.event.stepId)) {
|
|
112
|
+
outputs.set(entry.event.stepId, entry.event.result);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return async (input) => {
|
|
116
|
+
if (outputs.has(input.stepId)) {
|
|
117
|
+
return outputs.get(input.stepId);
|
|
118
|
+
}
|
|
119
|
+
throw new Error(`No advisory output found for step ${input.stepId} in replay data`);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
async function loadLedger(spellId, runId, stateDir) {
|
|
123
|
+
const dbPath = stateDir ? join(stateDir, "grimoire.db") : undefined;
|
|
124
|
+
const store = new SqliteStateStore({ dbPath });
|
|
125
|
+
try {
|
|
126
|
+
const ledger = await store.loadLedger(spellId, runId);
|
|
127
|
+
if (!ledger) {
|
|
128
|
+
throw new Error(`No ledger found for run ${runId}`);
|
|
129
|
+
}
|
|
130
|
+
return ledger;
|
|
131
|
+
}
|
|
132
|
+
finally {
|
|
133
|
+
store.close();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function resolveTools(mode, cwd, allowedTools) {
|
|
137
|
+
if (mode === "none")
|
|
138
|
+
return [];
|
|
139
|
+
const baseTools = mode === "coding" ? createCodingTools(cwd) : createReadOnlyTools(cwd);
|
|
140
|
+
if (!allowedTools || allowedTools.length === 0)
|
|
141
|
+
return baseTools;
|
|
142
|
+
const filtered = baseTools.filter((tool) => allowedTools.includes(tool.name));
|
|
143
|
+
const missing = allowedTools.filter((name) => !filtered.some((tool) => tool.name === name));
|
|
144
|
+
if (missing.length > 0) {
|
|
145
|
+
throw new Error(`Advisor tools not available: ${missing.join(", ")}`);
|
|
146
|
+
}
|
|
147
|
+
return filtered;
|
|
148
|
+
}
|
|
149
|
+
async function resolveModel(modelRegistry, settingsManager, config, input, options) {
|
|
150
|
+
if (config.provider && config.modelId) {
|
|
151
|
+
return modelRegistry.find(config.provider, config.modelId);
|
|
152
|
+
}
|
|
153
|
+
const parsed = parseAdvisorModel(input.model);
|
|
154
|
+
if (parsed?.provider && parsed.modelId) {
|
|
155
|
+
const found = modelRegistry.find(parsed.provider, parsed.modelId);
|
|
156
|
+
if (found)
|
|
157
|
+
return found;
|
|
158
|
+
}
|
|
159
|
+
if (parsed?.modelId && !parsed.provider) {
|
|
160
|
+
const available = await modelRegistry.getAvailable();
|
|
161
|
+
const match = available.find((model) => model.id === parsed.modelId);
|
|
162
|
+
if (match)
|
|
163
|
+
return match;
|
|
164
|
+
}
|
|
165
|
+
const defaultProvider = settingsManager.getDefaultProvider();
|
|
166
|
+
const defaultModel = settingsManager.getDefaultModel();
|
|
167
|
+
if (defaultProvider && defaultModel) {
|
|
168
|
+
const found = modelRegistry.find(defaultProvider, defaultModel);
|
|
169
|
+
if (found)
|
|
170
|
+
return found;
|
|
171
|
+
}
|
|
172
|
+
if (!options.allowFallbackToFirstAvailable) {
|
|
173
|
+
return undefined;
|
|
174
|
+
}
|
|
175
|
+
const available = await modelRegistry.getAvailable();
|
|
176
|
+
return available[0];
|
|
177
|
+
}
|
|
178
|
+
function hasConfiguredModel(config, input, settingsManager) {
|
|
179
|
+
if (typeof config.modelId === "string" && config.modelId.trim().length > 0)
|
|
180
|
+
return true;
|
|
181
|
+
if (typeof input.model === "string" && input.model.trim().length > 0)
|
|
182
|
+
return true;
|
|
183
|
+
const defaultProvider = settingsManager.getDefaultProvider();
|
|
184
|
+
const defaultModel = settingsManager.getDefaultModel();
|
|
185
|
+
return Boolean(defaultProvider && defaultModel);
|
|
186
|
+
}
|
|
187
|
+
function parseAdvisorModel(model) {
|
|
188
|
+
if (!model)
|
|
189
|
+
return null;
|
|
190
|
+
if (model.includes("/")) {
|
|
191
|
+
const [provider, ...rest] = model.split("/");
|
|
192
|
+
if (provider && rest.length > 0) {
|
|
193
|
+
return { provider, modelId: rest.join("/") };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (model.includes(":")) {
|
|
197
|
+
const [provider, ...rest] = model.split(":");
|
|
198
|
+
if (provider && rest.length > 0) {
|
|
199
|
+
return { provider, modelId: rest.join(":") };
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return { modelId: model };
|
|
203
|
+
}
|
|
204
|
+
function buildAdvisoryPrompt(input) {
|
|
205
|
+
const schema = JSON.stringify(input.outputSchema, null, 2);
|
|
206
|
+
const context = JSON.stringify(input.context, null, 2);
|
|
207
|
+
const tooling = JSON.stringify({
|
|
208
|
+
skills: input.skills ?? [],
|
|
209
|
+
allowedTools: input.allowedTools ?? [],
|
|
210
|
+
mcp: input.mcp ?? [],
|
|
211
|
+
}, null, 2);
|
|
212
|
+
return [
|
|
213
|
+
"You are executing an advisory decision for Grimoire.",
|
|
214
|
+
"Return ONLY valid JSON that matches the output schema.",
|
|
215
|
+
"",
|
|
216
|
+
"Advisory prompt:",
|
|
217
|
+
input.prompt,
|
|
218
|
+
"",
|
|
219
|
+
"Output schema (JSON):",
|
|
220
|
+
schema,
|
|
221
|
+
"",
|
|
222
|
+
"Context snapshot:",
|
|
223
|
+
context,
|
|
224
|
+
"",
|
|
225
|
+
"Advisor tooling metadata:",
|
|
226
|
+
tooling,
|
|
227
|
+
].join("\n");
|
|
228
|
+
}
|
|
229
|
+
function extractAssistantText(messages) {
|
|
230
|
+
for (let i = messages.length - 1; i >= 0; i -= 1) {
|
|
231
|
+
const message = messages[i];
|
|
232
|
+
if (message?.role !== "assistant")
|
|
233
|
+
continue;
|
|
234
|
+
const content = message.content ?? message.text;
|
|
235
|
+
if (typeof content === "string")
|
|
236
|
+
return content;
|
|
237
|
+
if (Array.isArray(content)) {
|
|
238
|
+
const textBlocks = content
|
|
239
|
+
.filter((block) => typeof block === "object" &&
|
|
240
|
+
block !== null &&
|
|
241
|
+
block.type === "text")
|
|
242
|
+
.map((block) => block.text)
|
|
243
|
+
.filter((text) => typeof text === "string");
|
|
244
|
+
if (textBlocks.length > 0)
|
|
245
|
+
return textBlocks.join("");
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
throw new Error("No assistant response found for advisory");
|
|
249
|
+
}
|
|
250
|
+
function parseJsonResponse(text) {
|
|
251
|
+
const cleaned = stripCodeFences(text.trim());
|
|
252
|
+
const jsonText = extractJsonSnippet(cleaned);
|
|
253
|
+
return JSON.parse(jsonText);
|
|
254
|
+
}
|
|
255
|
+
function stripCodeFences(text) {
|
|
256
|
+
if (!text.startsWith("```"))
|
|
257
|
+
return text;
|
|
258
|
+
const lines = text.split("\n");
|
|
259
|
+
const firstFence = lines[0] ?? "";
|
|
260
|
+
const lastFenceIndex = lines.lastIndexOf("```");
|
|
261
|
+
if (lastFenceIndex <= 0)
|
|
262
|
+
return text;
|
|
263
|
+
const contentLines = lines.slice(1, lastFenceIndex);
|
|
264
|
+
if (firstFence.startsWith("```json")) {
|
|
265
|
+
return contentLines.join("\n");
|
|
266
|
+
}
|
|
267
|
+
return contentLines.join("\n");
|
|
268
|
+
}
|
|
269
|
+
function extractJsonSnippet(text) {
|
|
270
|
+
const objectMatch = text.match(/\{[\s\S]*\}/);
|
|
271
|
+
if (objectMatch)
|
|
272
|
+
return objectMatch[0];
|
|
273
|
+
const arrayMatch = text.match(/\[[\s\S]*\]/);
|
|
274
|
+
if (arrayMatch)
|
|
275
|
+
return arrayMatch[0];
|
|
276
|
+
return text;
|
|
277
|
+
}
|
|
278
|
+
function emitToolTrace(event, input) {
|
|
279
|
+
if (!input.emit)
|
|
280
|
+
return;
|
|
281
|
+
if (event.type === "tool_execution_start") {
|
|
282
|
+
const toolName = event.toolName;
|
|
283
|
+
const toolCallId = event.toolCallId;
|
|
284
|
+
const args = event.args;
|
|
285
|
+
if (typeof toolName === "string" && typeof toolCallId === "string") {
|
|
286
|
+
input.emit({
|
|
287
|
+
type: "advisory_tool_execution_start",
|
|
288
|
+
stepId: input.stepId,
|
|
289
|
+
toolCallId,
|
|
290
|
+
toolName,
|
|
291
|
+
args,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
if (event.type === "tool_execution_update") {
|
|
297
|
+
const toolName = event.toolName;
|
|
298
|
+
const toolCallId = event.toolCallId;
|
|
299
|
+
const partial = event.partialResult;
|
|
300
|
+
if (typeof toolName === "string" && typeof toolCallId === "string") {
|
|
301
|
+
input.emit({
|
|
302
|
+
type: "advisory_tool_execution_update",
|
|
303
|
+
stepId: input.stepId,
|
|
304
|
+
toolCallId,
|
|
305
|
+
toolName,
|
|
306
|
+
partial,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (event.type === "tool_execution_end") {
|
|
312
|
+
const toolName = event.toolName;
|
|
313
|
+
const toolCallId = event.toolCallId;
|
|
314
|
+
const result = event.result;
|
|
315
|
+
const isError = event.isError;
|
|
316
|
+
if (typeof toolName === "string" && typeof toolCallId === "string") {
|
|
317
|
+
input.emit({
|
|
318
|
+
type: "advisory_tool_execution_end",
|
|
319
|
+
stepId: input.stepId,
|
|
320
|
+
toolCallId,
|
|
321
|
+
toolName,
|
|
322
|
+
result,
|
|
323
|
+
isError: typeof isError === "boolean" ? isError : undefined,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=advisory-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advisory-handlers.js","sourceRoot":"","sources":["../../src/commands/advisory-handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/cast.d.ts
CHANGED
|
@@ -8,6 +8,13 @@ interface CastOptions {
|
|
|
8
8
|
chain?: string;
|
|
9
9
|
dryRun?: boolean;
|
|
10
10
|
advisorSkillsDir?: string | string[];
|
|
11
|
+
advisoryPi?: boolean;
|
|
12
|
+
advisoryReplay?: string;
|
|
13
|
+
advisoryProvider?: string;
|
|
14
|
+
advisoryModel?: string;
|
|
15
|
+
advisoryThinking?: "off" | "low" | "medium" | "high";
|
|
16
|
+
advisoryTools?: "none" | "read" | "coding";
|
|
17
|
+
piAgentDir?: string;
|
|
11
18
|
privateKey?: string;
|
|
12
19
|
keyEnv?: string;
|
|
13
20
|
mnemonic?: string;
|
|
@@ -20,6 +27,10 @@ interface CastOptions {
|
|
|
20
27
|
json?: boolean;
|
|
21
28
|
stateDir?: string;
|
|
22
29
|
noState?: boolean;
|
|
30
|
+
dataReplay?: string;
|
|
31
|
+
dataMaxAge?: string;
|
|
32
|
+
onStale?: string;
|
|
33
|
+
state?: boolean;
|
|
23
34
|
}
|
|
24
35
|
export declare function castCommand(spellPath: string, options: CastOptions): Promise<void>;
|
|
25
36
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/commands/cast.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/commands/cast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0CH,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHxF"}
|