@gencode/agents 0.0.2 → 0.0.4

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 (69) hide show
  1. package/dist/commands/help.js +6 -6
  2. package/dist/commands/help.js.map +1 -1
  3. package/dist/commands/new.d.ts.map +1 -1
  4. package/dist/commands/new.js +12 -1
  5. package/dist/commands/new.js.map +1 -1
  6. package/dist/commands/registry.js +5 -5
  7. package/dist/commands/registry.js.map +1 -1
  8. package/dist/config-DJX-VM7S.js +198 -0
  9. package/dist/config-DJX-VM7S.js.map +1 -0
  10. package/dist/index-JD6Ye-N5.d.ts +149 -0
  11. package/dist/index-JD6Ye-N5.d.ts.map +1 -0
  12. package/dist/manager-qXa-NP0p.js +1651 -0
  13. package/dist/manager-qXa-NP0p.js.map +1 -0
  14. package/dist/message.d.ts +11 -0
  15. package/dist/message.d.ts.map +1 -0
  16. package/dist/message.js +46 -0
  17. package/dist/message.js.map +1 -0
  18. package/dist/plugins/loader.js +1 -1
  19. package/dist/plugins/loader.js.map +1 -1
  20. package/dist/plugins/runtime.d.ts +9 -1
  21. package/dist/plugins/runtime.d.ts.map +1 -1
  22. package/dist/plugins/runtime.js +24 -4
  23. package/dist/plugins/runtime.js.map +1 -1
  24. package/dist/runner/runner.d.ts.map +1 -1
  25. package/dist/runner/runner.js +48 -13
  26. package/dist/runner/runner.js.map +1 -1
  27. package/dist/runner/skill-usage.d.ts +29 -0
  28. package/dist/runner/skill-usage.d.ts.map +1 -0
  29. package/dist/runner/skill-usage.js +65 -0
  30. package/dist/runner/skill-usage.js.map +1 -0
  31. package/dist/security/command-dangerous-rules.d.ts +4 -0
  32. package/dist/security/command-dangerous-rules.d.ts.map +1 -0
  33. package/dist/security/command-dangerous-rules.js +26 -0
  34. package/dist/security/command-dangerous-rules.js.map +1 -0
  35. package/dist/security/command-parser.d.ts +3 -0
  36. package/dist/security/command-parser.d.ts.map +1 -0
  37. package/dist/security/command-parser.js +191 -0
  38. package/dist/security/command-parser.js.map +1 -0
  39. package/dist/security/command-path-guard.d.ts +10 -0
  40. package/dist/security/command-path-guard.d.ts.map +1 -0
  41. package/dist/security/command-path-guard.js +126 -0
  42. package/dist/security/command-path-guard.js.map +1 -0
  43. package/dist/security/command-policy-config.d.ts +5 -0
  44. package/dist/security/command-policy-config.d.ts.map +1 -0
  45. package/dist/security/command-policy-config.js +212 -0
  46. package/dist/security/command-policy-config.js.map +1 -0
  47. package/dist/security/command-policy-engine.d.ts +8 -0
  48. package/dist/security/command-policy-engine.d.ts.map +1 -0
  49. package/dist/security/command-policy-engine.js +122 -0
  50. package/dist/security/command-policy-engine.js.map +1 -0
  51. package/dist/security/command-policy-types.d.ts +67 -0
  52. package/dist/security/command-policy-types.d.ts.map +1 -0
  53. package/dist/security/command-policy-types.js +2 -0
  54. package/dist/security/command-policy-types.js.map +1 -0
  55. package/dist/security/command-safe-bins.d.ts +4 -0
  56. package/dist/security/command-safe-bins.d.ts.map +1 -0
  57. package/dist/security/command-safe-bins.js +84 -0
  58. package/dist/security/command-safe-bins.js.map +1 -0
  59. package/dist/security/command-trusted-executables.d.ts +6 -0
  60. package/dist/security/command-trusted-executables.d.ts.map +1 -0
  61. package/dist/security/command-trusted-executables.js +57 -0
  62. package/dist/security/command-trusted-executables.js.map +1 -0
  63. package/dist/tools/cron.d.ts +22 -15
  64. package/dist/tools/cron.d.ts.map +1 -1
  65. package/dist/tools/cron.js +40 -20
  66. package/dist/tools/cron.js.map +1 -1
  67. package/dist/types.d.ts +5 -0
  68. package/dist/types.d.ts.map +1 -1
  69. package/package.json +1 -1
@@ -24,6 +24,7 @@ import { handleResetCommand } from "../commands/reset.js";
24
24
  import { compactTranscriptNow } from "../commands/compact.js";
25
25
  import { LlmRequestError } from "../llm/client.js";
26
26
  import { streamOpenAICompletionsCompat, streamSimpleOpenAICompletionsCompat, } from "../llm/openai-completions-compat.js";
27
+ import { SkillUsageTracker } from "./skill-usage.js";
27
28
  // Register built-in API providers (must be called once at startup)
28
29
  registerBuiltInApiProviders();
29
30
  registerApiProvider({
@@ -43,7 +44,7 @@ export function generateSessionTitle(message, maxLength = 80) {
43
44
  /**
44
45
  * Creates a Model object for use with vLLM/OpenAI-compatible APIs.
45
46
  */
46
- function createOpenAICompatModel(params) {
47
+ function createOpenAICompatModel(params, sessionId) {
47
48
  return {
48
49
  id: params.model,
49
50
  name: params.model,
@@ -55,7 +56,10 @@ function createOpenAICompatModel(params) {
55
56
  cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
56
57
  contextWindow: params.contextWindow ?? 200_000,
57
58
  maxTokens: 32_768,
58
- headers: { "Client-Code": "AIMax" },
59
+ headers: {
60
+ "Client-Code": "AIMax",
61
+ "X-Session-Id": sessionId,
62
+ },
59
63
  compat: {
60
64
  supportsStore: false,
61
65
  supportsDeveloperRole: false,
@@ -167,6 +171,12 @@ function capturedToolResultToEntry(tr) {
167
171
  timestamp: new Date().toISOString(),
168
172
  };
169
173
  }
174
+ function extractAssistantText(message) {
175
+ return message.content
176
+ .filter((block) => block.type === "text")
177
+ .map((block) => block.text)
178
+ .join("");
179
+ }
170
180
  // ── Callbacks ─────────────────────────────────────────────────────────────
171
181
  /**
172
182
  * Sends an HTTP callback to the given URL.
@@ -230,28 +240,37 @@ function buildBatchAnnounceMessage(completed) {
230
240
  * Runs one invocation of agent.prompt() and collects text output, usage, and
231
241
  * full turn records (via `turn_end` events when the SDK fires them).
232
242
  */
233
- async function runAgentTurn(agent, message, sessionId, modelId, historyMessages, params, hooks, hookCtx, abortSignal) {
234
- let responseText = "";
243
+ async function runAgentTurn(agent, message, sessionId, modelId, historyMessages, params, skillUsageTracker, hooks, hookCtx, abortSignal) {
244
+ let pendingTextChunk = "";
245
+ let lastTextChunk = "";
246
+ let finalAssistantText = "";
235
247
  let inputTokens = 0;
236
248
  let outputTokens = 0;
237
249
  let runError;
238
250
  let sdkError;
239
251
  const turnRecords = [];
252
+ const flushPendingTextChunk = async () => {
253
+ if (!pendingTextChunk) {
254
+ return;
255
+ }
256
+ lastTextChunk = pendingTextChunk;
257
+ await dispatchProgress(sessionId, { type: "text", text: pendingTextChunk }, params);
258
+ pendingTextChunk = "";
259
+ };
240
260
  const unsubscribe = agent.subscribe(async (event) => {
241
261
  if (event.type === "message_update") {
242
262
  const assistantEvent = event.assistantMessageEvent;
243
263
  if (assistantEvent.type === "text_delta" && typeof assistantEvent.delta === "string") {
244
- responseText += assistantEvent.delta;
264
+ pendingTextChunk += assistantEvent.delta;
245
265
  }
246
266
  if (assistantEvent.type === "done") {
247
267
  const msg = assistantEvent.message;
268
+ finalAssistantText = extractAssistantText(msg);
248
269
  if (msg.usage) {
249
270
  inputTokens = msg.usage.input;
250
271
  outputTokens = msg.usage.output;
251
272
  }
252
- if (responseText) {
253
- await dispatchProgress(sessionId, { type: "text", text: responseText }, params);
254
- }
273
+ await flushPendingTextChunk();
255
274
  }
256
275
  }
257
276
  else if (event.type === "message_end") {
@@ -280,9 +299,12 @@ async function runAgentTurn(agent, message, sessionId, modelId, historyMessages,
280
299
  turnRecords.push({ message: msg, toolResults });
281
300
  }
282
301
  else if (event.type === "tool_execution_start") {
302
+ await flushPendingTextChunk();
303
+ skillUsageTracker.onToolExecutionStart({ toolName: event.toolName, args: event.args });
283
304
  await dispatchProgress(sessionId, { type: "tool_start", name: event.toolName, input: event.args }, params);
284
305
  }
285
306
  else if (event.type === "tool_execution_end") {
307
+ await skillUsageTracker.onToolExecutionEnd({ toolName: event.toolName, isError: event.isError });
286
308
  const output = typeof event.result === "string" ? event.result : JSON.stringify(event.result);
287
309
  await dispatchProgress(sessionId, { type: "tool_end", name: event.toolName, output, isError: event.isError }, params);
288
310
  }
@@ -323,11 +345,18 @@ async function runAgentTurn(agent, message, sessionId, modelId, historyMessages,
323
345
  await hooks.dispatch("llm_output", {
324
346
  sessionId,
325
347
  model: modelId,
326
- assistantTexts: responseText ? [responseText] : [],
348
+ assistantTexts: finalAssistantText ? [finalAssistantText] : lastTextChunk ? [lastTextChunk] : [],
327
349
  lastAssistant,
328
350
  usage: { input: inputTokens, output: outputTokens, total: inputTokens + outputTokens },
329
351
  }, hookCtx);
330
- return { text: responseText, inputTokens, outputTokens, error: runError, turnRecords };
352
+ const finalTextFromTurnRecord = turnRecords.length > 0 ? extractAssistantText(turnRecords[turnRecords.length - 1].message) : "";
353
+ return {
354
+ text: finalTextFromTurnRecord || finalAssistantText || lastTextChunk,
355
+ inputTokens,
356
+ outputTokens,
357
+ error: runError,
358
+ turnRecords,
359
+ };
331
360
  }
332
361
  function formatRunError(error) {
333
362
  const llmError = toLlmRequestErrorLike(error);
@@ -584,6 +613,12 @@ async function runAgentInternal(params, registry) {
584
613
  // 4. Load skills (user + plugin skills)
585
614
  const pluginSkillDirs = pluginSystem?.registry.skills ?? [];
586
615
  const skills = await loadSkillsWithPluginDirs(params.dataDir, pluginSkillDirs);
616
+ const skillUsageTracker = new SkillUsageTracker({
617
+ workspaceDir,
618
+ sessionId,
619
+ skills,
620
+ report: (event) => dispatchProgress(sessionId, event, params),
621
+ });
587
622
  if (resetShortCircuit) {
588
623
  const resetReply = resetCommand?.action === "reset" ? handleResetCommand() : handleNewCommand();
589
624
  return finalizeSlashCommandResult({
@@ -783,7 +818,7 @@ async function runAgentInternal(params, registry) {
783
818
  resolvedModelId = result.modelOverride;
784
819
  }
785
820
  }
786
- const model = createOpenAICompatModel({ ...params.llm, model: resolvedModelId });
821
+ const model = createOpenAICompatModel({ ...params.llm, model: resolvedModelId }, sessionId);
787
822
  const apiKey = params.llm.apiKey;
788
823
  const agent = new Agent({
789
824
  initialState: { systemPrompt, model, tools, messages: [] },
@@ -810,7 +845,7 @@ async function runAgentInternal(params, registry) {
810
845
  // transcript still records the request if the turn aborts or fails.
811
846
  await persistInitialUserEntry();
812
847
  // 13. First agent turn
813
- const turn = await runAgentTurn(agent, effectivePrompt, sessionId, resolvedModelId, historyResult.messages, params, hookRegistry, hookContext, abortController.signal);
848
+ const turn = await runAgentTurn(agent, effectivePrompt, sessionId, resolvedModelId, historyResult.messages, params, skillUsageTracker, hookRegistry, hookContext, abortController.signal);
814
849
  lastResponseText = turn.text;
815
850
  totalInputTokens += turn.inputTokens;
816
851
  totalOutputTokens += turn.outputTokens;
@@ -842,7 +877,7 @@ async function runAgentInternal(params, registry) {
842
877
  content: announceMsg,
843
878
  timestamp: new Date().toISOString(),
844
879
  }, transcriptOptions);
845
- const announceTurn = await runAgentTurn(agent, announceMsg, sessionId, resolvedModelId, [], params, hookRegistry, hookContext, abortController.signal);
880
+ const announceTurn = await runAgentTurn(agent, announceMsg, sessionId, resolvedModelId, [], params, skillUsageTracker, hookRegistry, hookContext, abortController.signal);
846
881
  lastResponseText = announceTurn.text;
847
882
  totalInputTokens += announceTurn.inputTokens;
848
883
  totalOutputTokens += announceTurn.outputTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Skill } from "../skills/skills.js";
2
+ import type { AgentProgressEvent } from "../types.js";
3
+ type ToolExecutionStartEvent = {
4
+ toolName: string;
5
+ args?: unknown;
6
+ };
7
+ type ToolExecutionEndEvent = {
8
+ toolName: string;
9
+ isError: boolean;
10
+ };
11
+ type SkillUsageReporter = (event: Extract<AgentProgressEvent, {
12
+ type: "skill_used";
13
+ }>) => Promise<void>;
14
+ export declare class SkillUsageTracker {
15
+ private readonly params;
16
+ private readonly skillLocations;
17
+ private readonly reportedSkills;
18
+ private readonly pendingReadFilePaths;
19
+ constructor(params: {
20
+ workspaceDir: string;
21
+ sessionId: string;
22
+ skills: Skill[];
23
+ report: SkillUsageReporter;
24
+ });
25
+ onToolExecutionStart(event: ToolExecutionStartEvent): void;
26
+ onToolExecutionEnd(event: ToolExecutionEndEvent): Promise<void>;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=skill-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-usage.d.ts","sourceRoot":"","sources":["../../src/runner/skill-usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA2BxG,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;gBAGlC,MAAM,EAAE;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,kBAAkB,CAAC;KAC5B;IAOH,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAgBpD,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBtE"}
@@ -0,0 +1,65 @@
1
+ import path from "node:path";
2
+ function resolveToolPath(requestedPath, workspaceDir) {
3
+ return path.isAbsolute(requestedPath)
4
+ ? path.normalize(requestedPath)
5
+ : path.normalize(path.join(workspaceDir, requestedPath));
6
+ }
7
+ function inferSkillNameFromPath(resolvedPath) {
8
+ const normalized = resolvedPath.replace(/\\/g, "/");
9
+ if (!normalized.endsWith("/SKILL.md")) {
10
+ return undefined;
11
+ }
12
+ const marker = "/.pingclaw/skills/";
13
+ const markerIndex = normalized.lastIndexOf(marker);
14
+ if (markerIndex === -1) {
15
+ return undefined;
16
+ }
17
+ const skillPath = normalized.slice(markerIndex + marker.length, normalized.length - "/SKILL.md".length);
18
+ if (!skillPath || skillPath.includes("/")) {
19
+ return undefined;
20
+ }
21
+ return skillPath;
22
+ }
23
+ export class SkillUsageTracker {
24
+ params;
25
+ skillLocations;
26
+ reportedSkills = new Set();
27
+ pendingReadFilePaths = [];
28
+ constructor(params) {
29
+ this.params = params;
30
+ this.skillLocations = new Map(params.skills.map((skill) => [path.normalize(skill.location), skill.name]));
31
+ }
32
+ onToolExecutionStart(event) {
33
+ if (event.toolName !== "read_file") {
34
+ return;
35
+ }
36
+ if (!event.args || typeof event.args !== "object") {
37
+ return;
38
+ }
39
+ const requestedPath = event.args.path;
40
+ if (typeof requestedPath !== "string") {
41
+ return;
42
+ }
43
+ this.pendingReadFilePaths.push(resolveToolPath(requestedPath, this.params.workspaceDir));
44
+ }
45
+ async onToolExecutionEnd(event) {
46
+ if (event.toolName !== "read_file") {
47
+ return;
48
+ }
49
+ const resolvedPath = this.pendingReadFilePaths.pop();
50
+ const skillName = resolvedPath
51
+ ? (this.skillLocations.get(resolvedPath) ?? inferSkillNameFromPath(resolvedPath))
52
+ : undefined;
53
+ if (!skillName || event.isError || this.reportedSkills.has(skillName)) {
54
+ return;
55
+ }
56
+ this.reportedSkills.add(skillName);
57
+ await this.params.report({
58
+ type: "skill_used",
59
+ skillName,
60
+ agent: "aimax:main",
61
+ taskId: `aimax[${this.params.sessionId}]`,
62
+ });
63
+ }
64
+ }
65
+ //# sourceMappingURL=skill-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-usage.js","sourceRoot":"","sources":["../../src/runner/skill-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CommandDangerousRulesPolicy, ParsedCommandSegment } from "./command-policy-types.js";
2
+ export declare function matchDangerousExecutable(segment: ParsedCommandSegment, policy: CommandDangerousRulesPolicy): string | null;
3
+ export declare function matchDangerousShellPattern(command: string, policy: CommandDangerousRulesPolicy): string | null;
4
+ //# sourceMappingURL=command-dangerous-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-dangerous-rules.d.ts","sourceRoot":"","sources":["../../src/security/command-dangerous-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAUnG,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,2BAA2B,GAClC,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,2BAA2B,GAClC,MAAM,GAAG,IAAI,CAUf"}
@@ -0,0 +1,26 @@
1
+ function normalizeExecutable(executable) {
2
+ if (!executable) {
3
+ return "";
4
+ }
5
+ const parts = executable.split(/[\\/]/);
6
+ return (parts[parts.length - 1] ?? executable).toLowerCase();
7
+ }
8
+ export function matchDangerousExecutable(segment, policy) {
9
+ const executable = normalizeExecutable(segment.executable);
10
+ if (!executable) {
11
+ return null;
12
+ }
13
+ return policy.denyExecutables.find((entry) => entry.toLowerCase() === executable) ?? null;
14
+ }
15
+ export function matchDangerousShellPattern(command, policy) {
16
+ const normalized = command.replace(/\s+/g, " ").toLowerCase();
17
+ for (const pattern of policy.denyShellPatterns) {
18
+ const compact = pattern.replace(/\s+/g, "").toLowerCase();
19
+ const folded = normalized.replace(/\s+/g, "");
20
+ if (folded.includes(compact)) {
21
+ return pattern;
22
+ }
23
+ }
24
+ return null;
25
+ }
26
+ //# sourceMappingURL=command-dangerous-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-dangerous-rules.js","sourceRoot":"","sources":["../../src/security/command-dangerous-rules.ts"],"names":[],"mappings":"AAEA,SAAS,mBAAmB,CAAC,UAAyB;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA6B,EAC7B,MAAmC;IAEnC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,MAAmC;IAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ParsedCommand } from "./command-policy-types.js";
2
+ export declare function parseCommand(command: string): ParsedCommand | null;
3
+ //# sourceMappingURL=command-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/security/command-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAqMrF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAiBlE"}