@pi-unipi/subagents 2.3.0 → 2.4.1

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 (66) hide show
  1. package/README.md +3 -1
  2. package/dist/agent-manager.d.ts +81 -0
  3. package/dist/agent-manager.d.ts.map +1 -0
  4. package/dist/agent-manager.js +292 -0
  5. package/dist/agent-manager.js.map +1 -0
  6. package/dist/agent-runner.d.ts +51 -0
  7. package/dist/agent-runner.d.ts.map +1 -0
  8. package/dist/agent-runner.js +262 -0
  9. package/dist/agent-runner.js.map +1 -0
  10. package/dist/config.d.ts +24 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +132 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/conversation-viewer.d.ts +40 -0
  15. package/dist/conversation-viewer.d.ts.map +1 -0
  16. package/dist/conversation-viewer.js +276 -0
  17. package/dist/conversation-viewer.js.map +1 -0
  18. package/dist/core-compat.d.ts +14 -0
  19. package/dist/core-compat.d.ts.map +1 -0
  20. package/dist/core-compat.js +24 -0
  21. package/dist/core-compat.js.map +1 -0
  22. package/dist/custom-agents.d.ts +14 -0
  23. package/dist/custom-agents.d.ts.map +1 -0
  24. package/dist/custom-agents.js +106 -0
  25. package/dist/custom-agents.js.map +1 -0
  26. package/dist/file-lock.d.ts +42 -0
  27. package/dist/file-lock.d.ts.map +1 -0
  28. package/dist/file-lock.js +91 -0
  29. package/dist/file-lock.js.map +1 -0
  30. package/dist/index.d.ts +10 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +751 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/model-resolver.d.ts +19 -0
  35. package/dist/model-resolver.d.ts.map +1 -0
  36. package/dist/model-resolver.js +61 -0
  37. package/dist/model-resolver.js.map +1 -0
  38. package/dist/types.d.ts +96 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +47 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/widget.d.ts +56 -0
  43. package/dist/widget.d.ts.map +1 -0
  44. package/dist/widget.js +396 -0
  45. package/dist/widget.js.map +1 -0
  46. package/package.json +10 -6
  47. package/src/__tests__/badge-generation.test.ts +0 -315
  48. package/src/__tests__/config.test.ts +0 -240
  49. package/src/__tests__/esc-propagation.test.ts +0 -162
  50. package/src/__tests__/file-lock.test.ts +0 -244
  51. package/src/__tests__/shutdown-stale-ctx.test.ts +0 -185
  52. package/src/__tests__/workflow-integration.test.ts +0 -334
  53. package/src/agent-manager.ts +0 -334
  54. package/src/agent-runner.ts +0 -329
  55. package/src/config.ts +0 -147
  56. package/src/conversation-viewer.ts +0 -299
  57. package/src/custom-agents.ts +0 -118
  58. package/src/file-lock.ts +0 -102
  59. package/src/index.ts +0 -862
  60. package/src/model-resolver.ts +0 -79
  61. package/src/prompts.ts +0 -39
  62. package/src/skills/explore/SKILL.md +0 -32
  63. package/src/skills/work/SKILL.md +0 -40
  64. package/src/types.ts +0 -146
  65. package/src/widget.ts +0 -454
  66. package/tsconfig.json +0 -19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @pi-unipi/subagents — Model resolver
3
+ *
4
+ * Resolves model strings like "haiku", "sonnet", "anthropic/claude-sonnet-4-6"
5
+ * to actual Model instances using the registry.
6
+ */
7
+ import type { Model } from "@earendil-works/pi-ai";
8
+ export interface ModelRegistry {
9
+ find(provider: string, modelId: string): Model<any> | undefined;
10
+ getAll(): Model<any>[];
11
+ getAvailable?(): Model<any>[];
12
+ }
13
+ /**
14
+ * Resolve a model string to a Model instance.
15
+ * Tries exact match first, then fuzzy match.
16
+ * Returns Model on success, error string on failure.
17
+ */
18
+ export declare function resolveModel(input: string, registry: ModelRegistry): Model<any> | string;
19
+ //# sourceMappingURL=model-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../src/model-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAChE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACvB,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,GACtB,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAuDrB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @pi-unipi/subagents — Model resolver
3
+ *
4
+ * Resolves model strings like "haiku", "sonnet", "anthropic/claude-sonnet-4-6"
5
+ * to actual Model instances using the registry.
6
+ */
7
+ /**
8
+ * Resolve a model string to a Model instance.
9
+ * Tries exact match first, then fuzzy match.
10
+ * Returns Model on success, error string on failure.
11
+ */
12
+ export function resolveModel(input, registry) {
13
+ const all = (registry.getAvailable?.() ?? registry.getAll());
14
+ const availableSet = new Set(all.map((m) => `${m.provider}/${m.id}`.toLowerCase()));
15
+ // 1. Exact match: "provider/modelId"
16
+ const slashIdx = input.indexOf("/");
17
+ if (slashIdx !== -1) {
18
+ const provider = input.slice(0, slashIdx);
19
+ const modelId = input.slice(slashIdx + 1);
20
+ if (availableSet.has(input.toLowerCase())) {
21
+ const found = registry.find(provider, modelId);
22
+ if (found)
23
+ return found;
24
+ }
25
+ }
26
+ // 2. Fuzzy match
27
+ const query = input.toLowerCase();
28
+ let bestMatch;
29
+ let bestScore = 0;
30
+ for (const m of all) {
31
+ const id = m.id.toLowerCase();
32
+ const name = (m.name ?? m.id).toLowerCase();
33
+ const full = `${m.provider}/${m.id}`.toLowerCase();
34
+ let score = 0;
35
+ if (id === query || full === query) {
36
+ score = 100;
37
+ }
38
+ else if (id.includes(query) || full.includes(query)) {
39
+ score = 60 + (query.length / id.length) * 30;
40
+ }
41
+ else if (name.includes(query)) {
42
+ score = 40 + (query.length / name.length) * 20;
43
+ }
44
+ if (score > bestScore) {
45
+ bestScore = score;
46
+ bestMatch = m;
47
+ }
48
+ }
49
+ if (bestMatch && bestScore >= 20) {
50
+ const found = registry.find(bestMatch.provider, bestMatch.id);
51
+ if (found)
52
+ return found;
53
+ }
54
+ // 3. No match — return error with available models
55
+ const modelList = all
56
+ .map((m) => ` ${m.provider}/${m.id}`)
57
+ .sort()
58
+ .join("\n");
59
+ return `Model not found: "${input}".\n\nAvailable models:\n${modelList}`;
60
+ }
61
+ //# sourceMappingURL=model-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../src/model-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,QAAuB;IAEvB,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAIzD,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpF,qCAAqC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,SAA2C,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QAEnD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnC,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,KAAK,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,SAAS,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,GAAG;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;SACrC,IAAI,EAAE;SACN,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,qBAAqB,KAAK,4BAA4B,SAAS,EAAE,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @pi-unipi/subagents — Type definitions
3
+ */
4
+ import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
5
+ import type { AgentSession } from "@earendil-works/pi-coding-agent";
6
+ export type { ThinkingLevel };
7
+ /** Agent type name: built-in or user-defined. */
8
+ export type AgentType = string;
9
+ /** Built-in agent type names. */
10
+ export declare const BUILTIN_TYPES: readonly ["explore", "work"];
11
+ /** Built-in agent configurations. */
12
+ export declare const BUILTIN_CONFIGS: Record<string, AgentConfig>;
13
+ /** Memory scope for persistent agent memory. */
14
+ export type MemoryScope = "user" | "project" | "local";
15
+ /** Unified agent configuration. */
16
+ export interface AgentConfig {
17
+ name: string;
18
+ displayName?: string;
19
+ description: string;
20
+ builtinToolNames?: string[];
21
+ disallowedTools?: string[];
22
+ extensions: true | string[] | false;
23
+ skills: true | string[] | false;
24
+ model?: string;
25
+ thinking?: ThinkingLevel;
26
+ maxTurns?: number;
27
+ systemPrompt: string;
28
+ promptMode: "replace" | "append";
29
+ inheritContext?: boolean;
30
+ runInBackground?: boolean;
31
+ isolated?: boolean;
32
+ memory?: MemoryScope;
33
+ isDefault?: boolean;
34
+ enabled?: boolean;
35
+ source?: "builtin" | "project" | "global";
36
+ }
37
+ /** Agent record — tracks a running agent. */
38
+ export interface AgentRecord {
39
+ id: string;
40
+ type: AgentType;
41
+ description: string;
42
+ status: "queued" | "running" | "completed" | "aborted" | "stopped" | "error";
43
+ result?: string;
44
+ error?: string;
45
+ toolUses: number;
46
+ startedAt: number;
47
+ completedAt?: number;
48
+ session?: AgentSession;
49
+ abortController?: AbortController;
50
+ promise?: Promise<string>;
51
+ /** Set when result consumed via get_result — suppresses notification. */
52
+ resultConsumed?: boolean;
53
+ /** Files locked by this agent. */
54
+ lockedFiles: Set<string>;
55
+ }
56
+ /** File lock entry. */
57
+ export interface FileLockEntry {
58
+ agentId: string;
59
+ filePath: string;
60
+ promise: Promise<void>;
61
+ release: () => void;
62
+ }
63
+ /** Extension config. */
64
+ export interface SubagentsConfig {
65
+ maxConcurrent: number;
66
+ enabled: boolean;
67
+ types: Record<string, {
68
+ enabled?: boolean;
69
+ }>;
70
+ }
71
+ /** Agent activity for widget display. */
72
+ export interface AgentActivity {
73
+ activeTools: Map<string, string>;
74
+ toolUses: number;
75
+ turnCount: number;
76
+ maxTurns?: number;
77
+ tokens: string;
78
+ responseText: string;
79
+ session?: AgentSession;
80
+ }
81
+ /** Details attached to custom notification messages for visual rendering. */
82
+ export interface NotificationDetails {
83
+ id: string;
84
+ description: string;
85
+ status: string;
86
+ toolUses: number;
87
+ turnCount: number;
88
+ maxTurns?: number;
89
+ totalTokens: number;
90
+ durationMs: number;
91
+ error?: string;
92
+ resultPreview: string;
93
+ /** Additional agents in a group notification. */
94
+ others?: NotificationDetails[];
95
+ }
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @pi-unipi/subagents — Type definitions
3
+ */
4
+ /** Built-in agent type names. */
5
+ export const BUILTIN_TYPES = ["explore", "work"];
6
+ /** Read-only tool names for explore agents. */
7
+ const READ_ONLY_TOOLS = ["read", "bash", "grep", "find", "ls"];
8
+ /** All write-capable tool names. */
9
+ const ALL_TOOLS = ["read", "bash", "edit", "write", "grep", "find", "ls"];
10
+ /** Built-in agent configurations. */
11
+ export const BUILTIN_CONFIGS = {
12
+ explore: {
13
+ name: "explore",
14
+ displayName: "Explore",
15
+ description: "Read-only exploration agent for parallel file reads and searches.",
16
+ builtinToolNames: READ_ONLY_TOOLS,
17
+ disallowedTools: ["edit", "write"],
18
+ extensions: false,
19
+ skills: false,
20
+ systemPrompt: "You are an explore agent. Read files, search code, and report findings. Do NOT modify any files.",
21
+ promptMode: "append",
22
+ source: "builtin",
23
+ },
24
+ work: {
25
+ name: "work",
26
+ displayName: "Worker",
27
+ description: "Write-capable worker agent with transparent file locking.",
28
+ builtinToolNames: ALL_TOOLS,
29
+ extensions: false,
30
+ skills: false,
31
+ systemPrompt: "You are a worker agent. Implement changes, write code, and complete tasks. Use the provided tools to make the requested modifications.",
32
+ promptMode: "append",
33
+ source: "builtin",
34
+ },
35
+ "name-gen": {
36
+ name: "name-gen",
37
+ displayName: "Name Generator",
38
+ description: "Minimal agent for generating session names from conversation context.",
39
+ builtinToolNames: [],
40
+ extensions: false,
41
+ skills: false,
42
+ systemPrompt: "You are a session name generator. Generate concise titles from conversation context. Reply with ONLY the title.",
43
+ promptMode: "replace",
44
+ source: "builtin",
45
+ },
46
+ };
47
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,iCAAiC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,CAAU,CAAC;AAE1D,+CAA+C;AAC/C,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAE/D,oCAAoC;AACpC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAE1E,qCAAqC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,mEAAmE;QAChF,gBAAgB,EAAE,eAAe;QACjC,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAClC,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,kGAAkG;QAChH,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,SAAS;KAClB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,2DAA2D;QACxE,gBAAgB,EAAE,SAAS;QAC3B,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,wIAAwI;QACtJ,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,SAAS;KAClB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,uEAAuE;QACpF,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,iHAAiH;QAC/H,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,SAAS;KAClB;CACO,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @pi-unipi/subagents — Live widget
3
+ *
4
+ * Shows running/completed agents above the editor with:
5
+ * - Animated braille spinners
6
+ * - Finished agent lingering (1 turn success, 2 turns error)
7
+ * - Priority-based overflow (running > queued > finished)
8
+ * - Status bar integration
9
+ * - Activity description grouping
10
+ * - ANSI-aware truncation via pi-tui
11
+ */
12
+ import type { ExtensionUIContext } from "@earendil-works/pi-coding-agent";
13
+ import type { AgentManager } from "./agent-manager.js";
14
+ import type { AgentActivity } from "./types.js";
15
+ export declare class AgentWidget {
16
+ private manager;
17
+ private activity;
18
+ private spinnerFrame;
19
+ private timer?;
20
+ private uiCtx?;
21
+ private tui?;
22
+ private widgetRegistered;
23
+ /** Last content key — skips requestRender when only spinner changed. */
24
+ private lastContentKey;
25
+ /** Tracks how many turns each finished agent has survived. */
26
+ private finishedTurnAge;
27
+ /** How many extra turns error/aborted agents linger. */
28
+ private static readonly ERROR_LINGER_TURNS;
29
+ /** Last status bar text for dedup. */
30
+ private lastStatusText;
31
+ constructor(manager: AgentManager, activity: Map<string, AgentActivity>);
32
+ setUICtx(ctx: ExtensionUIContext): void;
33
+ /**
34
+ * Called on each new turn (tool_execution_start).
35
+ * Ages finished agents and clears those that have lingered long enough.
36
+ */
37
+ onTurnStart(): void;
38
+ ensureTimer(): void;
39
+ /** Record an agent as finished (call when agent completes). */
40
+ markFinished(agentId: string): void;
41
+ update(): void;
42
+ /** Check if a finished agent should still be shown. */
43
+ private shouldShowFinished;
44
+ /**
45
+ * Build a content key capturing what's actually visible.
46
+ * Excludes spinner — spinner-only changes skip requestRender.
47
+ */
48
+ private buildContentKey;
49
+ private triggerRender;
50
+ private updateStatusBar;
51
+ /** Render a finished agent line. */
52
+ private renderFinishedLine;
53
+ private renderWidget;
54
+ dispose(): void;
55
+ }
56
+ //# sourceMappingURL=widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAwEhD,qBAAa,WAAW;IAiBpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAjBlB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,KAAK,CAAC,CAAiC;IAC/C,OAAO,CAAC,KAAK,CAAC,CAAqB;IACnC,OAAO,CAAC,GAAG,CAAC,CAAuC;IACnD,OAAO,CAAC,gBAAgB,CAAS;IACjC,wEAAwE;IACxE,OAAO,CAAC,cAAc,CAAM;IAE5B,8DAA8D;IAC9D,OAAO,CAAC,eAAe,CAA6B;IACpD,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAK;IAC/C,sCAAsC;IACtC,OAAO,CAAC,cAAc,CAAqB;gBAGjC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAG9C,QAAQ,CAAC,GAAG,EAAE,kBAAkB;IAShC;;;OAGG;IACH,WAAW;IAOX,WAAW;IAQX,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE,MAAM;IAM5B,MAAM;IAIN,uDAAuD;IACvD,OAAO,CAAC,kBAAkB;IAM1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,aAAa;IAwDrB,OAAO,CAAC,eAAe;IAyBvB,oCAAoC;IACpC,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,YAAY;IA6HpB,OAAO;CAiBR"}