@simonepri/refined-antigravity-acp 0.1.0 → 0.1.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 (81) hide show
  1. package/dist/bin/cli.d.ts +3 -0
  2. package/dist/bin/cli.d.ts.map +1 -0
  3. package/dist/bin/cli.js +56 -0
  4. package/dist/bin/cli.js.map +1 -0
  5. package/dist/index.server.d.ts +4 -0
  6. package/dist/index.server.d.ts.map +1 -0
  7. package/dist/index.server.js +7 -0
  8. package/dist/index.server.js.map +1 -0
  9. package/dist/src/agy-patch.d.ts +65 -0
  10. package/dist/src/agy-patch.d.ts.map +1 -0
  11. package/dist/src/agy-patch.js +351 -0
  12. package/dist/src/agy-patch.js.map +1 -0
  13. package/dist/src/auth.d.ts +27 -0
  14. package/dist/src/auth.d.ts.map +1 -0
  15. package/dist/src/auth.js +113 -0
  16. package/dist/src/auth.js.map +1 -0
  17. package/dist/src/command.d.ts +5 -0
  18. package/dist/src/command.d.ts.map +1 -0
  19. package/dist/src/command.js +74 -0
  20. package/dist/src/command.js.map +1 -0
  21. package/dist/src/connector.d.ts +188 -0
  22. package/dist/src/connector.d.ts.map +1 -0
  23. package/dist/src/connector.js +1138 -0
  24. package/dist/src/connector.js.map +1 -0
  25. package/dist/src/history.d.ts +12 -0
  26. package/dist/src/history.d.ts.map +1 -0
  27. package/dist/src/history.js +152 -0
  28. package/dist/src/history.js.map +1 -0
  29. package/dist/src/mcp-proxy.d.ts +83 -0
  30. package/dist/src/mcp-proxy.d.ts.map +1 -0
  31. package/dist/src/mcp-proxy.js +308 -0
  32. package/dist/src/mcp-proxy.js.map +1 -0
  33. package/dist/src/provider.d.ts +11 -0
  34. package/dist/src/provider.d.ts.map +1 -0
  35. package/dist/src/provider.js +31 -0
  36. package/dist/src/provider.js.map +1 -0
  37. package/dist/src/sanitize.d.ts +29 -0
  38. package/dist/src/sanitize.d.ts.map +1 -0
  39. package/dist/src/sanitize.js +237 -0
  40. package/dist/src/sanitize.js.map +1 -0
  41. package/dist/src/skills.d.ts +17 -0
  42. package/dist/src/skills.d.ts.map +1 -0
  43. package/dist/src/skills.js +140 -0
  44. package/dist/src/skills.js.map +1 -0
  45. package/dist/src/steering.d.ts +30 -0
  46. package/dist/src/steering.d.ts.map +1 -0
  47. package/dist/src/steering.js +174 -0
  48. package/dist/src/steering.js.map +1 -0
  49. package/package.json +20 -13
  50. package/readme.md +3 -5
  51. package/.fallowrc.json +0 -11
  52. package/.github/workflows/ci.yml +0 -24
  53. package/.github/workflows/release.yml +0 -41
  54. package/.oxlintignore +0 -2
  55. package/.oxlintrc.json +0 -152
  56. package/.release-please-manifest.json +0 -3
  57. package/bin/cli.ts +0 -58
  58. package/index.server.ts +0 -9
  59. package/pnpm-workspace.yaml +0 -44
  60. package/release-please-config.json +0 -13
  61. package/server/agy-patch.test.ts +0 -445
  62. package/server/agy-patch.ts +0 -445
  63. package/server/auth.test.ts +0 -51
  64. package/server/auth.ts +0 -122
  65. package/server/command.test.ts +0 -18
  66. package/server/command.ts +0 -92
  67. package/server/connector.test.ts +0 -1136
  68. package/server/connector.ts +0 -1386
  69. package/server/history.test.ts +0 -139
  70. package/server/history.ts +0 -157
  71. package/server/mcp-proxy.test.ts +0 -368
  72. package/server/mcp-proxy.ts +0 -375
  73. package/server/provider.test.ts +0 -11
  74. package/server/provider.ts +0 -37
  75. package/server/sanitize.test.ts +0 -174
  76. package/server/sanitize.ts +0 -286
  77. package/server/skills.test.ts +0 -121
  78. package/server/skills.ts +0 -183
  79. package/server/steering.test.ts +0 -405
  80. package/server/steering.ts +0 -199
  81. package/tsconfig.json +0 -14
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-proxy.js","sourceRoot":"","sources":["../../src/mcp-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ProviderRegistration } from "@getpaseo/plugin/server/provider";
2
+ /**
3
+ * Creates the Antigravity provider registration for Paseo.
4
+ *
5
+ * Uses `createAntigravityConnector` to launch and stream to the local `agy_acp_server`,
6
+ * filtering redundant mode controls, discovering and advertising skills, and expanding
7
+ * slash commands. Wraps the established connection with `SteeringConnection` to support
8
+ * mid-turn steering (`prompt.steer`).
9
+ */
10
+ export declare function createAntigravityProvider(): ProviderRegistration;
11
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI,oBAAoB,CAmBhE"}
@@ -0,0 +1,31 @@
1
+ import { runAcpProvider } from "@getpaseo/plugin/server/acp";
2
+ import { createAntigravityConnector } from "./connector.js";
3
+ import { SteeringConnection } from "./steering.js";
4
+ /**
5
+ * Creates the Antigravity provider registration for Paseo.
6
+ *
7
+ * Uses `createAntigravityConnector` to launch and stream to the local `agy_acp_server`,
8
+ * filtering redundant mode controls, discovering and advertising skills, and expanding
9
+ * slash commands. Wraps the established connection with `SteeringConnection` to support
10
+ * mid-turn steering (`prompt.steer`).
11
+ */
12
+ export function createAntigravityProvider() {
13
+ const baseProvider = runAcpProvider({
14
+ id: "antigravity",
15
+ label: "Antigravity",
16
+ description: "Connect Paseo to Google Antigravity via ACP",
17
+ icon: "assets/icon.svg",
18
+ connector: createAntigravityConnector(),
19
+ acpOptions: {
20
+ waitForInitialCommands: true,
21
+ },
22
+ });
23
+ return {
24
+ ...baseProvider,
25
+ async connect(request) {
26
+ const connection = await baseProvider.connect(request);
27
+ return new SteeringConnection(connection, request);
28
+ },
29
+ };
30
+ }
31
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,YAAY,GAAG,cAAc,CAAC;QAClC,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,0BAA0B,EAAE;QACvC,UAAU,EAAE;YACV,sBAAsB,EAAE,IAAI;SAC7B;KACF,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,YAAY;QACf,KAAK,CAAC,OAAO,CAAC,OAA+B;YAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ export declare const HARNESS_TAGS: readonly ["system_message", "system_notification", "system_information", "system_instruction", "task_notification", "task_output", "context", "messaging", "receive_notifications_directly", "wait_for_task", "additional_metadata", "user_request", "user_information", "scratchpad", "identity", "communication_style", "mcp_servers", "subagents", "artifacts", "ask_question"];
2
+ /**
3
+ * Marker prepended to the replacement prompt Paseo dispatches when the user steers
4
+ * a running turn. It tells the model the new text interrupts and supersedes the
5
+ * instruction it was working on. It is stripped again on every read path:
6
+ * assistant output (`sanitizeAssistantText`, `cleanStreamingChunk`) and SQLite
7
+ * history replay (`server/history.ts`), so it never reaches the Paseo timeline.
8
+ */
9
+ export declare const STEERING_PREFIX = "[Mid-turn update]: ";
10
+ /** Removes any echoed steering marker from text that is about to be displayed. */
11
+ export declare function stripSteeringPrefix(text: string): string;
12
+ export declare class StreamSanitizer {
13
+ private inHarnessTag;
14
+ private buffer;
15
+ reset(): void;
16
+ private processInHarness;
17
+ private handleFullTag;
18
+ process(chunk: string): string;
19
+ flush(): string;
20
+ }
21
+ export declare function sanitizeAssistantText(text: string): string;
22
+ export declare function formatSystemContext(systemPrompt?: string): string;
23
+ /**
24
+ * Removes injected system context and formatting guidance from replayed user text so it
25
+ * does not clutter the Paseo timeline.
26
+ */
27
+ export declare function stripSystemContext(text: string): string;
28
+ export declare function formatSteeringPrompt(userText: string): string;
29
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/sanitize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,oXAqBf,CAAC;AAIX;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAIrD,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAoDD,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAM;IAEpB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA0D9B,KAAK,IAAI,MAAM;CAMhB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+C1D;AAED,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAejE;AASD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,237 @@
1
+ export const HARNESS_TAGS = [
2
+ "system_message",
3
+ "system_notification",
4
+ "system_information",
5
+ "system_instruction",
6
+ "task_notification",
7
+ "task_output",
8
+ "context",
9
+ "messaging",
10
+ "receive_notifications_directly",
11
+ "wait_for_task",
12
+ "additional_metadata",
13
+ "user_request",
14
+ "user_information",
15
+ "scratchpad",
16
+ "identity",
17
+ "communication_style",
18
+ "mcp_servers",
19
+ "subagents",
20
+ "artifacts",
21
+ "ask_question",
22
+ ];
23
+ const HARNESS_SET = new Set(HARNESS_TAGS.map((t) => t.toLowerCase()));
24
+ /**
25
+ * Marker prepended to the replacement prompt Paseo dispatches when the user steers
26
+ * a running turn. It tells the model the new text interrupts and supersedes the
27
+ * instruction it was working on. It is stripped again on every read path:
28
+ * assistant output (`sanitizeAssistantText`, `cleanStreamingChunk`) and SQLite
29
+ * history replay (`server/history.ts`), so it never reaches the Paseo timeline.
30
+ */
31
+ export const STEERING_PREFIX = "[Mid-turn update]: ";
32
+ const STEERING_PREFIX_PATTERN = /(?:^|\n)\s*\[Mid-turn update\]:\s*/gi;
33
+ /** Removes any echoed steering marker from text that is about to be displayed. */
34
+ export function stripSteeringPrefix(text) {
35
+ return text.replace(STEERING_PREFIX_PATTERN, "");
36
+ }
37
+ function isHarnessTag(tagName) {
38
+ return HARNESS_SET.has(tagName.toLowerCase());
39
+ }
40
+ function isPossibleHarnessPrefix(str) {
41
+ const clean = str.replace(/^<\/?/, "").toLowerCase();
42
+ if (clean === "")
43
+ return true;
44
+ if (/^[^\sa-zA-Z0-9_-]/.test(clean))
45
+ return false;
46
+ return HARNESS_TAGS.some((t) => t.toLowerCase().startsWith(clean));
47
+ }
48
+ const SYSTEM_MSG_INTRO = "The following is a <SYSTEM_MESSAGE> not actually sent by the user";
49
+ function checkBannerPartialPrefix(input) {
50
+ const minPrefixLen = 15;
51
+ for (let len = Math.min(input.length, SYSTEM_MSG_INTRO.length); len >= minPrefixLen; len--) {
52
+ const candidate = input.slice(input.length - len);
53
+ if (SYSTEM_MSG_INTRO.toLowerCase().startsWith(candidate.toLowerCase())) {
54
+ return input.length - len;
55
+ }
56
+ }
57
+ return null;
58
+ }
59
+ function cleanStreamingChunk(text) {
60
+ return text
61
+ .replace(/(?:\b(?:The\s+request\s+was\s+cancell?ed\s+by\s+the\s+client|context\s+cancell?ed)\b\.?)/gi, "")
62
+ .replace(STEERING_PREFIX_PATTERN, "")
63
+ .replace(/\$\s*\\(?:to|rightarrow)\s*\$/gi, "→")
64
+ .replace(/\$\s*\\leftarrow\s*\$/gi, "←")
65
+ .replace(/\$\s*\\(?:implies|Rightarrow)\s*\$/gi, "⇒")
66
+ .replace(/\$\s*\\leftrightarrow\s*\$/gi, "↔")
67
+ .replace(/\$\s*\\le(?:q)?\s*\$/gi, "≤")
68
+ .replace(/\$\s*\\ge(?:q)?\s*\$/gi, "≥")
69
+ .replace(/\$\s*\\ne(?:q)?\s*\$/gi, "≠")
70
+ .replace(/\$\s*\\approx\s*\$/gi, "≈")
71
+ .replace(/\$\s*\\times\s*\$/gi, "×")
72
+ .replace(/\$\s*\\pm\s*\$/gi, "±")
73
+ .replace(/\$\s*\\infty\s*\$/gi, "∞")
74
+ .replace(/\\(?:to|rightarrow)\b/gi, "→")
75
+ .replace(/\\leftarrow\b/gi, "←")
76
+ .replace(/<kbd>(.*?)<\/kbd>/gi, "`$1`")
77
+ .replace(/<u>(.*?)<\/u>/gi, "*$1*")
78
+ .replace(/<mark>(.*?)<\/mark>/gi, "**$1**")
79
+ .replace(/<sup>(.*?)<\/sup>/gi, "^($1)");
80
+ }
81
+ export class StreamSanitizer {
82
+ inHarnessTag = false;
83
+ buffer = "";
84
+ reset() {
85
+ this.inHarnessTag = false;
86
+ this.buffer = "";
87
+ }
88
+ processInHarness(input) {
89
+ const closeMatch = input.match(/<\/\s*([a-zA-Z0-9_-]+)\s*>/i);
90
+ if (closeMatch && closeMatch.index !== undefined) {
91
+ const tagName = closeMatch[1].toLowerCase();
92
+ const endIdx = closeMatch.index + closeMatch[0].length;
93
+ if (isHarnessTag(tagName)) {
94
+ this.inHarnessTag = false;
95
+ }
96
+ return input.slice(endIdx);
97
+ }
98
+ const lastLt = input.lastIndexOf("<");
99
+ if (lastLt !== -1 && lastLt >= input.length - 40) {
100
+ const candidate = input.slice(lastLt);
101
+ if (isPossibleHarnessPrefix(candidate)) {
102
+ this.buffer = candidate;
103
+ return "";
104
+ }
105
+ }
106
+ return "";
107
+ }
108
+ handleFullTag(input, gtIdx) {
109
+ const fullTag = input.slice(0, gtIdx + 1);
110
+ const match = fullTag.match(/^<\s*(\/?)\s*([a-zA-Z0-9_-]+)/);
111
+ if (match) {
112
+ const isClosing = match[1] === "/";
113
+ const tagName = match[2].toLowerCase();
114
+ if (isHarnessTag(tagName)) {
115
+ if (!isClosing)
116
+ this.inHarnessTag = true;
117
+ return { text: "", remainder: input.slice(gtIdx + 1) };
118
+ }
119
+ }
120
+ return { text: input[0], remainder: input.slice(1) };
121
+ }
122
+ process(chunk) {
123
+ let input = this.buffer + chunk;
124
+ this.buffer = "";
125
+ let output = "";
126
+ while (input.length > 0) {
127
+ if (this.inHarnessTag) {
128
+ input = this.processInHarness(input);
129
+ continue;
130
+ }
131
+ const sysMatch = input.match(/The following is a <SYSTEM_MESSAGE> not actually sent by the user[^\n]*\n?/i);
132
+ if (sysMatch && sysMatch.index !== undefined) {
133
+ output += input.slice(0, sysMatch.index);
134
+ input = input.slice(sysMatch.index + sysMatch[0].length);
135
+ this.inHarnessTag = true;
136
+ continue;
137
+ }
138
+ const bannerPrefixIdx = checkBannerPartialPrefix(input);
139
+ if (bannerPrefixIdx !== null) {
140
+ output += input.slice(0, bannerPrefixIdx);
141
+ this.buffer = input.slice(bannerPrefixIdx);
142
+ break;
143
+ }
144
+ const ltIdx = input.indexOf("<");
145
+ if (ltIdx === -1) {
146
+ output += input;
147
+ break;
148
+ }
149
+ if (ltIdx > 0) {
150
+ output += input.slice(0, ltIdx);
151
+ input = input.slice(ltIdx);
152
+ }
153
+ const gtIdx = input.indexOf(">");
154
+ if (gtIdx === -1) {
155
+ if (isPossibleHarnessPrefix(input)) {
156
+ this.buffer = input;
157
+ break;
158
+ }
159
+ output += input[0];
160
+ input = input.slice(1);
161
+ continue;
162
+ }
163
+ const res = this.handleFullTag(input, gtIdx);
164
+ output += res.text;
165
+ input = res.remainder;
166
+ }
167
+ return cleanStreamingChunk(output);
168
+ }
169
+ flush() {
170
+ const remaining = this.buffer;
171
+ this.buffer = "";
172
+ if (this.inHarnessTag)
173
+ return "";
174
+ return cleanStreamingChunk(remaining);
175
+ }
176
+ }
177
+ export function sanitizeAssistantText(text) {
178
+ const harnessPattern = HARNESS_TAGS.join("|");
179
+ return (text
180
+ // Strip leaked internal harness tags & system notifications (both paired and streaming/unclosed)
181
+ .replace(/The following is a <SYSTEM_MESSAGE> not actually sent by the user[\s\S]*?<\/SYSTEM_MESSAGE>/gi, "")
182
+ .replace(new RegExp(`<(?:${harnessPattern})>(?:[\\s\\S]*?<\\/(?:${harnessPattern})>|[\\s\\S]*$)`, "gi"), "")
183
+ // Strip stray unclosed/opened harness tags if any remain
184
+ .replace(new RegExp(`<\\/?(?:${harnessPattern})>`, "gi"), "")
185
+ // Strip client cancellation error messages emitted during turn abort / steering
186
+ .replace(/(?:\b(?:The\s+request\s+was\s+cancell?ed\s+by\s+the\s+client|context\s+cancell?ed)\b\.?)/gi, "")
187
+ // Strip any echoed mid-turn update prefixes
188
+ .replace(STEERING_PREFIX_PATTERN, "")
189
+ // Convert common LaTeX math escapes to Unicode (Paseo does not render KaTeX/LaTeX)
190
+ .replace(/\$\s*\\(?:to|rightarrow)\s*\$/gi, "→")
191
+ .replace(/\$\s*\\leftarrow\s*\$/gi, "←")
192
+ .replace(/\$\s*\\(?:implies|Rightarrow)\s*\$/gi, "⇒")
193
+ .replace(/\$\s*\\leftrightarrow\s*\$/gi, "↔")
194
+ .replace(/\$\s*\\le(?:q)?\s*\$/gi, "≤")
195
+ .replace(/\$\s*\\ge(?:q)?\s*\$/gi, "≥")
196
+ .replace(/\$\s*\\ne(?:q)?\s*\$/gi, "≠")
197
+ .replace(/\$\s*\\approx\s*\$/gi, "≈")
198
+ .replace(/\$\s*\\times\s*\$/gi, "×")
199
+ .replace(/\$\s*\\pm\s*\$/gi, "±")
200
+ .replace(/\$\s*\\infty\s*\$/gi, "∞")
201
+ .replace(/\\(?:to|rightarrow)\b/gi, "→")
202
+ .replace(/\\leftarrow\b/gi, "←")
203
+ // Normalize keyboard keys for Paseo
204
+ .replace(/<kbd>(.*?)<\/kbd>/gi, "`$1`")
205
+ // Normalize basic styling tags that Paseo markdown parser does not wrap
206
+ .replace(/<u>(.*?)<\/u>/gi, "*$1*")
207
+ .replace(/<mark>(.*?)<\/mark>/gi, "**$1**")
208
+ .replace(/<sup>(.*?)<\/sup>/gi, "^($1)")
209
+ .trim());
210
+ }
211
+ export function formatSystemContext(systemPrompt) {
212
+ const parts = [];
213
+ if (systemPrompt && systemPrompt.trim().length > 0) {
214
+ parts.push(`[System Context]:\n${systemPrompt.trim()}`);
215
+ }
216
+ parts.push(`[Formatting Guidance]:
217
+ - Math: The UI does not render LaTeX ($...$, $$...$$, \\to, \\frac). Use plain text or Unicode formulas (e.g. x^2, a/b, →, √, ∑).
218
+ - Mermaid: Always wrap both node labels AND edge labels containing spaces, punctuation, slashes, or parentheses in double quotes (e.g. id["Label (Details)"] and -->|"Label (Details)"|). Never put unquoted parentheses inside edge pipes |...| or node shapes.
219
+ - Keys & Markup: Use markdown backticks (\`Cmd\`, \`Ctrl+C\`) instead of HTML <kbd> tags. Never output internal tags like <system_message>.`);
220
+ return parts.join("\n\n");
221
+ }
222
+ /**
223
+ * Formats the replacement prompt for a steered turn, marking it as a mid-turn
224
+ * interruption so the model treats it as superseding the instruction in flight.
225
+ */
226
+ const SYSTEM_CONTEXT_PATTERN = /(?:\[System Context\]:[\s\S]*?)?\[Formatting Guidance\]:[\s\S]*?(?=\n\n|$)\n*/g;
227
+ /**
228
+ * Removes injected system context and formatting guidance from replayed user text so it
229
+ * does not clutter the Paseo timeline.
230
+ */
231
+ export function stripSystemContext(text) {
232
+ return text.replace(SYSTEM_CONTEXT_PATTERN, "");
233
+ }
234
+ export function formatSteeringPrompt(userText) {
235
+ return `${STEERING_PREFIX}${userText.trim()}`;
236
+ }
237
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/sanitize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,aAAa;IACb,SAAS;IACT,WAAW;IACX,gCAAgC;IAChC,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,qBAAqB;IACrB,aAAa;IACb,WAAW;IACX,WAAW;IACX,cAAc;CACN,CAAC;AAEX,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAErD,MAAM,uBAAuB,GAAG,sCAAsC,CAAC;AAEvE,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,gBAAgB,GAAG,mEAAmE,CAAC;AAE7F,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3F,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAClD,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,OAAO,CACN,4FAA4F,EAC5F,EAAE,CACH;SACA,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,iCAAiC,EAAE,GAAG,CAAC;SAC/C,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC;SACvC,OAAO,CAAC,sCAAsC,EAAE,GAAG,CAAC;SACpD,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC;SAC5C,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC;SACpC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACnC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACnC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC;SACvC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAC/B,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;SACtC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAClC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SAC1C,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,OAAO,eAAe;IAClB,YAAY,GAAG,KAAK,CAAC;IACrB,MAAM,GAAG,EAAE,CAAC;IAEpB,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC9D,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,KAAa;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAC1B,6EAA6E,CAC9E,CAAC;YACF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC;gBAChB,MAAM;YACR,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;YACnB,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QACjC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,CACL,IAAI;QACF,iGAAiG;SAChG,OAAO,CACN,+FAA+F,EAC/F,EAAE,CACH;SACA,OAAO,CACN,IAAI,MAAM,CACR,OAAO,cAAc,yBAAyB,cAAc,gBAAgB,EAC5E,IAAI,CACL,EACD,EAAE,CACH;QACD,yDAAyD;SACxD,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,cAAc,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7D,gFAAgF;SAC/E,OAAO,CACN,4FAA4F,EAC5F,EAAE,CACH;QACD,4CAA4C;SAC3C,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACrC,mFAAmF;SAClF,OAAO,CAAC,iCAAiC,EAAE,GAAG,CAAC;SAC/C,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC;SACvC,OAAO,CAAC,sCAAsC,EAAE,GAAG,CAAC;SACpD,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC;SAC5C,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,OAAO,CAAC,sBAAsB,EAAE,GAAG,CAAC;SACpC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACnC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACnC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC;SACvC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;QAChC,oCAAoC;SACnC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;QACvC,wEAAwE;SACvE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAClC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SAC1C,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;SACvC,IAAI,EAAE,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAqB;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CACR;;;4IAGwI,CACzI,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAC1B,gFAAgF,CAAC;AAEnF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface AvailableCommand {
2
+ name: string;
3
+ description: string;
4
+ }
5
+ export interface DiscoveredSkill {
6
+ name: string;
7
+ description: string;
8
+ instructions: string;
9
+ userInvocable: boolean;
10
+ filePath: string;
11
+ }
12
+ export declare function parseSkillFile(filePath: string): DiscoveredSkill | null;
13
+ export declare function resolveSkillRoots(cwd?: string): string[];
14
+ export declare function discoverSkills(cwd?: string): Map<string, DiscoveredSkill>;
15
+ export declare function augmentCommands(existingCommands: AvailableCommand[] | undefined, cwd?: string): AvailableCommand[];
16
+ export declare function expandSkillInvocation(text: string, cwd?: string): string;
17
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/skills.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAsBvE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBxD;AAED,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAkBzE;AAED,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAChD,GAAG,CAAC,EAAE,MAAM,GACX,gBAAgB,EAAE,CAapB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBxE"}
@@ -0,0 +1,140 @@
1
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ function unquote(val) {
5
+ const trimmed = val.trim();
6
+ if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
7
+ (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
8
+ return trimmed.slice(1, -1).replace(/''/g, "'");
9
+ }
10
+ const commentIdx = trimmed.search(/\s+#/);
11
+ return commentIdx !== -1 ? trimmed.slice(0, commentIdx).trim() : trimmed;
12
+ }
13
+ function parseInvocable(val) {
14
+ const v = unquote(val).toLowerCase();
15
+ return v !== "false" && v !== "no" && v !== "0";
16
+ }
17
+ function parseDescription(rest, lines, i) {
18
+ if (rest === ">" || rest === ">-" || rest === "|" || rest === "|-") {
19
+ const block = [];
20
+ let idx = i + 1;
21
+ while (idx < lines.length && (/^\s+/.test(lines[idx]) || lines[idx].trim().length === 0)) {
22
+ block.push(lines[idx].trim());
23
+ idx++;
24
+ }
25
+ const text = rest.startsWith(">") ? block.join(" ") : block.join("\n").trim();
26
+ return { desc: text, nextIndex: idx - 1 };
27
+ }
28
+ return { desc: unquote(rest), nextIndex: i };
29
+ }
30
+ function parseFrontmatter(frontmatter) {
31
+ const lines = frontmatter.split(/\r?\n/);
32
+ let name;
33
+ let description;
34
+ let userInvocable = true;
35
+ for (let i = 0; i < lines.length; i++) {
36
+ const line = lines[i];
37
+ const nameMatch = line.match(/^name:\s*(.*)$/);
38
+ if (nameMatch)
39
+ name = unquote(nameMatch[1]);
40
+ const invocableMatch = line.match(/^(?:user-invocable|user_invocable):\s*(.*)$/);
41
+ if (invocableMatch)
42
+ userInvocable = parseInvocable(invocableMatch[1]);
43
+ const descMatch = line.match(/^description:\s*(.*)$/);
44
+ if (descMatch) {
45
+ const parsed = parseDescription(descMatch[1].trim(), lines, i);
46
+ description = parsed.desc;
47
+ i = parsed.nextIndex;
48
+ }
49
+ }
50
+ return { name, description, userInvocable };
51
+ }
52
+ export function parseSkillFile(filePath) {
53
+ if (!existsSync(filePath))
54
+ return null;
55
+ try {
56
+ const content = readFileSync(filePath, "utf-8");
57
+ const fmMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n(?:---|\.\.\.)(?:\r?\n|$)([\s\S]*)$/);
58
+ const meta = fmMatch ? parseFrontmatter(fmMatch[1]) : { userInvocable: true };
59
+ const instructions = fmMatch ? fmMatch[2].trim() : content;
60
+ const fallbackName = path.basename(path.dirname(filePath));
61
+ return {
62
+ name: meta.name && meta.name.length > 0 ? meta.name : fallbackName,
63
+ description: meta.description && meta.description.length > 0
64
+ ? meta.description
65
+ : `Skill: ${fallbackName}`,
66
+ instructions,
67
+ userInvocable: meta.userInvocable,
68
+ filePath,
69
+ };
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ export function resolveSkillRoots(cwd) {
76
+ const candidates = [];
77
+ if (cwd) {
78
+ candidates.push(path.join(cwd, ".agents/skills"), path.join(cwd, ".gemini/skills"), path.join(cwd, ".codex/skills"), path.join(cwd, "skills"));
79
+ }
80
+ const home = os.homedir();
81
+ candidates.push(path.join(home, ".gemini/antigravity-cli/skills"), path.join(home, ".gemini/config/skills"), path.join(home, ".gemini/skills"), path.join(home, ".agents/skills"), path.join(home, ".claude/skills"), path.join(home, ".codex/skills"));
82
+ return Array.from(new Set(candidates.filter((dir) => existsSync(dir))));
83
+ }
84
+ export function discoverSkills(cwd) {
85
+ const roots = resolveSkillRoots(cwd);
86
+ const skills = new Map();
87
+ for (const root of roots) {
88
+ try {
89
+ for (const entry of readdirSync(root, { withFileTypes: true })) {
90
+ if (!entry.isDirectory() && !entry.isSymbolicLink())
91
+ continue;
92
+ const skill = parseSkillFile(path.join(root, entry.name, "SKILL.md"));
93
+ if (skill && !skills.has(skill.name)) {
94
+ skills.set(skill.name, skill);
95
+ }
96
+ }
97
+ }
98
+ catch {
99
+ // Ignore unreadable dirs
100
+ }
101
+ }
102
+ return skills;
103
+ }
104
+ export function augmentCommands(existingCommands, cwd) {
105
+ const result = new Map();
106
+ if (Array.isArray(existingCommands)) {
107
+ for (const cmd of existingCommands) {
108
+ if (cmd?.name)
109
+ result.set(cmd.name, cmd);
110
+ }
111
+ }
112
+ for (const skill of discoverSkills(cwd).values()) {
113
+ if (skill.userInvocable && !result.has(skill.name)) {
114
+ result.set(skill.name, { name: skill.name, description: skill.description });
115
+ }
116
+ }
117
+ return Array.from(result.values());
118
+ }
119
+ export function expandSkillInvocation(text, cwd) {
120
+ const trimmed = text.trim();
121
+ if (!trimmed.startsWith("/"))
122
+ return text;
123
+ const match = trimmed.match(/^\/([a-zA-Z0-9_-]+)(?:\s+([\s\S]*))?$/);
124
+ if (!match)
125
+ return text;
126
+ const [_, commandName, rawArgs] = match;
127
+ const args = rawArgs ?? "";
128
+ const skill = discoverSkills(cwd).get(commandName);
129
+ if (!skill)
130
+ return text;
131
+ let expanded = skill.instructions;
132
+ if (expanded.includes("$ARGUMENTS")) {
133
+ expanded = expanded.replaceAll("$ARGUMENTS", args);
134
+ }
135
+ else if (args.trim().length > 0) {
136
+ expanded = `${expanded}\n\n**Arguments:** ${args}`;
137
+ }
138
+ return `[Skill: ${skill.name}]\n${expanded}\n[/Skill: ${skill.name}]`;
139
+ }
140
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { ProviderConnectRequest, ProviderConnection, ProviderEvent, ProviderInput } from "@getpaseo/plugin/server/provider";
2
+ /**
3
+ * Connection wrapper that decorates a base ProviderConnection with:
4
+ * 1. Mid-turn steering (`prompt.steer`)
5
+ * 2. Slash skill command advertising (`session.commands`)
6
+ * 3. Slash skill expansion on prompt submission
7
+ * 4. Automatic conversation history replay from Antigravity SQLite on session reload
8
+ */
9
+ export declare class SteeringConnection implements ProviderConnection {
10
+ private readonly base;
11
+ private readonly request;
12
+ readonly version: number;
13
+ readonly capabilities: readonly string[];
14
+ private readonly sessionCwds;
15
+ private readonly pendingSteers;
16
+ private readonly replaySessions;
17
+ private readonly listeners;
18
+ private readonly unbindBase;
19
+ constructor(base: ProviderConnection, request: ProviderConnectRequest);
20
+ private emitSessionSkills;
21
+ private replaySessionHistory;
22
+ private handleSessionOpened;
23
+ private handleBaseEvent;
24
+ private emit;
25
+ private handleSteerPrompt;
26
+ send(input: ProviderInput): Promise<void>;
27
+ onEvent(listener: (event: ProviderEvent) => void): () => void;
28
+ close(): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=steering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../../src/steering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACd,MAAM,kCAAkC,CAAC;AA4C1C;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAWzD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAGrB,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,sBAAsB;IAUlD,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,iBAAiB;IAUnB,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/C,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAOvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}