@jitera/connect 0.1.1 → 1.2.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 (115) hide show
  1. package/.claude-plugin/plugin.json +12 -9
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +17 -3
  4. package/dist/adapters/codex.d.ts +4 -0
  5. package/dist/adapters/codex.d.ts.map +1 -0
  6. package/dist/adapters/codex.js +49 -0
  7. package/dist/adapters/codex.js.map +1 -0
  8. package/dist/adapters/cursor.d.ts +4 -0
  9. package/dist/adapters/cursor.d.ts.map +1 -0
  10. package/dist/adapters/cursor.js +47 -0
  11. package/dist/adapters/cursor.js.map +1 -0
  12. package/dist/adapters/types.d.ts +25 -0
  13. package/dist/adapters/types.d.ts.map +1 -0
  14. package/dist/adapters/types.js +2 -0
  15. package/dist/adapters/types.js.map +1 -0
  16. package/dist/bin/cli.d.ts +3 -0
  17. package/dist/bin/cli.d.ts.map +1 -0
  18. package/dist/bin/cli.js +164 -0
  19. package/dist/bin/cli.js.map +1 -0
  20. package/dist/bin/login.d.ts +3 -0
  21. package/dist/bin/login.d.ts.map +1 -0
  22. package/dist/bin/login.js +181 -0
  23. package/dist/bin/login.js.map +1 -0
  24. package/dist/bin/proxy.d.ts +3 -0
  25. package/dist/bin/proxy.d.ts.map +1 -0
  26. package/dist/bin/proxy.js +19 -0
  27. package/dist/bin/proxy.js.map +1 -0
  28. package/dist/bin/validate.d.ts +3 -0
  29. package/dist/bin/validate.d.ts.map +1 -0
  30. package/dist/bin/validate.js +13 -0
  31. package/dist/bin/validate.js.map +1 -0
  32. package/dist/device-flow.d.ts +30 -0
  33. package/dist/device-flow.d.ts.map +1 -0
  34. package/dist/device-flow.js +105 -0
  35. package/dist/device-flow.js.map +1 -0
  36. package/dist/discovery.d.ts +21 -0
  37. package/dist/discovery.d.ts.map +1 -0
  38. package/dist/discovery.js +58 -0
  39. package/dist/discovery.js.map +1 -0
  40. package/dist/environments.d.ts +18 -0
  41. package/dist/environments.d.ts.map +1 -0
  42. package/dist/environments.js +45 -0
  43. package/dist/environments.js.map +1 -0
  44. package/dist/graphql.d.ts +31 -0
  45. package/dist/graphql.d.ts.map +1 -0
  46. package/dist/graphql.js +100 -0
  47. package/dist/graphql.js.map +1 -0
  48. package/dist/hook-io.d.ts +22 -0
  49. package/dist/hook-io.d.ts.map +1 -0
  50. package/dist/hook-io.js +13 -0
  51. package/dist/hook-io.js.map +1 -0
  52. package/dist/hooks/session-start.d.ts +3 -0
  53. package/dist/hooks/session-start.d.ts.map +1 -0
  54. package/dist/hooks/session-start.js +16 -0
  55. package/dist/hooks/session-start.js.map +1 -0
  56. package/dist/hooks/stop.d.ts +3 -0
  57. package/dist/hooks/stop.d.ts.map +1 -0
  58. package/dist/hooks/stop.js +21 -0
  59. package/dist/hooks/stop.js.map +1 -0
  60. package/dist/hooks/user-prompt-submit.d.ts +3 -0
  61. package/dist/hooks/user-prompt-submit.d.ts.map +1 -0
  62. package/dist/hooks/user-prompt-submit.js +55 -0
  63. package/dist/hooks/user-prompt-submit.js.map +1 -0
  64. package/dist/install/agents-md.d.ts +25 -0
  65. package/dist/install/agents-md.d.ts.map +1 -0
  66. package/dist/install/agents-md.js +58 -0
  67. package/dist/install/agents-md.js.map +1 -0
  68. package/dist/install/claude-code.d.ts +20 -0
  69. package/dist/install/claude-code.d.ts.map +1 -0
  70. package/dist/install/claude-code.js +33 -0
  71. package/dist/install/claude-code.js.map +1 -0
  72. package/dist/install/render.d.ts +13 -0
  73. package/dist/install/render.d.ts.map +1 -0
  74. package/dist/install/render.js +22 -0
  75. package/dist/install/render.js.map +1 -0
  76. package/dist/install/skills.d.ts +16 -0
  77. package/dist/install/skills.d.ts.map +1 -0
  78. package/dist/install/skills.js +62 -0
  79. package/dist/install/skills.js.map +1 -0
  80. package/dist/manifest.d.ts +62 -0
  81. package/dist/manifest.d.ts.map +1 -0
  82. package/dist/manifest.js +5 -0
  83. package/dist/manifest.js.map +1 -0
  84. package/dist/mcp-client.d.ts +43 -0
  85. package/dist/mcp-client.d.ts.map +1 -0
  86. package/dist/mcp-client.js +85 -0
  87. package/dist/mcp-client.js.map +1 -0
  88. package/dist/mcp-config.d.ts +12 -0
  89. package/dist/mcp-config.d.ts.map +1 -0
  90. package/dist/mcp-config.js +45 -0
  91. package/dist/mcp-config.js.map +1 -0
  92. package/dist/proxy.d.ts +12 -0
  93. package/dist/proxy.d.ts.map +1 -0
  94. package/dist/proxy.js +54 -0
  95. package/dist/proxy.js.map +1 -0
  96. package/dist/session-marker.d.ts +4 -0
  97. package/dist/session-marker.d.ts.map +1 -0
  98. package/dist/session-marker.js +25 -0
  99. package/dist/session-marker.js.map +1 -0
  100. package/dist/toml-section.d.ts +12 -0
  101. package/dist/toml-section.d.ts.map +1 -0
  102. package/dist/toml-section.js +66 -0
  103. package/dist/toml-section.js.map +1 -0
  104. package/dist/validate.d.ts +11 -0
  105. package/dist/validate.d.ts.map +1 -0
  106. package/dist/validate.js +58 -0
  107. package/dist/validate.js.map +1 -0
  108. package/hooks/hooks.json +15 -2
  109. package/package.json +13 -6
  110. package/bin/jitera-connect.mjs +0 -120
  111. package/hooks/scripts/session-start.mjs +0 -36
  112. package/hooks/scripts/stop.mjs +0 -39
  113. package/src/adapters/cursor.mjs +0 -56
  114. package/src/environments.mjs +0 -46
  115. package/src/mcp-config.mjs +0 -45
@@ -1,56 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { join } from "node:path";
3
-
4
- import { mergeServer, readConfig, removeServer, writeConfig } from "../mcp-config.mjs";
5
-
6
- export const SERVER_NAME = "jitera";
7
- const CONFIG_KEY = "mcpServers";
8
- const API_KEY_ENV = "JITERA_API_KEY";
9
-
10
- export const cursor = {
11
- id: "cursor",
12
- label: "Cursor",
13
- secretStrategy: "env",
14
-
15
- detect({ home }) {
16
- return existsSync(join(home, ".cursor"));
17
- },
18
-
19
- mcpConfigPath({ scope, home, cwd }) {
20
- return scope === "user"
21
- ? join(home, ".cursor", "mcp.json")
22
- : join(cwd, ".cursor", "mcp.json");
23
- },
24
-
25
- skillsDirs({ scope, home, cwd }) {
26
- return scope === "user"
27
- ? [join(home, ".agents", "skills"), join(home, ".claude", "skills")]
28
- : [join(cwd, ".agents", "skills"), join(cwd, ".claude", "skills")];
29
- },
30
-
31
- serverEntry({ mcpUrl }) {
32
- return {
33
- type: "http",
34
- url: mcpUrl,
35
- headers: {
36
- Authorization: `Bearer \${env:${API_KEY_ENV}}`,
37
- },
38
- };
39
- },
40
-
41
- install({ scope, home, cwd, mcpUrl, dryRun }) {
42
- const path = this.mcpConfigPath({ scope, home, cwd });
43
- const before = readConfig(path);
44
- const after = mergeServer(before, CONFIG_KEY, SERVER_NAME, this.serverEntry({ mcpUrl }));
45
- if (!dryRun) writeConfig(path, after);
46
- return { path, config: after, changed: JSON.stringify(before) !== JSON.stringify(after) };
47
- },
48
-
49
- uninstall({ scope, home, cwd, dryRun }) {
50
- const path = this.mcpConfigPath({ scope, home, cwd });
51
- const before = readConfig(path);
52
- const after = removeServer(before, CONFIG_KEY, SERVER_NAME);
53
- if (!dryRun) writeConfig(path, after);
54
- return { path, config: after, changed: JSON.stringify(before) !== JSON.stringify(after) };
55
- },
56
- };
@@ -1,46 +0,0 @@
1
- const PRODUCTION_GATEWAY = "https://gateway-proxy.jitera.app";
2
- const STAGE_GATEWAY = "https://jitera-stage-pilot.jitera.app";
3
- const PILOT_GATEWAY = "https://kong-proxy-pilot.jitera.app";
4
-
5
- const PILOT_PATTERN = /^studio-(\d{1,2})$/;
6
-
7
- export const SUPPORTED_ENVIRONMENTS = ["studio", "studio-stage", "studio-01", "studio-06"];
8
-
9
- export class UnknownEnvironmentError extends Error {
10
- constructor(value) {
11
- super(
12
- `unknown environment "${value}". Supported: omit the flag for production, ` +
13
- `--env=studio-stage for staging, or --env=studio-NN for a numbered pilot ` +
14
- `such as --env=studio-06.`
15
- );
16
- this.name = "UnknownEnvironmentError";
17
- this.value = value;
18
- }
19
- }
20
-
21
- function resolveBase(environment) {
22
- const name = String(environment ?? "").trim().toLowerCase();
23
-
24
- if (name === "" || name === "studio" || name === "production") {
25
- return `${PRODUCTION_GATEWAY}/gateway/boost`;
26
- }
27
-
28
- if (name === "studio-stage") {
29
- return `${STAGE_GATEWAY}/gateway/boost`;
30
- }
31
-
32
- const pilot = PILOT_PATTERN.exec(name);
33
- if (pilot) {
34
- return `${PILOT_GATEWAY}/gateway/boost-${pilot[1].padStart(2, "0")}`;
35
- }
36
-
37
- throw new UnknownEnvironmentError(environment);
38
- }
39
-
40
- export function resolveMcpUrl(environment) {
41
- return `${resolveBase(environment)}/mcp`;
42
- }
43
-
44
- export function resolveApiBaseUrl(environment) {
45
- return `${resolveBase(environment)}/v1`;
46
- }
@@ -1,45 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { dirname } from "node:path";
3
-
4
- export class MalformedConfigError extends Error {
5
- constructor(path, cause) {
6
- super(
7
- `${path} exists but is not valid JSON, so it cannot be merged safely. ` +
8
- `Fix or move the file, then run again. Parser said: ${cause.message}`
9
- );
10
- this.name = "MalformedConfigError";
11
- this.path = path;
12
- }
13
- }
14
-
15
- export function readConfig(path) {
16
- if (!existsSync(path)) return {};
17
- const raw = readFileSync(path, "utf8");
18
- if (raw.trim() === "") return {};
19
- try {
20
- return JSON.parse(raw);
21
- } catch (cause) {
22
- throw new MalformedConfigError(path, cause);
23
- }
24
- }
25
-
26
- export function mergeServer(config, key, name, server) {
27
- const next = { ...config };
28
- next[key] = { ...(next[key] ?? {}) };
29
- next[key][name] = server;
30
- return next;
31
- }
32
-
33
- export function removeServer(config, key, name) {
34
- const next = { ...config };
35
- if (!next[key]) return next;
36
- next[key] = { ...next[key] };
37
- delete next[key][name];
38
- if (Object.keys(next[key]).length === 0) delete next[key];
39
- return next;
40
- }
41
-
42
- export function writeConfig(path, config) {
43
- mkdirSync(dirname(path), { recursive: true });
44
- writeFileSync(path, `${JSON.stringify(config, undefined, 2)}\n`, "utf8");
45
- }