@agimon-ai/doompi-grep 0.0.1-alpha.44 → 0.0.1-alpha.45
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/api-contracts.cjs +7 -1
- package/dist/api-contracts.d.cts +1 -1
- package/dist/api-contracts.d.mts +1 -1
- package/dist/api-contracts.mjs +2 -1
- package/dist/extensions/pi.cjs +18 -1
- package/dist/extensions/pi.cjs.map +1 -1
- package/dist/extensions/pi.d.cts +3 -3
- package/dist/extensions/pi.d.cts.map +1 -1
- package/dist/extensions/pi.d.mts +3 -3
- package/dist/extensions/pi.d.mts.map +1 -1
- package/dist/extensions/pi.mjs +13 -1
- package/dist/extensions/pi.mjs.map +1 -1
- package/dist/extensions/server.cjs +22 -1
- package/dist/extensions/server.cjs.map +1 -1
- package/dist/extensions/server.d.cts +3 -3
- package/dist/extensions/server.d.cts.map +1 -1
- package/dist/extensions/server.d.mts +3 -3
- package/dist/extensions/server.d.mts.map +1 -1
- package/dist/extensions/server.mjs +17 -1
- package/dist/extensions/server.mjs.map +1 -1
- package/dist/extensions/web.mjs +102 -0
- package/dist/extensions/web.mjs.map +1 -0
- package/dist/index.cjs +3 -1
- package/dist/index.d.cts +2 -4
- package/dist/index.d.mts +2 -4
- package/dist/index.mjs +2 -1
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.cjs +25 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.mjs +25 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.server.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.server.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/grep.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.cjs +22 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.mjs +22 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.mjs.map +1 -0
- package/dist/src/schemas/apiContracts.cjs +13 -0
- package/dist/src/schemas/apiContracts.cjs.map +1 -0
- package/dist/{schemas → src/schemas}/apiContracts.d.cts.map +1 -1
- package/dist/{schemas → src/schemas}/apiContracts.d.mts.map +1 -1
- package/dist/src/schemas/apiContracts.mjs +13 -0
- package/dist/src/schemas/apiContracts.mjs.map +1 -0
- package/dist/src/schemas/grepTool.cjs +21 -0
- package/dist/src/schemas/grepTool.cjs.map +1 -0
- package/dist/src/schemas/grepTool.d.cts.map +1 -0
- package/dist/src/schemas/grepTool.d.mts.map +1 -0
- package/dist/src/schemas/grepTool.mjs +21 -0
- package/dist/src/schemas/grepTool.mjs.map +1 -0
- package/dist/src/services/grepTool/index.cjs +189 -0
- package/dist/src/services/grepTool/index.cjs.map +1 -0
- package/dist/src/services/grepTool/index.mjs +184 -0
- package/dist/src/services/grepTool/index.mjs.map +1 -0
- package/dist/src/services/ripgrep/index.cjs +110 -0
- package/dist/src/services/ripgrep/index.cjs.map +1 -0
- package/dist/src/services/ripgrep/index.mjs +108 -0
- package/dist/src/services/ripgrep/index.mjs.map +1 -0
- package/package.json +20 -13
- package/dist/constants/package.cjs +0 -2
- package/dist/constants/package.cjs.map +0 -1
- package/dist/constants/package.mjs +0 -2
- package/dist/constants/package.mjs.map +0 -1
- package/dist/schemas/apiContracts.cjs +0 -2
- package/dist/schemas/apiContracts.cjs.map +0 -1
- package/dist/schemas/apiContracts.mjs +0 -2
- package/dist/schemas/apiContracts.mjs.map +0 -1
- package/dist/schemas/grepTool.cjs +0 -2
- package/dist/schemas/grepTool.cjs.map +0 -1
- package/dist/schemas/grepTool.d.cts.map +0 -1
- package/dist/schemas/grepTool.d.mts.map +0 -1
- package/dist/schemas/grepTool.mjs +0 -2
- package/dist/schemas/grepTool.mjs.map +0 -1
- package/dist/services/grepTool/index.cjs +0 -10
- package/dist/services/grepTool/index.cjs.map +0 -1
- package/dist/services/grepTool/index.d.cts +0 -1
- package/dist/services/grepTool/index.d.mts +0 -1
- package/dist/services/grepTool/index.mjs +0 -10
- package/dist/services/grepTool/index.mjs.map +0 -1
- package/dist/services/headlessGrep/index.cjs +0 -4
- package/dist/services/headlessGrep/index.cjs.map +0 -1
- package/dist/services/headlessGrep/index.d.cts +0 -6
- package/dist/services/headlessGrep/index.d.cts.map +0 -1
- package/dist/services/headlessGrep/index.d.mts +0 -6
- package/dist/services/headlessGrep/index.d.mts.map +0 -1
- package/dist/services/headlessGrep/index.mjs +0 -4
- package/dist/services/headlessGrep/index.mjs.map +0 -1
- package/dist/tools/piGrep.cjs +0 -2
- package/dist/tools/piGrep.cjs.map +0 -1
- package/dist/tools/piGrep.d.cts +0 -9
- package/dist/tools/piGrep.d.cts.map +0 -1
- package/dist/tools/piGrep.d.mts +0 -9
- package/dist/tools/piGrep.d.mts.map +0 -1
- package/dist/tools/piGrep.mjs +0 -2
- package/dist/tools/piGrep.mjs.map +0 -1
- package/src/extensions/web.ts +0 -14
- package/src/web/components/GrepToolMessage.tsx +0 -65
- package/src/web/lib/grepToolView.ts +0 -21
- package/src/web/tsconfig.json +0 -23
- /package/dist/{schemas → src/schemas}/apiContracts.d.cts +0 -0
- /package/dist/{schemas → src/schemas}/apiContracts.d.mts +0 -0
- /package/dist/{schemas → src/schemas}/grepTool.d.cts +0 -0
- /package/dist/{schemas → src/schemas}/grepTool.d.mts +0 -0
package/dist/api-contracts.cjs
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
Object.defineProperties(exports,{
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
const require_apiContracts = require("./src/schemas/apiContracts.cjs");
|
|
6
|
+
exports.apiContracts = require_apiContracts.apiContracts;
|
|
7
|
+
exports.default = require_apiContracts.apiContracts;
|
package/dist/api-contracts.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { apiContracts } from "./schemas/apiContracts.cjs";
|
|
1
|
+
import { apiContracts } from "./src/schemas/apiContracts.cjs";
|
|
2
2
|
export { apiContracts, apiContracts as default };
|
package/dist/api-contracts.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { apiContracts } from "./schemas/apiContracts.mjs";
|
|
1
|
+
import { apiContracts } from "./src/schemas/apiContracts.mjs";
|
|
2
2
|
export { apiContracts, apiContracts as default };
|
package/dist/api-contracts.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{apiContracts
|
|
1
|
+
import { apiContracts } from "./src/schemas/apiContracts.mjs";
|
|
2
|
+
export { apiContracts, apiContracts as default };
|
package/dist/extensions/pi.cjs
CHANGED
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
Object.defineProperties(exports,
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
const require_grep_cli = require("../src/extensions/workspaces/sessions/(backend)/tool/grep.cli.cjs");
|
|
6
|
+
const require_grep_cli$1 = require("../src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.cjs");
|
|
7
|
+
let _agimon_ai_doompi_core_pi_extension = require("@agimon-ai/doompi-core/pi-extension");
|
|
8
|
+
//#region generated/pi.ts
|
|
9
|
+
const at = (value, context) => typeof value === "function" ? value(context) : value;
|
|
10
|
+
const via = (identity, value) => ({
|
|
11
|
+
...identity,
|
|
12
|
+
...value
|
|
13
|
+
});
|
|
14
|
+
const extension = (0, _agimon_ai_doompi_core_pi_extension.definePiExtension)("@agimon-ai/doompi-grep", (context) => ({ ...(0, _agimon_ai_doompi_core_pi_extension.piToolContributions)("@agimon-ai/doompi-grep", [via({ name: "grep" }, (0, _agimon_ai_doompi_core_pi_extension.withPiRenderers)(at(require_grep_cli.default, context), at(require_grep_cli$1.default, context)))]) }));
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.default = extension;
|
|
17
|
+
exports.extension = extension;
|
|
18
|
+
|
|
2
19
|
//# sourceMappingURL=pi.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.cjs","names":["definePiExtension","
|
|
1
|
+
{"version":3,"file":"pi.cjs","names":["definePiExtension","piToolContributions","withPiRenderers","toolGrep","renderGrep"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, withPiRenderers, type PiPluginContext } from '@agimon-ai/doompi-core/pi-extension';\n\nimport toolGrep from '../src/extensions/workspaces/sessions/(backend)/tool/grep.cli';\nimport renderGrep from '../src/extensions/workspaces/sessions/(frontend)/tool/grep.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof toolGrep>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-grep', (context) => ({\n ...piToolContributions('@agimon-ai/doompi-grep', [via({ name: 'grep' }, withPiRenderers(at(toolGrep, context), at(renderGrep, context)))]),\n}));\n\nexport default extension;\n"],"mappings":";;;;;;;;AAaA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,aAAA,GAAYA,oCAAAA,kBAAAA,CAAoC,2BAA2B,aAAa,EACnG,IAAA,GAAGC,oCAAAA,oBAAAA,CAAoB,0BAA0B,CAAC,IAAI,EAAE,MAAM,OAAO,IAAA,GAAGC,oCAAAA,gBAAAA,CAAgB,GAAGC,iBAAAA,SAAU,OAAO,GAAG,GAAGC,mBAAAA,SAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAC3I,EAAE"}
|
package/dist/extensions/pi.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//#region
|
|
2
|
-
export declare const
|
|
1
|
+
//#region generated/pi.d.ts
|
|
2
|
+
export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<undefined>;
|
|
3
3
|
//#endregion
|
|
4
|
-
export {
|
|
4
|
+
export { extension as default };
|
|
5
5
|
//# sourceMappingURL=pi.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.d.cts","names":[],"sources":["../../
|
|
1
|
+
{"version":3,"file":"pi.d.cts","names":[],"sources":["../../generated/pi.ts"],"mappings":";qBAiBa,iEAAS"}
|
package/dist/extensions/pi.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//#region
|
|
2
|
-
export declare const
|
|
1
|
+
//#region generated/pi.d.ts
|
|
2
|
+
export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<undefined>;
|
|
3
3
|
//#endregion
|
|
4
|
-
export {
|
|
4
|
+
export { extension as default };
|
|
5
5
|
//# sourceMappingURL=pi.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.d.mts","names":[],"sources":["../../
|
|
1
|
+
{"version":3,"file":"pi.d.mts","names":[],"sources":["../../generated/pi.ts"],"mappings":";qBAiBa,iEAAS"}
|
package/dist/extensions/pi.mjs
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import grep_cli_default from "../src/extensions/workspaces/sessions/(backend)/tool/grep.cli.mjs";
|
|
2
|
+
import grep_cli_default$1 from "../src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.mjs";
|
|
3
|
+
import { definePiExtension, piToolContributions, withPiRenderers } from "@agimon-ai/doompi-core/pi-extension";
|
|
4
|
+
//#region generated/pi.ts
|
|
5
|
+
const at = (value, context) => typeof value === "function" ? value(context) : value;
|
|
6
|
+
const via = (identity, value) => ({
|
|
7
|
+
...identity,
|
|
8
|
+
...value
|
|
9
|
+
});
|
|
10
|
+
const extension = definePiExtension("@agimon-ai/doompi-grep", (context) => ({ ...piToolContributions("@agimon-ai/doompi-grep", [via({ name: "grep" }, withPiRenderers(at(grep_cli_default, context), at(grep_cli_default$1, context)))]) }));
|
|
11
|
+
//#endregion
|
|
12
|
+
export { extension as default, extension };
|
|
13
|
+
|
|
2
14
|
//# sourceMappingURL=pi.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.mjs","names":[],"sources":["../../
|
|
1
|
+
{"version":3,"file":"pi.mjs","names":["toolGrep","renderGrep"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, withPiRenderers, type PiPluginContext } from '@agimon-ai/doompi-core/pi-extension';\n\nimport toolGrep from '../src/extensions/workspaces/sessions/(backend)/tool/grep.cli';\nimport renderGrep from '../src/extensions/workspaces/sessions/(frontend)/tool/grep.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof toolGrep>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-grep', (context) => ({\n ...piToolContributions('@agimon-ai/doompi-grep', [via({ name: 'grep' }, withPiRenderers(at(toolGrep, context), at(renderGrep, context)))]),\n}));\n\nexport default extension;\n"],"mappings":";;;;AAaA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,YAAY,kBAAoC,2BAA2B,aAAa,EACnG,GAAG,oBAAoB,0BAA0B,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,gBAAgB,GAAGA,kBAAU,OAAO,GAAG,GAAGC,oBAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAC3I,EAAE"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
Object.defineProperties(exports,
|
|
1
|
+
Object.defineProperties(exports, {
|
|
2
|
+
__esModule: { value: true },
|
|
3
|
+
[Symbol.toStringTag]: { value: "Module" }
|
|
4
|
+
});
|
|
5
|
+
const require_grep_server = require("../src/extensions/workspaces/sessions/(backend)/tool/grep.server.cjs");
|
|
6
|
+
let _agimon_ai_doompi_core_server_facet = require("@agimon-ai/doompi-core/server-facet");
|
|
7
|
+
//#region generated/server.ts
|
|
8
|
+
const at = (value, context) => typeof value === "function" ? value(context) : value;
|
|
9
|
+
const via = (identity, value) => ({
|
|
10
|
+
...identity,
|
|
11
|
+
...value
|
|
12
|
+
});
|
|
13
|
+
const facet = (0, _agimon_ai_doompi_core_server_facet.defineServerPlugin)({
|
|
14
|
+
name: "@agimon-ai/doompi-grep",
|
|
15
|
+
session: (context) => ({ get tools() {
|
|
16
|
+
return [via({ name: "grep" }, at(require_grep_server.default, context))];
|
|
17
|
+
} })
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.default = facet;
|
|
21
|
+
exports.facet = facet;
|
|
22
|
+
|
|
2
23
|
//# sourceMappingURL=server.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.cjs","names":["defineServerPlugin","
|
|
1
|
+
{"version":3,"file":"server.cjs","names":["defineServerPlugin","toolGrep"],"sources":["../../generated/server.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport toolGrep from '../src/extensions/workspaces/sessions/(backend)/tool/grep.server';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/doompi-grep',\n session: (context) => ({\n get tools(): DoomServerSessionPlugin['tools'] { return [via({ name: 'grep' }, at(toolGrep, context))]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;;;AAMA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,SAAA,GAAQA,oCAAAA,mBAAAA,CAAmB;CACtC,MAAM;CACN,UAAU,aAAa,EACrB,IAAI,QAA0C;EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,GAAGC,oBAAAA,SAAU,OAAO,CAAC,CAAC;CAAG,EACzG;AACF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//#region
|
|
2
|
-
export declare const
|
|
1
|
+
//#region generated/server.d.ts
|
|
2
|
+
export declare const facet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
|
|
3
3
|
//#endregion
|
|
4
|
-
export {
|
|
4
|
+
export { facet as default };
|
|
5
5
|
//# sourceMappingURL=server.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.cts","names":[],"sources":["../../
|
|
1
|
+
{"version":3,"file":"server.d.cts","names":[],"sources":["../../generated/server.ts"],"mappings":";qBAUa,qDAAK"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//#region
|
|
2
|
-
export declare const
|
|
1
|
+
//#region generated/server.d.ts
|
|
2
|
+
export declare const facet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
|
|
3
3
|
//#endregion
|
|
4
|
-
export {
|
|
4
|
+
export { facet as default };
|
|
5
5
|
//# sourceMappingURL=server.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.mts","names":[],"sources":["../../
|
|
1
|
+
{"version":3,"file":"server.d.mts","names":[],"sources":["../../generated/server.ts"],"mappings":";qBAUa,qDAAK"}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import grep_server_default from "../src/extensions/workspaces/sessions/(backend)/tool/grep.server.mjs";
|
|
2
|
+
import { defineServerPlugin } from "@agimon-ai/doompi-core/server-facet";
|
|
3
|
+
//#region generated/server.ts
|
|
4
|
+
const at = (value, context) => typeof value === "function" ? value(context) : value;
|
|
5
|
+
const via = (identity, value) => ({
|
|
6
|
+
...identity,
|
|
7
|
+
...value
|
|
8
|
+
});
|
|
9
|
+
const facet = defineServerPlugin({
|
|
10
|
+
name: "@agimon-ai/doompi-grep",
|
|
11
|
+
session: (context) => ({ get tools() {
|
|
12
|
+
return [via({ name: "grep" }, at(grep_server_default, context))];
|
|
13
|
+
} })
|
|
14
|
+
});
|
|
15
|
+
//#endregion
|
|
16
|
+
export { facet as default, facet };
|
|
17
|
+
|
|
2
18
|
//# sourceMappingURL=server.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","names":[],"sources":["../../
|
|
1
|
+
{"version":3,"file":"server.mjs","names":["toolGrep"],"sources":["../../generated/server.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport toolGrep from '../src/extensions/workspaces/sessions/(backend)/tool/grep.server';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/doompi-grep',\n session: (context) => ({\n get tools(): DoomServerSessionPlugin['tools'] { return [via({ name: 'grep' }, at(toolGrep, context))]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;AAMA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,QAAQ,mBAAmB;CACtC,MAAM;CACN,UAAU,aAAa,EACrB,IAAI,QAA0C;EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,GAAGA,qBAAU,OAAO,CAAC,CAAC;CAAG,EACzG;AACF,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { defineToolRenderer, defineWebPlugin } from "@agimon-ai/doompi-core/web";
|
|
2
|
+
import { HashlineLines, MessageItem, MessageItemBody, MessageItemHeader, MessageItemStatus, compactDetails, hashlineBody, resultTextLines, toolTone } from "@agimon-ai/doompi-web-components";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepToolView.ts
|
|
5
|
+
/** What the grep call heading shows: the pattern, then where and how it searched. */
|
|
6
|
+
function grepCallView(args) {
|
|
7
|
+
const limit = typeof args.limit === "number" && Number.isFinite(args.limit) ? args.limit : void 0;
|
|
8
|
+
return {
|
|
9
|
+
pattern: typeof args.pattern === "string" ? args.pattern : "",
|
|
10
|
+
details: compactDetails([
|
|
11
|
+
typeof args.path === "string" && args.path.length > 0 ? args.path : ".",
|
|
12
|
+
typeof args.glob === "string" ? args.glob : void 0,
|
|
13
|
+
args.ignoreCase === true ? "ignore case" : void 0,
|
|
14
|
+
limit === void 0 ? void 0 : `${limit} matches`
|
|
15
|
+
])
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/_components/GrepToolMessage.tsx
|
|
20
|
+
/**
|
|
21
|
+
* The grep tool's timeline item, the web half of its renderCall and
|
|
22
|
+
* renderResult: the call summary in the header and, when expanded, the
|
|
23
|
+
* anchored matches with a line-number gutter in the body. A failure shows the
|
|
24
|
+
* tool's message in red inside the expanded body instead.
|
|
25
|
+
*/
|
|
26
|
+
function GrepToolMessage({ args, result, output, running, isError }) {
|
|
27
|
+
const view = grepCallView(args);
|
|
28
|
+
const body = result === null || isError ? null : hashlineBody(result, output, "grep", true);
|
|
29
|
+
return /* @__PURE__ */ jsx(MessageItem, {
|
|
30
|
+
tone: toolTone({
|
|
31
|
+
running,
|
|
32
|
+
isError
|
|
33
|
+
}),
|
|
34
|
+
expandable: true,
|
|
35
|
+
defaultExpanded: false,
|
|
36
|
+
children: ({ expanded }) => {
|
|
37
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(MessageItemHeader, {
|
|
38
|
+
title: "grep",
|
|
39
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
40
|
+
"data-testid": "tool-call-grep",
|
|
41
|
+
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
42
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
43
|
+
className: "truncate text-doom-text",
|
|
44
|
+
children: view.pattern
|
|
45
|
+
}), view.details.length > 0 ? /* @__PURE__ */ jsxs("span", {
|
|
46
|
+
className: "shrink-0 text-doom-faint",
|
|
47
|
+
children: ["· ", view.details.join(" · ")]
|
|
48
|
+
}) : null]
|
|
49
|
+
})
|
|
50
|
+
}), expanded ? isError ? /* @__PURE__ */ jsxs(MessageItemBody, {
|
|
51
|
+
"data-testid": "tool-result-grep",
|
|
52
|
+
className: "flex flex-col",
|
|
53
|
+
children: [/* @__PURE__ */ jsx(MessageItemStatus, {
|
|
54
|
+
tone: "error",
|
|
55
|
+
children: "failed"
|
|
56
|
+
}), resultTextLines(result, output).map((line, index) => /* @__PURE__ */ jsx("span", {
|
|
57
|
+
className: "whitespace-pre-wrap break-words text-doom-red",
|
|
58
|
+
children: line
|
|
59
|
+
}, `${String(index)}-${line}`))]
|
|
60
|
+
}) : body === null ? running ? /* @__PURE__ */ jsx(MessageItemBody, {
|
|
61
|
+
"data-testid": "tool-result-grep",
|
|
62
|
+
children: /* @__PURE__ */ jsx(MessageItemStatus, {
|
|
63
|
+
tone: "running",
|
|
64
|
+
children: "running"
|
|
65
|
+
})
|
|
66
|
+
}) : null : body.shown.length === 0 && body.notice === void 0 ? null : /* @__PURE__ */ jsxs(MessageItemBody, {
|
|
67
|
+
"data-testid": "tool-result-grep",
|
|
68
|
+
className: "flex flex-col gap-1",
|
|
69
|
+
children: [/* @__PURE__ */ jsx(HashlineLines, {
|
|
70
|
+
lines: body.shown,
|
|
71
|
+
gutter: body.gutter
|
|
72
|
+
}), body.notice !== void 0 ? /* @__PURE__ */ jsx("span", {
|
|
73
|
+
className: "text-doom-faint",
|
|
74
|
+
children: body.notice
|
|
75
|
+
}) : null]
|
|
76
|
+
}) : null] });
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/grep.web.tsx
|
|
82
|
+
/**
|
|
83
|
+
* The grep tool's timeline card, the web half of the TUI's renderCall and
|
|
84
|
+
* renderResult for hashline searches. The filename binds it to the tool.
|
|
85
|
+
*/
|
|
86
|
+
var grep_web_default = defineToolRenderer({ message: GrepToolMessage });
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region generated/web.ts
|
|
89
|
+
const via = (identity, value) => ({
|
|
90
|
+
...identity,
|
|
91
|
+
...value
|
|
92
|
+
});
|
|
93
|
+
const webPlugin = defineWebPlugin({
|
|
94
|
+
id: "grep",
|
|
95
|
+
session: { get toolRenderers() {
|
|
96
|
+
return [via({ tools: ["grep"] }, grep_web_default)];
|
|
97
|
+
} }
|
|
98
|
+
});
|
|
99
|
+
//#endregion
|
|
100
|
+
export { webPlugin };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=web.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.mjs","names":["toolGrep"],"sources":["../../src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepToolView.ts","../../src/extensions/workspaces/sessions/(frontend)/tool/_components/GrepToolMessage.tsx","../../src/extensions/workspaces/sessions/(frontend)/tool/grep.web.tsx","../../generated/web.ts"],"sourcesContent":["import { compactDetails } from '@agimon-ai/doompi-web-components';\n\nexport interface GrepCallView {\n readonly pattern: string;\n /** Search path, glob, case flag, and limit, as the TUI's call heading lists them. */\n readonly details: readonly string[];\n}\n\n/** What the grep call heading shows: the pattern, then where and how it searched. */\nexport function grepCallView(args: Readonly<Record<string, unknown>>): GrepCallView {\n const limit = typeof args.limit === 'number' && Number.isFinite(args.limit) ? args.limit : undefined;\n return {\n pattern: typeof args.pattern === 'string' ? args.pattern : '',\n details: compactDetails([\n typeof args.path === 'string' && args.path.length > 0 ? args.path : '.',\n typeof args.glob === 'string' ? args.glob : undefined,\n args.ignoreCase === true ? 'ignore case' : undefined,\n limit === undefined ? undefined : `${limit} matches`,\n ]),\n };\n}\n","import type { ToolMessageRenderProps } from '@agimon-ai/doompi-core/web';\nimport {\n HashlineLines,\n hashlineBody,\n MessageItem,\n MessageItemBody,\n MessageItemHeader,\n MessageItemStatus,\n resultTextLines,\n toolTone,\n} from '@agimon-ai/doompi-web-components';\n\nimport { grepCallView } from '../_lib/grepToolView';\n\n/**\n * The grep tool's timeline item, the web half of its renderCall and\n * renderResult: the call summary in the header and, when expanded, the\n * anchored matches with a line-number gutter in the body. A failure shows the\n * tool's message in red inside the expanded body instead.\n */\nexport function GrepToolMessage({ args, result, output, running, isError }: ToolMessageRenderProps) {\n const view = grepCallView(args);\n const body = result === null || isError ? null : hashlineBody(result, output, 'grep', true);\n return (\n <MessageItem tone={toolTone({ running, isError })} expandable defaultExpanded={false}>\n {({ expanded }) => {\n return (\n <>\n <MessageItemHeader title=\"grep\">\n <span data-testid=\"tool-call-grep\" className=\"flex min-w-0 flex-1 items-center gap-2\">\n <span className=\"truncate text-doom-text\">{view.pattern}</span>\n {view.details.length > 0 ? (\n <span className=\"shrink-0 text-doom-faint\">· {view.details.join(' · ')}</span>\n ) : null}\n </span>\n </MessageItemHeader>\n {expanded ? (\n isError ? (\n <MessageItemBody data-testid=\"tool-result-grep\" className=\"flex flex-col\">\n <MessageItemStatus tone=\"error\">failed</MessageItemStatus>\n {resultTextLines(result, output).map((line, index) => (\n <span key={`${String(index)}-${line}`} className=\"whitespace-pre-wrap break-words text-doom-red\">\n {line}\n </span>\n ))}\n </MessageItemBody>\n ) : body === null ? (\n running ? (\n <MessageItemBody data-testid=\"tool-result-grep\">\n <MessageItemStatus tone=\"running\">running</MessageItemStatus>\n </MessageItemBody>\n ) : null\n ) : body.shown.length === 0 && body.notice === undefined ? null : (\n <MessageItemBody data-testid=\"tool-result-grep\" className=\"flex flex-col gap-1\">\n <HashlineLines lines={body.shown} gutter={body.gutter} />\n {body.notice !== undefined ? <span className=\"text-doom-faint\">{body.notice}</span> : null}\n </MessageItemBody>\n )\n ) : null}\n </>\n );\n }}\n </MessageItem>\n );\n}\n","import { defineToolRenderer } from '@agimon-ai/doompi-core/web';\n\nimport { GrepToolMessage } from './_components/GrepToolMessage';\n\n/**\n * The grep tool's timeline card, the web half of the TUI's renderCall and\n * renderResult for hashline searches. The filename binds it to the tool.\n */\nexport default defineToolRenderer({ message: GrepToolMessage });\n","// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineWebPlugin, type WebPluginContributions } from '@agimon-ai/doompi-core/web';\n\nimport toolGrep from '../src/extensions/workspaces/sessions/(frontend)/tool/grep.web';\n\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const webPlugin = defineWebPlugin({\n id: 'grep',\n session: {\n get toolRenderers(): WebPluginContributions['toolRenderers'] { return [via({ tools: ['grep'] }, toolGrep)]; },\n },\n});\n"],"mappings":";;;;;AASA,SAAgB,aAAa,MAAuD;CAClF,MAAM,QAAQ,OAAO,KAAK,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,IAAI,KAAK,QAAQ,KAAA;CAC3F,OAAO;EACL,SAAS,OAAO,KAAK,YAAY,WAAW,KAAK,UAAU;EAC3D,SAAS,eAAe;GACtB,OAAO,KAAK,SAAS,YAAY,KAAK,KAAK,SAAS,IAAI,KAAK,OAAO;GACpE,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAA;GAC5C,KAAK,eAAe,OAAO,gBAAgB,KAAA;GAC3C,UAAU,KAAA,IAAY,KAAA,IAAY,GAAG,MAAM;EAC7C,CAAC;CACH;AACF;;;;;;;;;ACAA,SAAgB,gBAAgB,EAAE,MAAM,QAAQ,QAAQ,SAAS,WAAmC;CAClG,MAAM,OAAO,aAAa,IAAI;CAC9B,MAAM,OAAO,WAAW,QAAQ,UAAU,OAAO,aAAa,QAAQ,QAAQ,QAAQ,IAAI;CAC1F,OACE,oBAAC,aAAD;EAAa,MAAM,SAAS;GAAE;GAAS;EAAQ,CAAC;EAAG,YAAA;EAAW,iBAAiB;EAC3E,WAAA,EAAE,eAAe;GACjB,OACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,mBAAD;IAAmB,OAAM;IACvB,UAAA,qBAAC,QAAD;KAAM,eAAY;KAAiB,WAAU;KAA7C,UAAA,CACE,oBAAC,QAAD;MAAM,WAAU;MAA2B,UAAA,KAAK;KAAc,CAAA,GAC7D,KAAK,QAAQ,SAAS,IACrB,qBAAC,QAAD;MAAM,WAAU;MAAhB,UAAA,CAA2C,MAAG,KAAK,QAAQ,KAAK,KAAK,CAAQ;KAC3E,CAAA,IAAA,IACA;;GACW,CAAA,GAClB,WACC,UACE,qBAAC,iBAAD;IAAiB,eAAY;IAAmB,WAAU;IAA1D,UAAA,CACE,oBAAC,mBAAD;KAAmB,MAAK;KAAQ,UAAA;IAAyB,CAAA,GACxD,gBAAgB,QAAQ,MAAM,CAAC,CAAC,KAAK,MAAM,UAC1C,oBAAC,QAAD;KAAuC,WAAU;KAC9C,UAAA;IACG,GAFK,GAAG,OAAO,KAAK,EAAE,GAAG,MAEzB,CACP,CACc;GACf,CAAA,IAAA,SAAS,OACX,UACE,oBAAC,iBAAD;IAAiB,eAAY;IAC3B,UAAA,oBAAC,mBAAD;KAAmB,MAAK;KAAU,UAAA;IAA0B,CAAA;GAC7C,CAAA,IACf,OACF,KAAK,MAAM,WAAW,KAAK,KAAK,WAAW,KAAA,IAAY,OACzD,qBAAC,iBAAD;IAAiB,eAAY;IAAmB,WAAU;IAA1D,UAAA,CACE,oBAAC,eAAD;KAAe,OAAO,KAAK;KAAO,QAAQ,KAAK;IAAS,CAAA,GACvD,KAAK,WAAW,KAAA,IAAY,oBAAC,QAAD;KAAM,WAAU;KAAmB,UAAA,KAAK;IAAa,CAAA,IAAI,IACvE;GAEjB,CAAA,IAAA,IACJ,EAAA,CAAA;EAEN;CACW,CAAA;AAEjB;;;;;;;ACxDA,IAAA,mBAAe,mBAAmB,EAAE,SAAS,gBAAgB,CAAC;;;ACH9D,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,YAAY,gBAAgB;CACvC,IAAI;CACJ,SAAS,EACP,IAAI,gBAAyD;EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAGA,gBAAQ,CAAC;CAAG,EAC9G;AACF,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_grepTool = require("./src/schemas/grepTool.cjs");
|
|
3
|
+
exports.GrepParamsSchema = require_grepTool.GrepParamsSchema;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import { GrepParams, GrepParamsSchema } from "./schemas/grepTool.cjs";
|
|
2
|
-
|
|
3
|
-
import { createHeadlessGrepTool } from "./services/headlessGrep/index.cjs";
|
|
4
|
-
export { type GrepParams, GrepParamsSchema, createHashlineGrepTool, createHeadlessGrepTool };
|
|
1
|
+
import { GrepParams, GrepParamsSchema } from "./src/schemas/grepTool.cjs";
|
|
2
|
+
export { type GrepParams, GrepParamsSchema };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import { GrepParams, GrepParamsSchema } from "./schemas/grepTool.mjs";
|
|
2
|
-
|
|
3
|
-
import { createHeadlessGrepTool } from "./services/headlessGrep/index.mjs";
|
|
4
|
-
export { type GrepParams, GrepParamsSchema, createHashlineGrepTool, createHeadlessGrepTool };
|
|
1
|
+
import { GrepParams, GrepParamsSchema } from "./src/schemas/grepTool.mjs";
|
|
2
|
+
export { type GrepParams, GrepParamsSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{GrepParamsSchema
|
|
1
|
+
import { GrepParamsSchema } from "./src/schemas/grepTool.mjs";
|
|
2
|
+
export { GrepParamsSchema };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const require_grepTool = require("../../../../../../schemas/grepTool.cjs");
|
|
2
|
+
const require_index = require("../../../../../../services/grepTool/index.cjs");
|
|
3
|
+
let _agimon_ai_doompi_hashline_files = require("@agimon-ai/doompi-hashline/files");
|
|
4
|
+
let _earendil_works_pi_coding_agent = require("@earendil-works/pi-coding-agent");
|
|
5
|
+
//#region src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.ts
|
|
6
|
+
function createHashlineGrepTool(writable = _agimon_ai_doompi_hashline_files.isWritableFile) {
|
|
7
|
+
return {
|
|
8
|
+
name: "grep",
|
|
9
|
+
label: "grep",
|
|
10
|
+
description: "Search file contents using Pi-compatible ripgrep semantics, then add exact-byte file tags and stable line anchors for writable matches. Non-writable matches retain native Pi output. Respects .gitignore.",
|
|
11
|
+
promptSnippet: "Search file contents and return editable hashline anchors",
|
|
12
|
+
parameters: require_grepTool.GrepParamsSchema,
|
|
13
|
+
executionMode: "parallel",
|
|
14
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
15
|
+
const input = params;
|
|
16
|
+
const nativeResult = await (0, _earendil_works_pi_coding_agent.createGrepToolDefinition)(ctx.cwd).execute(toolCallId, input, signal, onUpdate, ctx);
|
|
17
|
+
require_index.assertNotAborted(signal);
|
|
18
|
+
return await require_index.tagGrepResult(nativeResult, input, ctx.cwd, signal, writable);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.createHashlineGrepTool = createHashlineGrepTool;
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=grepTool.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grepTool.cjs","names":["isWritableFile","GrepParamsSchema","createGrepToolDefinition","tagGrepResult"],"sources":["../../../../../../../../src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.ts"],"sourcesContent":["import { isWritableFile } from '@agimon-ai/doompi-hashline/files';\nimport { createGrepToolDefinition, type AgentToolResult, type ToolDefinition } from '@earendil-works/pi-coding-agent';\n\nimport { GrepParamsSchema, type GrepParams } from '../../../../../../schemas/grepTool';\nimport { assertNotAborted, type GrepResult, tagGrepResult } from '../../../../../../services/grepTool';\n\ntype WritableCheck = (path: string) => Promise<boolean>;\n\nexport function createHashlineGrepTool(\n writable: WritableCheck = isWritableFile,\n): ToolDefinition<typeof GrepParamsSchema> {\n return {\n name: 'grep',\n label: 'grep',\n description:\n 'Search file contents using Pi-compatible ripgrep semantics, then add exact-byte file tags and stable line anchors for writable matches. Non-writable matches retain native Pi output. Respects .gitignore.',\n promptSnippet: 'Search file contents and return editable hashline anchors',\n parameters: GrepParamsSchema,\n executionMode: 'parallel',\n async execute(toolCallId, params, signal, onUpdate, ctx) {\n const input = params as GrepParams;\n const nativeGrep = createGrepToolDefinition(ctx.cwd);\n const nativeResult = await nativeGrep.execute(toolCallId, input, signal, onUpdate, ctx);\n assertNotAborted(signal);\n const tagged = await tagGrepResult(nativeResult as GrepResult, input, ctx.cwd, signal, writable);\n return tagged as unknown as AgentToolResult<unknown>;\n },\n };\n}\n"],"mappings":";;;;;AAQA,SAAgB,uBACd,WAA0BA,iCAAAA,gBACe;CACzC,OAAO;EACL,MAAM;EACN,OAAO;EACP,aACE;EACF,eAAe;EACf,YAAYC,iBAAAA;EACZ,eAAe;EACf,MAAM,QAAQ,YAAY,QAAQ,QAAQ,UAAU,KAAK;GACvD,MAAM,QAAQ;GAEd,MAAM,eAAe,OAAA,GADFC,gCAAAA,yBAAAA,CAAyB,IAAI,GACZ,CAAC,CAAC,QAAQ,YAAY,OAAO,QAAQ,UAAU,GAAG;GACtF,cAAA,iBAAiB,MAAM;GAEvB,OAAO,MADcC,cAAAA,cAAc,cAA4B,OAAO,IAAI,KAAK,QAAQ,QAAQ;EAEjG;CACF;AACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GrepParamsSchema } from "../../../../../../schemas/grepTool.mjs";
|
|
2
|
+
import { assertNotAborted, tagGrepResult } from "../../../../../../services/grepTool/index.mjs";
|
|
3
|
+
import { isWritableFile } from "@agimon-ai/doompi-hashline/files";
|
|
4
|
+
import { createGrepToolDefinition } from "@earendil-works/pi-coding-agent";
|
|
5
|
+
//#region src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.ts
|
|
6
|
+
function createHashlineGrepTool(writable = isWritableFile) {
|
|
7
|
+
return {
|
|
8
|
+
name: "grep",
|
|
9
|
+
label: "grep",
|
|
10
|
+
description: "Search file contents using Pi-compatible ripgrep semantics, then add exact-byte file tags and stable line anchors for writable matches. Non-writable matches retain native Pi output. Respects .gitignore.",
|
|
11
|
+
promptSnippet: "Search file contents and return editable hashline anchors",
|
|
12
|
+
parameters: GrepParamsSchema,
|
|
13
|
+
executionMode: "parallel",
|
|
14
|
+
async execute(toolCallId, params, signal, onUpdate, ctx) {
|
|
15
|
+
const input = params;
|
|
16
|
+
const nativeResult = await createGrepToolDefinition(ctx.cwd).execute(toolCallId, input, signal, onUpdate, ctx);
|
|
17
|
+
assertNotAborted(signal);
|
|
18
|
+
return await tagGrepResult(nativeResult, input, ctx.cwd, signal, writable);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { createHashlineGrepTool };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=grepTool.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grepTool.mjs","names":[],"sources":["../../../../../../../../src/extensions/workspaces/sessions/(backend)/tool/_lib/grepTool.ts"],"sourcesContent":["import { isWritableFile } from '@agimon-ai/doompi-hashline/files';\nimport { createGrepToolDefinition, type AgentToolResult, type ToolDefinition } from '@earendil-works/pi-coding-agent';\n\nimport { GrepParamsSchema, type GrepParams } from '../../../../../../schemas/grepTool';\nimport { assertNotAborted, type GrepResult, tagGrepResult } from '../../../../../../services/grepTool';\n\ntype WritableCheck = (path: string) => Promise<boolean>;\n\nexport function createHashlineGrepTool(\n writable: WritableCheck = isWritableFile,\n): ToolDefinition<typeof GrepParamsSchema> {\n return {\n name: 'grep',\n label: 'grep',\n description:\n 'Search file contents using Pi-compatible ripgrep semantics, then add exact-byte file tags and stable line anchors for writable matches. Non-writable matches retain native Pi output. Respects .gitignore.',\n promptSnippet: 'Search file contents and return editable hashline anchors',\n parameters: GrepParamsSchema,\n executionMode: 'parallel',\n async execute(toolCallId, params, signal, onUpdate, ctx) {\n const input = params as GrepParams;\n const nativeGrep = createGrepToolDefinition(ctx.cwd);\n const nativeResult = await nativeGrep.execute(toolCallId, input, signal, onUpdate, ctx);\n assertNotAborted(signal);\n const tagged = await tagGrepResult(nativeResult as GrepResult, input, ctx.cwd, signal, writable);\n return tagged as unknown as AgentToolResult<unknown>;\n },\n };\n}\n"],"mappings":";;;;;AAQA,SAAgB,uBACd,WAA0B,gBACe;CACzC,OAAO;EACL,MAAM;EACN,OAAO;EACP,aACE;EACF,eAAe;EACf,YAAY;EACZ,eAAe;EACf,MAAM,QAAQ,YAAY,QAAQ,QAAQ,UAAU,KAAK;GACvD,MAAM,QAAQ;GAEd,MAAM,eAAe,MADF,yBAAyB,IAAI,GACZ,CAAC,CAAC,QAAQ,YAAY,OAAO,QAAQ,UAAU,GAAG;GACtF,iBAAiB,MAAM;GAEvB,OAAO,MADc,cAAc,cAA4B,OAAO,IAAI,KAAK,QAAQ,QAAQ;EAEjG;CACF;AACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_grepTool = require("./_lib/grepTool.cjs");
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(backend)/tool/grep.cli.ts
|
|
3
|
+
var grep_cli_default = (0, require("@agimon-ai/doompi-core/pi-extension").definePiTool)(require_grepTool.createHashlineGrepTool(), { overrides: true });
|
|
4
|
+
//#endregion
|
|
5
|
+
exports.default = grep_cli_default;
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=grep.cli.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.cli.cjs","names":["definePiTool","createHashlineGrepTool"],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/tool/grep.cli.ts"],"sourcesContent":["import { definePiTool } from '@agimon-ai/doompi-core/pi-extension';\n\nimport { createHashlineGrepTool } from './_lib/grepTool';\n\nexport default definePiTool(createHashlineGrepTool(), { overrides: true });\n"],"mappings":";;AAIA,IAAA,oBAAA,gDAAeA,CAAAA,CAAAA,aAAAA,CAAaC,iBAAAA,uBAAuB,GAAG,EAAE,WAAW,KAAK,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createHashlineGrepTool } from "./_lib/grepTool.mjs";
|
|
2
|
+
import { definePiTool } from "@agimon-ai/doompi-core/pi-extension";
|
|
3
|
+
//#region src/extensions/workspaces/sessions/(backend)/tool/grep.cli.ts
|
|
4
|
+
var grep_cli_default = definePiTool(createHashlineGrepTool(), { overrides: true });
|
|
5
|
+
//#endregion
|
|
6
|
+
export { grep_cli_default as default };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=grep.cli.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.cli.mjs","names":[],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/tool/grep.cli.ts"],"sourcesContent":["import { definePiTool } from '@agimon-ai/doompi-core/pi-extension';\n\nimport { createHashlineGrepTool } from './_lib/grepTool';\n\nexport default definePiTool(createHashlineGrepTool(), { overrides: true });\n"],"mappings":";;;AAIA,IAAA,mBAAe,aAAa,uBAAuB,GAAG,EAAE,WAAW,KAAK,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_index = require("../../../../../services/grepTool/index.cjs");
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(backend)/tool/grep.server.ts
|
|
3
|
+
var grep_server_default = (0, require("@agimon-ai/doompi-core/extension-file").defineServerTool)(require_index.createHeadlessGrepTool);
|
|
4
|
+
//#endregion
|
|
5
|
+
exports.default = grep_server_default;
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=grep.server.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.server.cjs","names":["defineServerTool","createHeadlessGrepTool"],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/tool/grep.server.ts"],"sourcesContent":["import { defineServerTool } from '@agimon-ai/doompi-core/extension-file';\n\nimport { createHeadlessGrepTool } from '../../../../../services/grepTool';\n\nexport default defineServerTool(createHeadlessGrepTool);\n"],"mappings":";;AAIA,IAAA,uBAAA,kDAAeA,CAAAA,CAAAA,iBAAAA,CAAiBC,cAAAA,sBAAsB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createHeadlessGrepTool } from "../../../../../services/grepTool/index.mjs";
|
|
2
|
+
import { defineServerTool } from "@agimon-ai/doompi-core/extension-file";
|
|
3
|
+
//#region src/extensions/workspaces/sessions/(backend)/tool/grep.server.ts
|
|
4
|
+
var grep_server_default = defineServerTool(createHeadlessGrepTool);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { grep_server_default as default };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=grep.server.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.server.mjs","names":[],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/tool/grep.server.ts"],"sourcesContent":["import { defineServerTool } from '@agimon-ai/doompi-core/extension-file';\n\nimport { createHeadlessGrepTool } from '../../../../../services/grepTool';\n\nexport default defineServerTool(createHeadlessGrepTool);\n"],"mappings":";;;AAIA,IAAA,sBAAe,iBAAiB,sBAAsB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
let _agimon_ai_doompi_ui_hashlineRendering = require("@agimon-ai/doompi-ui/hashlineRendering");
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.ts
|
|
3
|
+
const grepRenderer = {
|
|
4
|
+
renderShell: "self",
|
|
5
|
+
renderCall(args, theme) {
|
|
6
|
+
const input = args;
|
|
7
|
+
const details = [
|
|
8
|
+
input.path ?? ".",
|
|
9
|
+
input.glob,
|
|
10
|
+
input.ignoreCase === true ? "ignore case" : void 0,
|
|
11
|
+
input.limit === void 0 ? void 0 : `${input.limit} matches`
|
|
12
|
+
].filter((value) => value !== void 0);
|
|
13
|
+
return (0, _agimon_ai_doompi_ui_hashlineRendering.renderHashlineCall)("grep", input.pattern, details, theme);
|
|
14
|
+
},
|
|
15
|
+
renderResult(result, options, theme, context) {
|
|
16
|
+
return (0, _agimon_ai_doompi_ui_hashlineRendering.renderHashlineResult)(result, options, theme, context, "grep");
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.grepRenderer = grepRenderer;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=grepRenderer.cli.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grepRenderer.cli.cjs","names":["renderHashlineCall","renderHashlineResult"],"sources":["../../../../../../../../src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.ts"],"sourcesContent":["import type { PiToolRenderers } from '@agimon-ai/doompi-core/pi-extension';\nimport { renderHashlineCall, renderHashlineResult } from '@agimon-ai/doompi-ui/hashlineRendering';\n\nimport { GrepParamsSchema, type GrepParams } from '../../../../../../schemas/grepTool';\n\nexport const grepRenderer: PiToolRenderers<typeof GrepParamsSchema> = {\n renderShell: 'self',\n renderCall(args, theme) {\n const input = args as GrepParams;\n const details = [\n input.path ?? '.',\n input.glob,\n input.ignoreCase === true ? 'ignore case' : undefined,\n input.limit === undefined ? undefined : `${input.limit} matches`,\n ].filter((value): value is string => value !== undefined);\n return renderHashlineCall('grep', input.pattern, details, theme);\n },\n renderResult(result, options, theme, context) {\n return renderHashlineResult(result, options, theme, context, 'grep');\n },\n};\n"],"mappings":";;AAKA,MAAa,eAAyD;CACpE,aAAa;CACb,WAAW,MAAM,OAAO;EACtB,MAAM,QAAQ;EACd,MAAM,UAAU;GACd,MAAM,QAAQ;GACd,MAAM;GACN,MAAM,eAAe,OAAO,gBAAgB,KAAA;GAC5C,MAAM,UAAU,KAAA,IAAY,KAAA,IAAY,GAAG,MAAM,MAAM;EACzD,CAAC,CAAC,QAAQ,UAA2B,UAAU,KAAA,CAAS;EACxD,QAAA,GAAOA,uCAAAA,mBAAAA,CAAmB,QAAQ,MAAM,SAAS,SAAS,KAAK;CACjE;CACA,aAAa,QAAQ,SAAS,OAAO,SAAS;EAC5C,QAAA,GAAOC,uCAAAA,qBAAAA,CAAqB,QAAQ,SAAS,OAAO,SAAS,MAAM;CACrE;AACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { renderHashlineCall, renderHashlineResult } from "@agimon-ai/doompi-ui/hashlineRendering";
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.ts
|
|
3
|
+
const grepRenderer = {
|
|
4
|
+
renderShell: "self",
|
|
5
|
+
renderCall(args, theme) {
|
|
6
|
+
const input = args;
|
|
7
|
+
const details = [
|
|
8
|
+
input.path ?? ".",
|
|
9
|
+
input.glob,
|
|
10
|
+
input.ignoreCase === true ? "ignore case" : void 0,
|
|
11
|
+
input.limit === void 0 ? void 0 : `${input.limit} matches`
|
|
12
|
+
].filter((value) => value !== void 0);
|
|
13
|
+
return renderHashlineCall("grep", input.pattern, details, theme);
|
|
14
|
+
},
|
|
15
|
+
renderResult(result, options, theme, context) {
|
|
16
|
+
return renderHashlineResult(result, options, theme, context, "grep");
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { grepRenderer };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=grepRenderer.cli.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grepRenderer.cli.mjs","names":[],"sources":["../../../../../../../../src/extensions/workspaces/sessions/(frontend)/tool/_lib/grepRenderer.cli.ts"],"sourcesContent":["import type { PiToolRenderers } from '@agimon-ai/doompi-core/pi-extension';\nimport { renderHashlineCall, renderHashlineResult } from '@agimon-ai/doompi-ui/hashlineRendering';\n\nimport { GrepParamsSchema, type GrepParams } from '../../../../../../schemas/grepTool';\n\nexport const grepRenderer: PiToolRenderers<typeof GrepParamsSchema> = {\n renderShell: 'self',\n renderCall(args, theme) {\n const input = args as GrepParams;\n const details = [\n input.path ?? '.',\n input.glob,\n input.ignoreCase === true ? 'ignore case' : undefined,\n input.limit === undefined ? undefined : `${input.limit} matches`,\n ].filter((value): value is string => value !== undefined);\n return renderHashlineCall('grep', input.pattern, details, theme);\n },\n renderResult(result, options, theme, context) {\n return renderHashlineResult(result, options, theme, context, 'grep');\n },\n};\n"],"mappings":";;AAKA,MAAa,eAAyD;CACpE,aAAa;CACb,WAAW,MAAM,OAAO;EACtB,MAAM,QAAQ;EACd,MAAM,UAAU;GACd,MAAM,QAAQ;GACd,MAAM;GACN,MAAM,eAAe,OAAO,gBAAgB,KAAA;GAC5C,MAAM,UAAU,KAAA,IAAY,KAAA,IAAY,GAAG,MAAM,MAAM;EACzD,CAAC,CAAC,QAAQ,UAA2B,UAAU,KAAA,CAAS;EACxD,OAAO,mBAAmB,QAAQ,MAAM,SAAS,SAAS,KAAK;CACjE;CACA,aAAa,QAAQ,SAAS,OAAO,SAAS;EAC5C,OAAO,qBAAqB,QAAQ,SAAS,OAAO,SAAS,MAAM;CACrE;AACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_grepRenderer_cli = require("./_lib/grepRenderer.cli.cjs");
|
|
2
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.ts
|
|
3
|
+
var grep_cli_default = (0, require("@agimon-ai/doompi-core/pi-extension").definePiToolRenderer)(require_grepRenderer_cli.grepRenderer);
|
|
4
|
+
//#endregion
|
|
5
|
+
exports.default = grep_cli_default;
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=grep.cli.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.cli.cjs","names":["definePiToolRenderer","grepRenderer"],"sources":["../../../../../../../src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.ts"],"sourcesContent":["import { definePiToolRenderer } from '@agimon-ai/doompi-core/pi-extension';\n\nimport { grepRenderer } from './_lib/grepRenderer.cli';\n\nexport default definePiToolRenderer(grepRenderer);\n"],"mappings":";;AAIA,IAAA,oBAAA,gDAAeA,CAAAA,CAAAA,qBAAAA,CAAqBC,yBAAAA,YAAY"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { grepRenderer } from "./_lib/grepRenderer.cli.mjs";
|
|
2
|
+
import { definePiToolRenderer } from "@agimon-ai/doompi-core/pi-extension";
|
|
3
|
+
//#region src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.ts
|
|
4
|
+
var grep_cli_default = definePiToolRenderer(grepRenderer);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { grep_cli_default as default };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=grep.cli.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.cli.mjs","names":[],"sources":["../../../../../../../src/extensions/workspaces/sessions/(frontend)/tool/grep.cli.ts"],"sourcesContent":["import { definePiToolRenderer } from '@agimon-ai/doompi-core/pi-extension';\n\nimport { grepRenderer } from './_lib/grepRenderer.cli';\n\nexport default definePiToolRenderer(grepRenderer);\n"],"mappings":";;;AAIA,IAAA,mBAAe,qBAAqB,YAAY"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/schemas/apiContracts.ts
|
|
2
|
+
/** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */
|
|
3
|
+
const apiContracts = (0, require("@agimon-ai/doompi-core/api-contracts").defineApiContract)({
|
|
4
|
+
version: 1,
|
|
5
|
+
http: [],
|
|
6
|
+
sockets: [],
|
|
7
|
+
dynamic: []
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.apiContracts = apiContracts;
|
|
11
|
+
exports.default = apiContracts;
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=apiContracts.cjs.map
|