@octocodeai/octocode-core 16.2.0 → 16.3.0

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 (48) hide show
  1. package/dist/cli.d.ts +9 -0
  2. package/dist/cli.js +1 -0
  3. package/dist/data/compressed.js +1 -1
  4. package/dist/mcp.d.ts +18 -0
  5. package/dist/mcp.js +1 -0
  6. package/dist/types/index.d.ts +60 -7
  7. package/package.json +9 -29
  8. package/dist/data/default.json +0 -353
  9. package/dist/index.d.ts +0 -3
  10. package/dist/index.js +0 -1
  11. package/dist/resources/global.d.ts +0 -3
  12. package/dist/resources/global.js +0 -1
  13. package/dist/resources/tools/_toolkit.d.ts +0 -55
  14. package/dist/resources/tools/_toolkit.js +0 -1
  15. package/dist/resources/tools/ghCloneRepo.d.ts +0 -27
  16. package/dist/resources/tools/ghCloneRepo.js +0 -1
  17. package/dist/resources/tools/ghGetFileContent.d.ts +0 -32
  18. package/dist/resources/tools/ghGetFileContent.js +0 -1
  19. package/dist/resources/tools/ghHistoryResearch.d.ts +0 -133
  20. package/dist/resources/tools/ghHistoryResearch.js +0 -1
  21. package/dist/resources/tools/ghSearchCode.d.ts +0 -23
  22. package/dist/resources/tools/ghSearchCode.js +0 -1
  23. package/dist/resources/tools/ghSearchRepos.d.ts +0 -40
  24. package/dist/resources/tools/ghSearchRepos.js +0 -1
  25. package/dist/resources/tools/ghViewRepoStructure.d.ts +0 -17
  26. package/dist/resources/tools/ghViewRepoStructure.js +0 -1
  27. package/dist/resources/tools/localBinaryInspect.d.ts +0 -39
  28. package/dist/resources/tools/localBinaryInspect.js +0 -1
  29. package/dist/resources/tools/localFindFiles.d.ts +0 -41
  30. package/dist/resources/tools/localFindFiles.js +0 -1
  31. package/dist/resources/tools/localGetFileContent.d.ts +0 -24
  32. package/dist/resources/tools/localGetFileContent.js +0 -1
  33. package/dist/resources/tools/localSearchCode.d.ts +0 -51
  34. package/dist/resources/tools/localSearchCode.js +0 -1
  35. package/dist/resources/tools/localViewStructure.d.ts +0 -29
  36. package/dist/resources/tools/localViewStructure.js +0 -1
  37. package/dist/resources/tools/lspGetSemantics.d.ts +0 -79
  38. package/dist/resources/tools/lspGetSemantics.js +0 -1
  39. package/dist/resources/tools/npmSearch.d.ts +0 -11
  40. package/dist/resources/tools/npmSearch.js +0 -1
  41. package/dist/schemas/extraTypes.d.ts +0 -178
  42. package/dist/schemas/extraTypes.js +0 -1
  43. package/dist/schemas/index.d.ts +0 -13
  44. package/dist/schemas/index.js +0 -1
  45. package/dist/schemas/outputs.d.ts +0 -837
  46. package/dist/schemas/outputs.js +0 -1
  47. package/dist/schemas/runtime.d.ts +0 -11
  48. package/dist/schemas/runtime.js +0 -1
package/dist/cli.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import type { CLICommandSpec } from "./types/index.js";
2
+ /** Shared research system prompt. */
3
+ export declare const SYSTEM_PROMPT: string;
4
+ /** Command specs in canonical agent-facing order. */
5
+ export declare const COMMAND_SPECS: readonly CLICommandSpec[];
6
+ /** Command specs keyed by command name. */
7
+ export declare const commands: Record<string, CLICommandSpec>;
8
+ export declare function findCommandSpec(name: string): CLICommandSpec | undefined;
9
+ export type { CLICommandSpec, CLIOption } from "./types/index.js";
package/dist/cli.js ADDED
@@ -0,0 +1 @@
1
+ import{config as o}from"./configLoader.js";export const SYSTEM_PROMPT=o.systemPrompt;export const COMMAND_SPECS=o.cli??[];export const commands=Object.fromEntries(COMMAND_SPECS.map(o=>[o.name,o]));export function findCommandSpec(o){return COMMAND_SPECS.find(n=>n.name===o)}
@@ -1 +1 @@
1
- import{brotliDecompressSync as n}from"node:zlib";export default JSON.parse(n(Buffer.from("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","base64")).toString());
1
+ import{brotliDecompressSync as S}from"node:zlib";export default JSON.parse(S(Buffer.from("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","base64")).toString());
package/dist/mcp.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import type { BaseSchema, CompleteMetadata, OctocodeConfig, ToolMetadata, ToolNames, ToolSpec } from "./types/index.js";
2
+ /** The full decompressed config blob (system prompt, tool names, base schema,
3
+ * tools, cli). Served verbatim by the host's MCP content endpoint. */
4
+ export declare const octocodeConfig: OctocodeConfig;
5
+ /** Normalized MCP metadata the tool registry consumes. */
6
+ export declare const completeMetadata: CompleteMetadata;
7
+ /** Shared research system prompt. */
8
+ export declare const SYSTEM_PROMPT: string;
9
+ /** Canonical, stable agent-facing tool names. */
10
+ export declare const toolNames: ToolNames;
11
+ /** Meta fields (descriptions) carried by every tool query. */
12
+ export declare const baseSchema: BaseSchema;
13
+ /** Tool specs keyed by tool name. */
14
+ export declare const tools: Record<string, ToolSpec | ToolMetadata>;
15
+ /** Tool specs in canonical agent-facing order. */
16
+ export declare const TOOL_SPECS: readonly (ToolSpec | ToolMetadata)[];
17
+ export declare function findToolSpec(name: string): ToolSpec | ToolMetadata | undefined;
18
+ export type { BaseSchema, CompleteMetadata, OctocodeConfig, ToolHints, ToolMetadata, ToolNames, ToolSchema, ToolSpec, ToolType, } from "./types/index.js";
package/dist/mcp.js ADDED
@@ -0,0 +1 @@
1
+ import{config as e}from"./configLoader.js";export const octocodeConfig=e;export const completeMetadata={systemPrompt:e.systemPrompt,toolNames:e.toolNames,baseSchema:{id:e.baseSchema.id,mainResearchGoal:e.baseSchema.mainResearchGoal,researchGoal:e.baseSchema.researchGoal,reasoning:e.baseSchema.reasoning,...e.baseSchema.verbose&&{verbose:e.baseSchema.verbose}},tools:e.tools,baseHints:e.baseHints??{},genericErrorHints:e.genericErrorHints??[]};export const SYSTEM_PROMPT=e.systemPrompt;export const toolNames=e.toolNames;export const baseSchema=e.baseSchema;export const tools=e.tools;export const TOOL_SPECS=Object.values(e.tools);export function findToolSpec(e){return TOOL_SPECS.find(o=>o.name===e)}
@@ -1,15 +1,15 @@
1
1
  export interface ToolNames {
2
- GITHUB_FETCH_CONTENT: "ghGetFileContent";
3
2
  GITHUB_SEARCH_CODE: "ghSearchCode";
4
- GITHUB_SEARCH_PULL_REQUESTS: "ghHistoryResearch";
5
- GITHUB_SEARCH_REPOSITORIES: "ghSearchRepos";
3
+ GITHUB_FETCH_CONTENT: "ghGetFileContent";
6
4
  GITHUB_VIEW_REPO_STRUCTURE: "ghViewRepoStructure";
5
+ GITHUB_SEARCH_REPOSITORIES: "ghSearchRepos";
6
+ GITHUB_SEARCH_PULL_REQUESTS: "ghHistoryResearch";
7
7
  PACKAGE_SEARCH: "npmSearch";
8
8
  GITHUB_CLONE_REPO: "ghCloneRepo";
9
9
  LOCAL_RIPGREP: "localSearchCode";
10
- LOCAL_FETCH_CONTENT: "localGetFileContent";
11
- LOCAL_FIND_FILES: "localFindFiles";
12
10
  LOCAL_VIEW_STRUCTURE: "localViewStructure";
11
+ LOCAL_FIND_FILES: "localFindFiles";
12
+ LOCAL_FETCH_CONTENT: "localGetFileContent";
13
13
  LSP_GET_SEMANTIC_CONTENT: "lspGetSemantics";
14
14
  LOCAL_BINARY_INSPECT: "localBinaryInspect";
15
15
  }
@@ -19,8 +19,30 @@ export interface ToolHints {
19
19
  export interface ToolSchema {
20
20
  readonly [param: string]: string;
21
21
  }
22
+ /**
23
+ * The backing data source a tool operates against. Drives grouping in the
24
+ * agent-facing toolset: GitHub repo/PR/commit tools, npm registry lookup, and
25
+ * local-filesystem tools.
26
+ */
27
+ export type ToolType = "Github" | "Local" | "NPM";
22
28
  export interface ToolSpec {
23
29
  readonly name: string;
30
+ /** The data source this tool operates against. */
31
+ readonly type: ToolType;
32
+ /** One-line summary of what the tool does, for agents scanning the toolset. */
33
+ readonly shortDescription: string;
34
+ /**
35
+ * How to drive the tool: mode/option selection, output signals, cross-tool
36
+ * handoffs, and best practices. Per-parameter contracts live in `schema`, not
37
+ * here — keep this free of detail the schema already carries.
38
+ */
39
+ readonly instructions: string;
40
+ /**
41
+ * Client-facing description, composed as
42
+ * `"{type} | {shortDescription} | {instructions}"` by `defineTool`. Kept so
43
+ * consumers that only read `description` (e.g. the MCP tool registry) still
44
+ * get the full text. Do not author directly.
45
+ */
24
46
  readonly description: string;
25
47
  readonly schema: ToolSchema;
26
48
  readonly hints?: ToolHints;
@@ -28,6 +50,33 @@ export interface ToolSpec {
28
50
  export interface ToolMetadata extends ToolSpec {
29
51
  readonly hints: ToolHints;
30
52
  }
53
+ /**
54
+ * A single flag/option on a CLI command. `hasValue` distinguishes a value
55
+ * option (`--page <n>`) from a boolean switch (`--json`); `default` is the
56
+ * value applied when the option is omitted.
57
+ */
58
+ export interface CLIOption {
59
+ readonly name: string;
60
+ readonly description: string;
61
+ readonly hasValue?: boolean;
62
+ readonly default?: string | boolean;
63
+ }
64
+ /**
65
+ * Agent/user-facing content for one Octocode CLI command — the documentation
66
+ * layer (description, usage line, argument scheme, when-to-use guidance,
67
+ * examples, and option list), independent of the runtime handler that lives in
68
+ * the CLI package. Each command's spec is authored as its own file under
69
+ * `resources/cli/<command>.ts`, mirroring `resources/tools/<tool>.ts`.
70
+ */
71
+ export interface CLICommandSpec {
72
+ readonly name: string;
73
+ readonly description: string;
74
+ readonly usage?: string;
75
+ readonly scheme?: readonly string[];
76
+ readonly whenToUse?: readonly string[];
77
+ readonly examples?: readonly string[];
78
+ readonly options?: readonly CLIOption[];
79
+ }
31
80
  export interface BaseSchema {
32
81
  readonly id: string;
33
82
  readonly mainResearchGoal: string;
@@ -36,15 +85,19 @@ export interface BaseSchema {
36
85
  readonly verbose?: string;
37
86
  }
38
87
  export interface OctocodeConfig {
39
- readonly instructions: string;
88
+ /** Top-level agent system prompt shipped with the config. */
89
+ readonly systemPrompt: string;
40
90
  readonly toolNames: ToolNames;
41
91
  readonly baseSchema: BaseSchema;
42
92
  readonly tools: Record<ToolNames[keyof ToolNames], ToolSpec | ToolMetadata>;
93
+ /** Agent/user-facing content for the smart CLI commands. */
94
+ readonly cli?: readonly CLICommandSpec[];
43
95
  readonly baseHints?: Readonly<Record<string, readonly string[]>>;
44
96
  readonly genericErrorHints?: readonly string[];
45
97
  }
46
98
  export interface CompleteMetadata {
47
- readonly instructions: string;
99
+ /** Top-level agent system prompt shipped with the config. */
100
+ readonly systemPrompt: string;
48
101
  readonly toolNames: ToolNames;
49
102
  readonly baseSchema: BaseSchema;
50
103
  readonly tools: Record<string, ToolSpec | ToolMetadata>;
package/package.json CHANGED
@@ -1,41 +1,21 @@
1
1
  {
2
2
  "name": "@octocodeai/octocode-core",
3
- "version": "16.2.0",
4
- "description": "Core config, prompts, tools, and schemas for Octocode MCP",
3
+ "version": "16.3.0",
4
+ "description": "Compressed MCP tool specs and CLI command specs for Octocode (exposed via /mcp and /cli)",
5
5
  "type": "module",
6
- "main": "dist/index.js",
7
- "module": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
6
  "exports": {
10
- ".": {
11
- "import": "./dist/index.js",
12
- "types": "./dist/index.d.ts"
7
+ "./cli": {
8
+ "import": "./dist/cli.js",
9
+ "types": "./dist/cli.d.ts"
13
10
  },
14
- "./schemas": {
15
- "import": "./dist/schemas/index.js",
16
- "types": "./dist/schemas/index.d.ts"
17
- },
18
- "./schemas/outputs": {
19
- "import": "./dist/schemas/outputs.js",
20
- "types": "./dist/schemas/outputs.d.ts"
21
- },
22
- "./schemas/runtime": {
23
- "import": "./dist/schemas/runtime.js",
24
- "types": "./dist/schemas/runtime.d.ts"
25
- },
26
- "./types": {
27
- "import": "./dist/types/index.js",
28
- "types": "./dist/types/index.d.ts"
29
- },
30
- "./extra-types": {
31
- "import": "./dist/schemas/extraTypes.js",
32
- "types": "./dist/schemas/extraTypes.d.ts"
11
+ "./mcp": {
12
+ "import": "./dist/mcp.js",
13
+ "types": "./dist/mcp.d.ts"
33
14
  }
34
15
  },
35
16
  "files": [
36
17
  "dist/**/*.js",
37
18
  "dist/**/*.d.ts",
38
- "dist/**/*.json",
39
19
  "README.md"
40
20
  ],
41
21
  "publishConfig": {
@@ -48,7 +28,7 @@
48
28
  "build": "rm -rf dist && yarn generate && node scripts/compress-config.mjs && tsc && node scripts/minify-dist.mjs",
49
29
  "lint": "eslint src/**/*.ts",
50
30
  "lint:fix": "eslint src/**/*.ts --fix",
51
- "typecheck": "yarn compress && tsc --noEmit",
31
+ "typecheck": "yarn compress && tsc --noEmit -p tsconfig.typecheck.json",
52
32
  "test": "yarn compress && vitest run",
53
33
  "test:watch": "yarn compress && vitest --watch",
54
34
  "prepublishOnly": "yarn lint && yarn typecheck && yarn test && yarn build"