@oh-my-pi/pi-coding-agent 13.19.0 → 14.0.3

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 (205) hide show
  1. package/CHANGELOG.md +277 -2
  2. package/package.json +86 -20
  3. package/scripts/format-prompts.ts +2 -2
  4. package/src/autoresearch/apply-contract-to-state.ts +24 -0
  5. package/src/autoresearch/contract.ts +0 -44
  6. package/src/autoresearch/dashboard.ts +1 -2
  7. package/src/autoresearch/git.ts +91 -0
  8. package/src/autoresearch/helpers.ts +49 -0
  9. package/src/autoresearch/index.ts +28 -187
  10. package/src/autoresearch/prompt.md +26 -9
  11. package/src/autoresearch/state.ts +0 -6
  12. package/src/autoresearch/tools/init-experiment.ts +202 -117
  13. package/src/autoresearch/tools/log-experiment.ts +83 -125
  14. package/src/autoresearch/tools/run-experiment.ts +48 -10
  15. package/src/autoresearch/types.ts +2 -2
  16. package/src/capability/index.ts +4 -2
  17. package/src/cli/file-processor.ts +3 -3
  18. package/src/cli/grep-cli.ts +8 -8
  19. package/src/cli/grievances-cli.ts +78 -0
  20. package/src/cli/read-cli.ts +67 -0
  21. package/src/cli/setup-cli.ts +4 -4
  22. package/src/cli/update-cli.ts +3 -3
  23. package/src/cli.ts +2 -0
  24. package/src/commands/grep.ts +6 -1
  25. package/src/commands/grievances.ts +20 -0
  26. package/src/commands/read.ts +33 -0
  27. package/src/commit/agentic/agent.ts +5 -5
  28. package/src/commit/agentic/index.ts +3 -4
  29. package/src/commit/agentic/tools/analyze-file.ts +3 -3
  30. package/src/commit/agentic/validation.ts +1 -1
  31. package/src/commit/analysis/conventional.ts +4 -4
  32. package/src/commit/analysis/summary.ts +3 -3
  33. package/src/commit/changelog/generate.ts +4 -4
  34. package/src/commit/map-reduce/map-phase.ts +4 -4
  35. package/src/commit/map-reduce/reduce-phase.ts +4 -4
  36. package/src/commit/pipeline.ts +3 -4
  37. package/src/config/model-registry.ts +17 -3
  38. package/src/config/prompt-templates.ts +44 -226
  39. package/src/config/resolve-config-value.ts +4 -2
  40. package/src/config/settings-schema.ts +54 -2
  41. package/src/config/settings.ts +25 -26
  42. package/src/dap/client.ts +674 -0
  43. package/src/dap/config.ts +150 -0
  44. package/src/dap/defaults.json +211 -0
  45. package/src/dap/index.ts +4 -0
  46. package/src/dap/session.ts +1255 -0
  47. package/src/dap/types.ts +600 -0
  48. package/src/debug/log-viewer.ts +3 -2
  49. package/src/discovery/builtin.ts +1 -2
  50. package/src/discovery/codex.ts +2 -2
  51. package/src/discovery/github.ts +2 -1
  52. package/src/discovery/helpers.ts +2 -2
  53. package/src/discovery/opencode.ts +2 -2
  54. package/src/edit/diff.ts +818 -0
  55. package/src/edit/index.ts +309 -0
  56. package/src/edit/line-hash.ts +67 -0
  57. package/src/edit/modes/chunk.ts +454 -0
  58. package/src/{patch → edit/modes}/hashline.ts +741 -361
  59. package/src/{patch/applicator.ts → edit/modes/patch.ts} +420 -117
  60. package/src/{patch/fuzzy.ts → edit/modes/replace.ts} +519 -197
  61. package/src/{patch → edit}/normalize.ts +97 -76
  62. package/src/{patch/shared.ts → edit/renderer.ts} +181 -108
  63. package/src/exec/bash-executor.ts +4 -2
  64. package/src/exec/idle-timeout-watchdog.ts +126 -0
  65. package/src/exec/non-interactive-env.ts +5 -0
  66. package/src/extensibility/custom-commands/bundled/ci-green/index.ts +2 -2
  67. package/src/extensibility/custom-commands/bundled/review/index.ts +36 -15
  68. package/src/extensibility/custom-commands/loader.ts +1 -2
  69. package/src/extensibility/custom-tools/loader.ts +34 -11
  70. package/src/extensibility/extensions/loader.ts +9 -4
  71. package/src/extensibility/extensions/runner.ts +24 -1
  72. package/src/extensibility/extensions/types.ts +1 -1
  73. package/src/extensibility/hooks/loader.ts +5 -6
  74. package/src/extensibility/hooks/types.ts +1 -1
  75. package/src/extensibility/plugins/doctor.ts +2 -1
  76. package/src/extensibility/slash-commands.ts +3 -7
  77. package/src/index.ts +2 -1
  78. package/src/internal-urls/docs-index.generated.ts +11 -11
  79. package/src/ipy/executor.ts +58 -17
  80. package/src/ipy/gateway-coordinator.ts +6 -4
  81. package/src/ipy/kernel.ts +45 -22
  82. package/src/ipy/runtime.ts +2 -2
  83. package/src/lsp/client.ts +7 -4
  84. package/src/lsp/clients/lsp-linter-client.ts +4 -4
  85. package/src/lsp/config.ts +20 -4
  86. package/src/lsp/defaults.json +688 -154
  87. package/src/lsp/index.ts +234 -45
  88. package/src/lsp/lspmux.ts +2 -2
  89. package/src/lsp/startup-events.ts +13 -0
  90. package/src/lsp/types.ts +12 -1
  91. package/src/lsp/utils.ts +8 -1
  92. package/src/main.ts +102 -46
  93. package/src/memories/index.ts +4 -5
  94. package/src/modes/acp/acp-agent.ts +563 -163
  95. package/src/modes/acp/acp-event-mapper.ts +9 -1
  96. package/src/modes/acp/acp-mode.ts +4 -2
  97. package/src/modes/components/agent-dashboard.ts +3 -4
  98. package/src/modes/components/diff.ts +6 -7
  99. package/src/modes/components/read-tool-group.ts +6 -12
  100. package/src/modes/components/session-observer-overlay.ts +21 -12
  101. package/src/modes/components/settings-defs.ts +5 -0
  102. package/src/modes/components/tool-execution.ts +1 -1
  103. package/src/modes/components/welcome.ts +1 -1
  104. package/src/modes/controllers/btw-controller.ts +2 -2
  105. package/src/modes/controllers/command-controller.ts +3 -2
  106. package/src/modes/controllers/input-controller.ts +12 -8
  107. package/src/modes/index.ts +20 -2
  108. package/src/modes/interactive-mode.ts +94 -37
  109. package/src/modes/rpc/host-tools.ts +186 -0
  110. package/src/modes/rpc/rpc-client.ts +178 -13
  111. package/src/modes/rpc/rpc-mode.ts +73 -3
  112. package/src/modes/rpc/rpc-types.ts +53 -1
  113. package/src/modes/theme/theme.ts +80 -8
  114. package/src/modes/types.ts +2 -2
  115. package/src/prompts/review-request.md +6 -0
  116. package/src/prompts/system/system-prompt.md +2 -1
  117. package/src/prompts/tools/chunk-edit.md +223 -0
  118. package/src/prompts/tools/debug.md +43 -0
  119. package/src/prompts/tools/grep.md +3 -0
  120. package/src/prompts/tools/lsp.md +5 -5
  121. package/src/prompts/tools/read-chunk.md +17 -0
  122. package/src/prompts/tools/read.md +19 -5
  123. package/src/sdk.ts +190 -154
  124. package/src/secrets/obfuscator.ts +1 -1
  125. package/src/session/agent-session.ts +306 -256
  126. package/src/session/agent-storage.ts +12 -12
  127. package/src/session/compaction/branch-summarization.ts +3 -3
  128. package/src/session/compaction/compaction.ts +5 -6
  129. package/src/session/compaction/utils.ts +3 -3
  130. package/src/session/history-storage.ts +62 -19
  131. package/src/session/messages.ts +3 -3
  132. package/src/session/session-dump-format.ts +203 -0
  133. package/src/session/session-storage.ts +4 -2
  134. package/src/session/streaming-output.ts +1 -1
  135. package/src/session/tool-choice-queue.ts +213 -0
  136. package/src/slash-commands/builtin-registry.ts +56 -8
  137. package/src/ssh/connection-manager.ts +2 -2
  138. package/src/ssh/sshfs-mount.ts +5 -5
  139. package/src/stt/downloader.ts +4 -4
  140. package/src/stt/recorder.ts +4 -4
  141. package/src/stt/transcriber.ts +2 -2
  142. package/src/system-prompt.ts +21 -13
  143. package/src/task/agents.ts +5 -6
  144. package/src/task/commands.ts +2 -5
  145. package/src/task/executor.ts +4 -4
  146. package/src/task/index.ts +3 -4
  147. package/src/task/template.ts +2 -2
  148. package/src/task/worktree.ts +4 -4
  149. package/src/tools/ask.ts +2 -3
  150. package/src/tools/ast-edit.ts +7 -7
  151. package/src/tools/ast-grep.ts +7 -7
  152. package/src/tools/auto-generated-guard.ts +36 -41
  153. package/src/tools/await-tool.ts +2 -2
  154. package/src/tools/bash.ts +5 -23
  155. package/src/tools/browser.ts +4 -5
  156. package/src/tools/calculator.ts +2 -3
  157. package/src/tools/cancel-job.ts +2 -2
  158. package/src/tools/checkpoint.ts +3 -3
  159. package/src/tools/debug.ts +1007 -0
  160. package/src/tools/exit-plan-mode.ts +2 -3
  161. package/src/tools/fetch.ts +67 -3
  162. package/src/tools/find.ts +4 -5
  163. package/src/tools/fs-cache-invalidation.ts +5 -0
  164. package/src/tools/gemini-image.ts +13 -5
  165. package/src/tools/gh.ts +10 -11
  166. package/src/tools/grep.ts +57 -9
  167. package/src/tools/index.ts +44 -22
  168. package/src/tools/inspect-image.ts +4 -4
  169. package/src/tools/output-meta.ts +1 -1
  170. package/src/tools/python.ts +19 -6
  171. package/src/tools/read.ts +198 -67
  172. package/src/tools/render-mermaid.ts +2 -3
  173. package/src/tools/render-utils.ts +20 -6
  174. package/src/tools/renderers.ts +3 -1
  175. package/src/tools/report-tool-issue.ts +80 -0
  176. package/src/tools/resolve.ts +70 -39
  177. package/src/tools/search-tool-bm25.ts +2 -2
  178. package/src/tools/ssh.ts +2 -2
  179. package/src/tools/todo-write.ts +2 -2
  180. package/src/tools/tool-timeouts.ts +1 -0
  181. package/src/tools/write.ts +5 -6
  182. package/src/tui/tree-list.ts +3 -1
  183. package/src/utils/clipboard.ts +80 -0
  184. package/src/utils/commit-message-generator.ts +2 -3
  185. package/src/utils/edit-mode.ts +49 -0
  186. package/src/utils/file-display-mode.ts +6 -5
  187. package/src/utils/file-mentions.ts +8 -7
  188. package/src/utils/git.ts +4 -4
  189. package/src/utils/image-loading.ts +98 -0
  190. package/src/utils/title-generator.ts +2 -3
  191. package/src/utils/tools-manager.ts +6 -6
  192. package/src/web/scrapers/choosealicense.ts +1 -1
  193. package/src/web/search/index.ts +3 -3
  194. package/src/autoresearch/command-initialize.md +0 -34
  195. package/src/patch/diff.ts +0 -433
  196. package/src/patch/index.ts +0 -888
  197. package/src/patch/parser.ts +0 -532
  198. package/src/patch/types.ts +0 -292
  199. package/src/prompts/agents/oracle.md +0 -77
  200. package/src/tools/pending-action.ts +0 -49
  201. package/src/utils/child-process.ts +0 -88
  202. package/src/utils/frontmatter.ts +0 -117
  203. package/src/utils/image-input.ts +0 -274
  204. package/src/utils/mime.ts +0 -53
  205. package/src/utils/prompt-format.ts +0 -170
@@ -0,0 +1,150 @@
1
+ import * as path from "node:path";
2
+ import { isRecord } from "@oh-my-pi/pi-utils";
3
+ import { hasRootMarkers, resolveCommand } from "../lsp/config";
4
+ import DEFAULTS from "./defaults.json" with { type: "json" };
5
+ import type { DapAdapterConfig, DapResolvedAdapter } from "./types";
6
+
7
+ const EXTENSIONLESS_DEBUGGER_ORDER = ["gdb", "lldb-dap"] as const;
8
+
9
+ function normalizeStringArray(value: unknown): string[] {
10
+ if (!Array.isArray(value)) return [];
11
+ return value.filter((entry): entry is string => typeof entry === "string" && entry.length > 0);
12
+ }
13
+
14
+ function normalizeObject(value: unknown): Record<string, unknown> {
15
+ return isRecord(value) ? { ...value } : {};
16
+ }
17
+
18
+ function normalizeAdapterConfig(config: unknown): DapAdapterConfig | null {
19
+ if (!isRecord(config)) return null;
20
+ if (typeof config.command !== "string" || config.command.length === 0) return null;
21
+ const connectMode = config.connectMode === "socket" ? ("socket" as const) : undefined;
22
+ return {
23
+ command: config.command,
24
+ args: normalizeStringArray(config.args),
25
+ languages: normalizeStringArray(config.languages),
26
+ fileTypes: normalizeStringArray(config.fileTypes).map(entry => entry.toLowerCase()),
27
+ rootMarkers: normalizeStringArray(config.rootMarkers),
28
+ launchDefaults: normalizeObject(config.launchDefaults),
29
+ attachDefaults: normalizeObject(config.attachDefaults),
30
+ ...(connectMode ? { connectMode } : {}),
31
+ };
32
+ }
33
+
34
+ function getDefaults(): Record<string, DapAdapterConfig> {
35
+ const adapters: Record<string, DapAdapterConfig> = {};
36
+ for (const [name, config] of Object.entries(DEFAULTS)) {
37
+ const normalized = normalizeAdapterConfig(config);
38
+ if (normalized) {
39
+ adapters[name] = normalized;
40
+ }
41
+ }
42
+ return adapters;
43
+ }
44
+
45
+ const DEFAULT_ADAPTERS = getDefaults();
46
+
47
+ export function getAdapterConfigs(): Record<string, DapAdapterConfig> {
48
+ return { ...DEFAULT_ADAPTERS };
49
+ }
50
+
51
+ export function resolveAdapter(adapterName: string, cwd: string): DapResolvedAdapter | null {
52
+ const config = DEFAULT_ADAPTERS[adapterName];
53
+ if (!config) return null;
54
+ const resolvedCommand = resolveCommand(config.command, cwd);
55
+ if (!resolvedCommand) return null;
56
+ return {
57
+ name: adapterName,
58
+ command: config.command,
59
+ args: config.args ?? [],
60
+ resolvedCommand,
61
+ languages: config.languages ?? [],
62
+ fileTypes: config.fileTypes ?? [],
63
+ rootMarkers: config.rootMarkers ?? [],
64
+ launchDefaults: config.launchDefaults ?? {},
65
+ attachDefaults: config.attachDefaults ?? {},
66
+ connectMode: config.connectMode ?? "stdio",
67
+ };
68
+ }
69
+
70
+ export function getAvailableAdapters(cwd: string): DapResolvedAdapter[] {
71
+ return Object.keys(DEFAULT_ADAPTERS)
72
+ .map(name => resolveAdapter(name, cwd))
73
+ .filter((adapter): adapter is DapResolvedAdapter => adapter !== null);
74
+ }
75
+
76
+ function getMatchingAdapters(program: string, cwd: string): DapResolvedAdapter[] {
77
+ const extension = path.extname(program).toLowerCase();
78
+ const available = getAvailableAdapters(cwd);
79
+ if (!extension) {
80
+ // For extensionless binaries, only consider native debuggers (gdb, lldb-dap)
81
+ // or adapters that match by root markers. Don't silently fall back to
82
+ // unrelated adapters like debugpy for a C binary.
83
+ const nativeDebuggers: ReadonlySet<string> = new Set(EXTENSIONLESS_DEBUGGER_ORDER);
84
+ return available.filter(
85
+ adapter =>
86
+ nativeDebuggers.has(adapter.name) ||
87
+ (adapter.rootMarkers.length > 0 && hasRootMarkers(cwd, adapter.rootMarkers)),
88
+ );
89
+ }
90
+ const exactMatches = available.filter(adapter => adapter.fileTypes.includes(extension));
91
+ if (exactMatches.length > 0) {
92
+ return exactMatches;
93
+ }
94
+ return available;
95
+ }
96
+
97
+ function sortAdaptersForLaunch(program: string, cwd: string, adapters: DapResolvedAdapter[]): DapResolvedAdapter[] {
98
+ const extension = path.extname(program).toLowerCase();
99
+ const rootAware = adapters.map(adapter => ({
100
+ adapter,
101
+ hasExtensionMatch: extension.length > 0 && adapter.fileTypes.includes(extension),
102
+ hasRootMatch: adapter.rootMarkers.length > 0 && hasRootMarkers(cwd, adapter.rootMarkers),
103
+ }));
104
+ rootAware.sort((left, right) => {
105
+ if (left.hasExtensionMatch !== right.hasExtensionMatch) {
106
+ return left.hasExtensionMatch ? -1 : 1;
107
+ }
108
+ if (left.hasRootMatch !== right.hasRootMatch) {
109
+ return left.hasRootMatch ? -1 : 1;
110
+ }
111
+ const leftDebuggerRank = EXTENSIONLESS_DEBUGGER_ORDER.indexOf(
112
+ left.adapter.name as (typeof EXTENSIONLESS_DEBUGGER_ORDER)[number],
113
+ );
114
+ const rightDebuggerRank = EXTENSIONLESS_DEBUGGER_ORDER.indexOf(
115
+ right.adapter.name as (typeof EXTENSIONLESS_DEBUGGER_ORDER)[number],
116
+ );
117
+ const normalizedLeftRank = leftDebuggerRank === -1 ? Number.MAX_SAFE_INTEGER : leftDebuggerRank;
118
+ const normalizedRightRank = rightDebuggerRank === -1 ? Number.MAX_SAFE_INTEGER : rightDebuggerRank;
119
+ if (normalizedLeftRank !== normalizedRightRank) {
120
+ return normalizedLeftRank - normalizedRightRank;
121
+ }
122
+ return left.adapter.name.localeCompare(right.adapter.name);
123
+ });
124
+ return rootAware.map(entry => entry.adapter);
125
+ }
126
+
127
+ export function selectLaunchAdapter(program: string, cwd: string, adapterName?: string): DapResolvedAdapter | null {
128
+ if (adapterName) {
129
+ return resolveAdapter(adapterName, cwd);
130
+ }
131
+ const matches = getMatchingAdapters(program, cwd);
132
+ const sorted = sortAdaptersForLaunch(program, cwd, matches);
133
+ return sorted[0] ?? null;
134
+ }
135
+
136
+ export function selectAttachAdapter(cwd: string, adapterName?: string, port?: number): DapResolvedAdapter | null {
137
+ if (adapterName) {
138
+ return resolveAdapter(adapterName, cwd);
139
+ }
140
+ const available = getAvailableAdapters(cwd);
141
+ if (port !== undefined) {
142
+ const debugpy = available.find(adapter => adapter.name === "debugpy");
143
+ if (debugpy) return debugpy;
144
+ }
145
+ for (const preferred of EXTENSIONLESS_DEBUGGER_ORDER) {
146
+ const match = available.find(adapter => adapter.name === preferred);
147
+ if (match) return match;
148
+ }
149
+ return available[0] ?? null;
150
+ }
@@ -0,0 +1,211 @@
1
+ {
2
+ "gdb": {
3
+ "command": "gdb",
4
+ "args": ["-i", "dap"],
5
+ "languages": ["c", "cpp", "rust"],
6
+ "fileTypes": [".c", ".cc", ".cpp", ".cxx", ".h", ".hh", ".hpp", ".hxx", ".rs"],
7
+ "rootMarkers": ["Makefile", "CMakeLists.txt", "Cargo.toml", "compile_commands.json"],
8
+ "launchDefaults": {
9
+ "request": "launch",
10
+ "stopOnEntry": true,
11
+ "stopAtBeginningOfMainSubprogram": true
12
+ },
13
+ "attachDefaults": {
14
+ "request": "attach"
15
+ }
16
+ },
17
+ "lldb-dap": {
18
+ "command": "lldb-dap",
19
+ "args": [],
20
+ "languages": ["c", "cpp", "objc", "swift", "rust", "zig"],
21
+ "fileTypes": [".c", ".cc", ".cpp", ".cxx", ".m", ".mm", ".swift", ".rs", ".zig"],
22
+ "rootMarkers": ["Package.swift", "Cargo.toml", "Makefile", "CMakeLists.txt", "build.zig"],
23
+ "launchDefaults": {
24
+ "request": "launch",
25
+ "stopOnEntry": true
26
+ },
27
+ "attachDefaults": {
28
+ "request": "attach"
29
+ }
30
+ },
31
+ "codelldb": {
32
+ "command": "codelldb",
33
+ "args": ["--port", "0"],
34
+ "languages": ["c", "cpp", "rust", "zig"],
35
+ "fileTypes": [".c", ".cc", ".cpp", ".cxx", ".rs", ".zig"],
36
+ "rootMarkers": ["Cargo.toml", "CMakeLists.txt", "Makefile", "compile_commands.json", "build.zig"],
37
+ "launchDefaults": {
38
+ "request": "launch",
39
+ "stopOnEntry": true
40
+ },
41
+ "attachDefaults": {
42
+ "request": "attach"
43
+ }
44
+ },
45
+ "debugpy": {
46
+ "command": "python",
47
+ "args": ["-m", "debugpy.adapter"],
48
+ "languages": ["python"],
49
+ "fileTypes": [".py"],
50
+ "rootMarkers": ["pyproject.toml", "setup.py", "requirements.txt", "Pipfile"],
51
+ "launchDefaults": {
52
+ "request": "launch",
53
+ "justMyCode": false,
54
+ "stopOnEntry": true
55
+ },
56
+ "attachDefaults": {
57
+ "request": "attach",
58
+ "justMyCode": false
59
+ }
60
+ },
61
+ "dlv": {
62
+ "command": "dlv",
63
+ "args": ["dap"],
64
+ "connectMode": "socket",
65
+ "languages": ["go"],
66
+ "fileTypes": [".go"],
67
+ "rootMarkers": ["go.mod", "go.sum"],
68
+ "launchDefaults": {
69
+ "request": "launch",
70
+ "mode": "debug",
71
+ "stopOnEntry": true
72
+ },
73
+ "attachDefaults": {
74
+ "request": "attach",
75
+ "mode": "local"
76
+ }
77
+ },
78
+ "js-debug-adapter": {
79
+ "command": "js-debug-adapter",
80
+ "args": [],
81
+ "languages": ["javascript", "typescript"],
82
+ "fileTypes": [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs"],
83
+ "rootMarkers": ["package.json", "tsconfig.json", "jsconfig.json"],
84
+ "launchDefaults": {
85
+ "request": "launch",
86
+ "type": "pwa-node",
87
+ "stopOnEntry": true
88
+ },
89
+ "attachDefaults": {
90
+ "request": "attach",
91
+ "type": "pwa-node"
92
+ }
93
+ },
94
+ "netcoredbg": {
95
+ "command": "netcoredbg",
96
+ "args": ["--interpreter=vscode"],
97
+ "languages": ["csharp", "fsharp"],
98
+ "fileTypes": [".cs", ".csx", ".fs", ".fsx"],
99
+ "rootMarkers": ["*.sln", "*.csproj", "*.fsproj", "global.json"],
100
+ "launchDefaults": {
101
+ "request": "launch",
102
+ "stopAtEntry": true
103
+ },
104
+ "attachDefaults": {
105
+ "request": "attach"
106
+ }
107
+ },
108
+ "kotlin-debug-adapter": {
109
+ "command": "kotlin-debug-adapter",
110
+ "args": [],
111
+ "languages": ["kotlin"],
112
+ "fileTypes": [".kt", ".kts"],
113
+ "rootMarkers": ["build.gradle", "build.gradle.kts", "pom.xml", "settings.gradle", "settings.gradle.kts"],
114
+ "launchDefaults": {
115
+ "request": "launch",
116
+ "mainClass": "",
117
+ "projectRoot": ""
118
+ },
119
+ "attachDefaults": {
120
+ "request": "attach"
121
+ }
122
+ },
123
+ "rdbg": {
124
+ "command": "rdbg",
125
+ "args": ["--open", "--command", "--"],
126
+ "languages": ["ruby"],
127
+ "fileTypes": [".rb", ".rake", ".gemspec"],
128
+ "rootMarkers": ["Gemfile", "Rakefile", ".ruby-version"],
129
+ "launchDefaults": {
130
+ "request": "launch",
131
+ "type": "rdbg"
132
+ },
133
+ "attachDefaults": {
134
+ "request": "attach",
135
+ "type": "rdbg"
136
+ }
137
+ },
138
+ "php-debug-adapter": {
139
+ "command": "php-debug-adapter",
140
+ "args": [],
141
+ "languages": ["php"],
142
+ "fileTypes": [".php", ".phtml"],
143
+ "rootMarkers": ["composer.json", "composer.lock"],
144
+ "launchDefaults": {
145
+ "request": "launch",
146
+ "stopOnEntry": true
147
+ },
148
+ "attachDefaults": {
149
+ "request": "attach"
150
+ }
151
+ },
152
+ "bash-debug-adapter": {
153
+ "command": "bash-debug-adapter",
154
+ "args": [],
155
+ "languages": ["bash", "shell"],
156
+ "fileTypes": [".sh", ".bash"],
157
+ "rootMarkers": [".git"],
158
+ "launchDefaults": {
159
+ "request": "launch",
160
+ "type": "bashdb",
161
+ "pathBashdb": "bashdb",
162
+ "pathBash": "bash"
163
+ },
164
+ "attachDefaults": {
165
+ "request": "attach"
166
+ }
167
+ },
168
+ "dart-debug-adapter": {
169
+ "command": "dart",
170
+ "args": ["debug_adapter"],
171
+ "languages": ["dart"],
172
+ "fileTypes": [".dart"],
173
+ "rootMarkers": ["pubspec.yaml", "pubspec.lock"],
174
+ "launchDefaults": {
175
+ "request": "launch",
176
+ "stopOnEntry": true
177
+ },
178
+ "attachDefaults": {
179
+ "request": "attach"
180
+ }
181
+ },
182
+ "flutter-debug-adapter": {
183
+ "command": "dart",
184
+ "args": ["debug_adapter", "--flutter-sdk-path", ""],
185
+ "languages": ["dart"],
186
+ "fileTypes": [".dart"],
187
+ "rootMarkers": ["pubspec.yaml", "android", "ios", "lib/main.dart"],
188
+ "launchDefaults": {
189
+ "request": "launch"
190
+ },
191
+ "attachDefaults": {
192
+ "request": "attach"
193
+ }
194
+ },
195
+ "elixir-ls-debugger": {
196
+ "command": "elixir-ls-debugger",
197
+ "args": [],
198
+ "languages": ["elixir"],
199
+ "fileTypes": [".ex", ".exs", ".heex", ".eex"],
200
+ "rootMarkers": ["mix.exs", "mix.lock"],
201
+ "launchDefaults": {
202
+ "request": "launch",
203
+ "type": "mix_task",
204
+ "task": "run",
205
+ "stopOnEntry": true
206
+ },
207
+ "attachDefaults": {
208
+ "request": "attach"
209
+ }
210
+ }
211
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./client";
2
+ export * from "./config";
3
+ export * from "./session";
4
+ export * from "./types";