@jitera/connect 1.3.0 → 1.4.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.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +40 -0
- package/content/session-start-unconfigured.md +11 -0
- package/content/session-start.md +5 -4
- package/dist/adapters/cursor.js +1 -1
- package/dist/adapters/cursor.js.map +1 -1
- package/dist/bin/cli.js +2 -12
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/connect.js +3 -0
- package/dist/bin/connect.js.map +1 -1
- package/dist/bin/init.d.ts +3 -0
- package/dist/bin/init.d.ts.map +1 -0
- package/dist/bin/init.js +93 -0
- package/dist/bin/init.js.map +1 -0
- package/dist/bin/login.js +26 -3
- package/dist/bin/login.js.map +1 -1
- package/dist/bin/proxy.js +15 -1
- package/dist/bin/proxy.js.map +1 -1
- package/dist/hooks/session-start.js +27 -2
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/install/claude-code.d.ts +2 -0
- package/dist/install/claude-code.d.ts.map +1 -1
- package/dist/install/claude-code.js +28 -3
- package/dist/install/claude-code.js.map +1 -1
- package/dist/install/project-root.d.ts +2 -0
- package/dist/install/project-root.d.ts.map +1 -0
- package/dist/install/project-root.js +9 -0
- package/dist/install/project-root.js.map +1 -0
- package/dist/project-marker.d.ts +15 -0
- package/dist/project-marker.d.ts.map +1 -0
- package/dist/project-marker.js +59 -0
- package/dist/project-marker.js.map +1 -0
- package/dist/proxy.d.ts +6 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +13 -3
- package/dist/proxy.js.map +1 -1
- package/dist/select.d.ts +25 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +78 -0
- package/dist/select.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,6 +44,46 @@ codex plugin marketplace add jitera-product/connect
|
|
|
44
44
|
npx @jitera/connect
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
+
## shared instructions, committed to the repo
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
npx @jitera/connect init
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Optional. Writes three committable files at the root of the current git
|
|
54
|
+
repository: an AGENTS.md block for teammates whose assistants read repository
|
|
55
|
+
instructions natively rather than through the plugin, a CLAUDE.md that imports
|
|
56
|
+
it, and a .jitera.json recording which deployment this repository belongs to
|
|
57
|
+
(`--env=`, and optionally `--project=<uuid>`). Commit all three.
|
|
58
|
+
|
|
59
|
+
The .jitera.json marker is what teammates' sessions read: a teammate who has
|
|
60
|
+
not connected yet is told the exact login command for the right environment,
|
|
61
|
+
and a teammate whose plugin points at a different environment gets a mismatch
|
|
62
|
+
warning instead of silently reading the wrong project.
|
|
63
|
+
|
|
64
|
+
Refuses to run outside a git repository, because instructions written above a
|
|
65
|
+
repo are invisible to assistants that read AGENTS.md and leak into every
|
|
66
|
+
project below them. Connected sessions do not need AGENTS.md: the mcp server
|
|
67
|
+
delivers the same guidance itself.
|
|
68
|
+
|
|
69
|
+
## what applies where
|
|
70
|
+
|
|
71
|
+
The login configuration is global: one api key and one environment per user,
|
|
72
|
+
per machine, stored by `login --install`. Every repo you open uses it — the
|
|
73
|
+
plugin, skills, and hooks all work without any per-repo files, so `init` is
|
|
74
|
+
optional everywhere.
|
|
75
|
+
|
|
76
|
+
`.jitera.json` never configures anything. It only declares what the repo
|
|
77
|
+
expects, so a session can cross-check the global setting: a teammate who has
|
|
78
|
+
not connected yet is told the exact login command for the right environment,
|
|
79
|
+
and a mismatched environment gets a warning instead of silently reading the
|
|
80
|
+
wrong project.
|
|
81
|
+
|
|
82
|
+
One caveat: an api key is bound to a single project, so the global setting
|
|
83
|
+
means every repo on the machine reads that project's documentation and memory.
|
|
84
|
+
When one developer works across several projects, the marker makes the
|
|
85
|
+
mismatch visible; true per-repo binding is not supported yet.
|
|
86
|
+
|
|
47
87
|
## pilot and staging environments
|
|
48
88
|
|
|
49
89
|
claude code, at install:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
The project-context plugin is installed, but no API key is configured, so its
|
|
2
|
+
MCP tools are unavailable in this session. Do not call `recall_jitera_memory`
|
|
3
|
+
or `remember_jitera_memory`; the calls will fail.
|
|
4
|
+
|
|
5
|
+
If the user asks about project context, documentation, or shared memory, tell
|
|
6
|
+
them to connect this workspace by running:
|
|
7
|
+
|
|
8
|
+
npx @jitera/connect login --install
|
|
9
|
+
|
|
10
|
+
or by configuring the plugin from the /plugin menu, then restarting the
|
|
11
|
+
assistant.
|
package/content/session-start.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
Project context tools are
|
|
2
|
-
source, and a shared project memory.
|
|
1
|
+
Project context tools are configured for this workspace: project documentation,
|
|
2
|
+
source, and a shared project memory over MCP.
|
|
3
3
|
|
|
4
4
|
Before your first substantive answer in this session, and before planning or
|
|
5
|
-
implementing anything, call `recall_jitera_memory`. An empty result is normal
|
|
6
|
-
is not an error.
|
|
5
|
+
implementing anything, call `recall_jitera_memory`. An empty result is normal
|
|
6
|
+
and is not an error. If the tools are missing from your tool list or a call
|
|
7
|
+
fails, say so and continue without stored context instead of guessing.
|
|
7
8
|
|
|
8
9
|
As decisions are made, constraints are discovered, or you are corrected, persist
|
|
9
10
|
them with `remember_jitera_memory`. Recall the entity first and re-send its full
|
package/dist/adapters/cursor.js
CHANGED
|
@@ -27,7 +27,7 @@ export const cursor = {
|
|
|
27
27
|
},
|
|
28
28
|
skillsDirs({ scope, home, cwd }) {
|
|
29
29
|
const root = scope === "user" ? home : cwd;
|
|
30
|
-
return [join(root, ".agents", "skills")
|
|
30
|
+
return [join(root, ".agents", "skills")];
|
|
31
31
|
},
|
|
32
32
|
install(context) {
|
|
33
33
|
const path = this.mcpConfigPath(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,SAAS,WAAW,CAAC,MAAc,EAAE,MAA0B;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,WAAW,GAAG;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,KAAK;IAErB,MAAM,CAAC,EAAE,IAAI,EAAE;QACb,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAChC,OAAO,KAAK,KAAK,MAAM;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,SAAS,WAAW,CAAC,MAAc,EAAE,MAA0B;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,WAAW,GAAG;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,KAAK;IAErB,MAAM,CAAC,EAAE,IAAI,EAAE;QACb,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAChC,OAAO,KAAK,KAAK,MAAM;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,OAAuB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5F,CAAC;IAED,SAAS,CAAC,OAAuB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
|
package/dist/bin/cli.js
CHANGED
|
@@ -6,7 +6,6 @@ import { fileURLToPath } from "node:url";
|
|
|
6
6
|
import { codex } from "../adapters/codex.js";
|
|
7
7
|
import { cursor } from "../adapters/cursor.js";
|
|
8
8
|
import { MalformedConfigError } from "../mcp-config.js";
|
|
9
|
-
import { writeAgentsMd } from "../install/agents-md.js";
|
|
10
9
|
import { DEFAULT_BRAND } from "../install/render.js";
|
|
11
10
|
import { installSkills, uninstallSkills } from "../install/skills.js";
|
|
12
11
|
import { DiscoveryError, discoverDeployment } from "../discovery.js";
|
|
@@ -145,17 +144,6 @@ if (!args.skipSkills) {
|
|
|
145
144
|
process.stdout.write(skills.changed
|
|
146
145
|
? ` ${theme.ok("✓")} ${theme.bold("Skills")} ${theme.dim(`${skills.skills.length} ${skillVerb} ${targetDirs.join(", ")}`)}\n`
|
|
147
146
|
: ` ${theme.dim("–")} ${theme.bold("Skills")} ${theme.dim(`already up to date in ${targetDirs.join(", ")}`)}\n`);
|
|
148
|
-
if (!args.uninstall) {
|
|
149
|
-
const agents = writeAgentsMd({
|
|
150
|
-
packageRoot: PACKAGE_ROOT,
|
|
151
|
-
projectRoot: context.cwd,
|
|
152
|
-
values,
|
|
153
|
-
dryRun: args.dryRun,
|
|
154
|
-
});
|
|
155
|
-
process.stdout.write(agents.changed
|
|
156
|
-
? ` ${theme.ok("✓")} ${theme.bold("Instructions")} ${theme.dim(`${agents.agents.action} block in ${agents.agentsPath}`)}\n`
|
|
157
|
-
: ` ${theme.dim("–")} ${theme.bold("Instructions")} ${theme.dim(`already up to date in ${agents.agentsPath}`)}\n`);
|
|
158
|
-
}
|
|
159
147
|
}
|
|
160
148
|
if (args.dryRun) {
|
|
161
149
|
process.stdout.write(`\n ${theme.dim("dry run, nothing was written")}\n`);
|
|
@@ -163,5 +151,7 @@ if (args.dryRun) {
|
|
|
163
151
|
else if (!args.uninstall) {
|
|
164
152
|
process.stdout.write(`\n ${theme.dim("endpoint")} ${theme.accent(mcpUrl)}\n`);
|
|
165
153
|
process.stdout.write(` ${theme.dim("export JITERA_API_KEY=<your api key> before starting your assistant")}\n`);
|
|
154
|
+
process.stdout.write(` ${theme.dim("Optional:")} ${theme.accent("npx @jitera/connect init")} ` +
|
|
155
|
+
`${theme.dim("writes committable AGENTS.md instructions at the repo root")}\n`);
|
|
166
156
|
}
|
|
167
157
|
//# sourceMappingURL=cli.js.map
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/connect.js
CHANGED
package/dist/bin/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/bin/connect.ts"],"names":[],"mappings":";AACA,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3C,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;KAAM,CAAC;IACN,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/bin/connect.ts"],"names":[],"mappings":";AACA,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3C,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;KAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;IACjC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC;KAAM,CAAC;IACN,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":""}
|
package/dist/bin/init.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { DiscoveryError, discoverDeployment } from "../discovery.js";
|
|
5
|
+
import { UnknownEnvironmentError } from "../environments.js";
|
|
6
|
+
import { writeAgentsMd } from "../install/agents-md.js";
|
|
7
|
+
import { DEFAULT_BRAND } from "../install/render.js";
|
|
8
|
+
import { resolveGitRoot } from "../install/project-root.js";
|
|
9
|
+
import { writeProjectMarker } from "../project-marker.js";
|
|
10
|
+
import { createTheme } from "../theme.js";
|
|
11
|
+
const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
12
|
+
const USAGE = [
|
|
13
|
+
"usage: npx @jitera/connect init [--env=<environment>] [--project=<uuid>] [--dry-run]",
|
|
14
|
+
"",
|
|
15
|
+
"Writes the shared, committable connection files at the root of the current",
|
|
16
|
+
"git repository: an AGENTS.md block for assistants that read it natively, a",
|
|
17
|
+
"CLAUDE.md that imports it, and a .jitera.json recording which deployment",
|
|
18
|
+
"(and optionally which project) this repository belongs to. Commit all three",
|
|
19
|
+
"so your team's assistants see them.",
|
|
20
|
+
].join("\n");
|
|
21
|
+
function parseArgs(argv) {
|
|
22
|
+
const args = { dryRun: false, help: false };
|
|
23
|
+
for (const arg of argv) {
|
|
24
|
+
if (arg === "init")
|
|
25
|
+
continue;
|
|
26
|
+
else if (arg.startsWith("--env="))
|
|
27
|
+
args.environment = arg.slice("--env=".length);
|
|
28
|
+
else if (arg.startsWith("--project="))
|
|
29
|
+
args.project = arg.slice("--project=".length);
|
|
30
|
+
else if (arg === "--dry-run")
|
|
31
|
+
args.dryRun = true;
|
|
32
|
+
else if (arg === "--help" || arg === "-h")
|
|
33
|
+
args.help = true;
|
|
34
|
+
else
|
|
35
|
+
args.unknown = arg;
|
|
36
|
+
}
|
|
37
|
+
return args;
|
|
38
|
+
}
|
|
39
|
+
const theme = createTheme({ env: process.env, isTty: Boolean(process.stdout.isTTY) });
|
|
40
|
+
const args = parseArgs(process.argv.slice(2));
|
|
41
|
+
if (args.help) {
|
|
42
|
+
process.stdout.write(`${USAGE}\n`);
|
|
43
|
+
process.exit(0);
|
|
44
|
+
}
|
|
45
|
+
if (args.unknown) {
|
|
46
|
+
process.stderr.write(`error: unrecognised argument "${args.unknown}"\n${USAGE}\n`);
|
|
47
|
+
process.exit(2);
|
|
48
|
+
}
|
|
49
|
+
const projectRoot = resolveGitRoot(process.cwd());
|
|
50
|
+
if (!projectRoot) {
|
|
51
|
+
process.stderr.write("error: not inside a git repository. Instructions written outside a repository " +
|
|
52
|
+
"are invisible to assistants that read AGENTS.md from the repository root, and " +
|
|
53
|
+
"an out-of-repo CLAUDE.md leaks into every project below it. Run this from " +
|
|
54
|
+
"inside the repository you want to connect.\n");
|
|
55
|
+
process.exit(2);
|
|
56
|
+
}
|
|
57
|
+
let brand = DEFAULT_BRAND;
|
|
58
|
+
try {
|
|
59
|
+
const deployment = await discoverDeployment({
|
|
60
|
+
environment: args.environment,
|
|
61
|
+
studioUrl: process.env["JITERA_STUDIO_URL"],
|
|
62
|
+
});
|
|
63
|
+
brand = deployment.brand;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof UnknownEnvironmentError) {
|
|
67
|
+
process.stderr.write(`error: ${error.message}\n`);
|
|
68
|
+
process.exit(2);
|
|
69
|
+
}
|
|
70
|
+
if (!(error instanceof DiscoveryError))
|
|
71
|
+
throw error;
|
|
72
|
+
process.stdout.write(` ${theme.dim(`offline, using the default brand "${brand}"`)}\n`);
|
|
73
|
+
}
|
|
74
|
+
const result = writeAgentsMd({
|
|
75
|
+
packageRoot: PACKAGE_ROOT,
|
|
76
|
+
projectRoot,
|
|
77
|
+
values: { BRAND: brand },
|
|
78
|
+
dryRun: args.dryRun,
|
|
79
|
+
});
|
|
80
|
+
process.stdout.write(` ${result.agents.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold("AGENTS.md")} ${theme.dim(`${result.agents.action} in ${result.agentsPath}`)}\n`);
|
|
81
|
+
process.stdout.write(` ${result.claude.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold("CLAUDE.md")} ${theme.dim(`${result.claude.action} in ${result.claudePath}`)}\n`);
|
|
82
|
+
const marker = writeProjectMarker(projectRoot, {
|
|
83
|
+
environment: args.environment ?? "studio",
|
|
84
|
+
...(args.project ? { project: args.project } : {}),
|
|
85
|
+
}, args.dryRun);
|
|
86
|
+
process.stdout.write(` ${marker.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold(".jitera.json")} ${theme.dim(`environment "${args.environment ?? "studio"}"${args.project ? `, project ${args.project}` : ""}`)}\n`);
|
|
87
|
+
if (args.dryRun) {
|
|
88
|
+
process.stdout.write(`\n ${theme.dim("dry run, nothing was written")}\n`);
|
|
89
|
+
}
|
|
90
|
+
else if (result.changed || marker.changed) {
|
|
91
|
+
process.stdout.write(`\n ${theme.dim("Commit these files so the whole team's assistants read them.")}\n`);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAU/E,MAAM,KAAK,GAAG;IACZ,sFAAsF;IACtF,EAAE;IACF,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,qCAAqC;CACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,SAAS,CAAC,IAAuB;IACxC,MAAM,IAAI,GAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS;aACxB,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC5E,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aAChF,IAAI,GAAG,KAAK,WAAW;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aAC5C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;YACvD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACtF,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC;IACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAClD,IAAI,CAAC,WAAW,EAAE,CAAC;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gFAAgF;QAC9E,gFAAgF;QAChF,4EAA4E;QAC5E,8CAA8C,CACjD,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,KAAK,GAAG,aAAa,CAAC;AAC1B,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAC5C,CAAC,CAAC;IACH,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3B,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC;QAAE,MAAM,KAAK,CAAC;IACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,qCAAqC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,MAAM,GAAG,aAAa,CAAC;IAC3B,WAAW,EAAE,YAAY;IACzB,WAAW;IACX,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM;CACpB,CAAC,CAAC;AAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,CACjG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,UAAU,EAAE,CAClD,IAAI,CACN,CAAC;AACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,CACjG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,UAAU,EAAE,CAClD,IAAI,CACN,CAAC;AAEF,MAAM,MAAM,GAAG,kBAAkB,CAC/B,WAAW,EACX;IACE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ;IACzC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACnD,EACD,IAAI,CAAC,MAAM,CACZ,CAAC;AACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAC7F,gBAAgB,IAAI,CAAC,WAAW,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAClG,IAAI,CACN,CAAC;AAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;KAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,OAAO,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,IAAI,CACrF,CAAC;AACJ,CAAC"}
|
package/dist/bin/login.js
CHANGED
|
@@ -5,8 +5,8 @@ import { UnknownEnvironmentError } from "../environments.js";
|
|
|
5
5
|
import { DeviceFlowError, pollForAccessToken, requestDeviceAuthorization, } from "../device-flow.js";
|
|
6
6
|
import { GraphqlError, createApiKey, listOrganisations, listProjects, } from "../graphql.js";
|
|
7
7
|
import { createTheme, heading, startSpinner } from "../theme.js";
|
|
8
|
+
import { SelectCancelledError, interactiveSelect } from "../select.js";
|
|
8
9
|
import { installClaudeCodePlugin } from "../install/claude-code.js";
|
|
9
|
-
import { writeAgentsMd } from "../install/agents-md.js";
|
|
10
10
|
import { installSkills } from "../install/skills.js";
|
|
11
11
|
import { codex } from "../adapters/codex.js";
|
|
12
12
|
import { cursor } from "../adapters/cursor.js";
|
|
@@ -121,6 +121,23 @@ catch (error) {
|
|
|
121
121
|
}
|
|
122
122
|
const transport = { automationUrl, accessToken };
|
|
123
123
|
async function choose(items, prompt, label) {
|
|
124
|
+
if (process.stdin.isTTY && process.stdout.isTTY) {
|
|
125
|
+
try {
|
|
126
|
+
return await interactiveSelect({
|
|
127
|
+
items,
|
|
128
|
+
prompt,
|
|
129
|
+
label,
|
|
130
|
+
theme,
|
|
131
|
+
input: process.stdin,
|
|
132
|
+
output: process.stdout,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (error instanceof SelectCancelledError)
|
|
137
|
+
fail("cancelled.", 130);
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
124
141
|
process.stdout.write(`\n ${theme.bold(prompt)}\n\n`);
|
|
125
142
|
items.forEach((item, index) => {
|
|
126
143
|
process.stdout.write(` ${theme.accent(String(index + 1).padStart(2))} ${label(item)}\n`);
|
|
@@ -153,6 +170,7 @@ if (!projectUuid) {
|
|
|
153
170
|
}
|
|
154
171
|
else if (!organisation && organisations.length > 1) {
|
|
155
172
|
organisation = await choose(organisations, "Which organisation?", (org) => `${org.name ?? org.slug}${org.personal ? " (personal)" : ""}`);
|
|
173
|
+
process.stdout.write(`\n ${theme.dim("Organisation")} ${organisation.name ?? organisation.slug}\n`);
|
|
156
174
|
}
|
|
157
175
|
let projects;
|
|
158
176
|
try {
|
|
@@ -179,6 +197,7 @@ if (!projectUuid) {
|
|
|
179
197
|
else {
|
|
180
198
|
const choice = await choose(manageable, "Which project?", (project) => project.name);
|
|
181
199
|
projectUuid = choice.uuid;
|
|
200
|
+
process.stdout.write(` ${theme.dim("Project")} ${choice.name}\n`);
|
|
182
201
|
}
|
|
183
202
|
}
|
|
184
203
|
let created;
|
|
@@ -198,6 +217,9 @@ if (args.install) {
|
|
|
198
217
|
process.stdout.write(claude.installed
|
|
199
218
|
? `\n ${theme.ok("✓")} ${theme.bold("Claude Code")} ${theme.dim("configured, key stored in your keychain")}\n`
|
|
200
219
|
: `\n ${theme.dim("–")} ${theme.bold("Claude Code")} ${theme.dim(`skipped (${claude.reason})`)}\n`);
|
|
220
|
+
if (!claude.installed) {
|
|
221
|
+
process.stdout.write(` ${theme.dim("Run /plugin inside Claude Code to install and configure jitera-connect manually.")}\n`);
|
|
222
|
+
}
|
|
201
223
|
const context = {
|
|
202
224
|
scope: "user",
|
|
203
225
|
home: homedir(),
|
|
@@ -213,9 +235,10 @@ if (args.install) {
|
|
|
213
235
|
}
|
|
214
236
|
const targetDirs = [...new Set(local.flatMap((adapter) => adapter.skillsDirs(context)))];
|
|
215
237
|
installSkills({ packageRoot, targetDirs, values });
|
|
216
|
-
|
|
217
|
-
process.stdout.write(` ${theme.ok("✓")} ${theme.dim("Skills and AGENTS.md written")}\n`);
|
|
238
|
+
process.stdout.write(` ${theme.ok("✓")} ${theme.dim("Skills written")}\n`);
|
|
218
239
|
}
|
|
240
|
+
process.stdout.write(`\n ${theme.dim("Optional:")} ${theme.accent("npx @jitera/connect init")} ` +
|
|
241
|
+
`${theme.dim("writes committable AGENTS.md instructions at a repo root")}\n`);
|
|
219
242
|
}
|
|
220
243
|
if (args.json) {
|
|
221
244
|
process.stdout.write(`${JSON.stringify({ apiKey: created.rawKey, maskedKey: created.maskedKey, projectUuid, mcpAccess: args.access }, undefined, 2)}\n`);
|
package/dist/bin/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAczC,MAAM,KAAK,GAAG;IACZ,kEAAkE;IAClE,EAAE;IACF,4DAA4D;IAC5D,qDAAqD;IACrD,kEAAkE;IAClE,yEAAyE;IACzE,iDAAiD;IACjD,iDAAiD;IACjD,mEAAmE;CACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,SAAS,CAAC,IAAuB;IACxC,MAAM,IAAI,GAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACjH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,OAAO;YAAE,SAAS;aACzB,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC5E,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC7E,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aAChF,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aAC1E,IAAI,GAAG,KAAK,aAAa;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;aAChD,IAAI,GAAG,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aACvC,IAAI,GAAG,KAAK,WAAW;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aAC7C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;YACvD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAEtF,SAAS,IAAI,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC;IACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;AAC/D,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;AACjD,IAAI,KAAK,GAAG,QAAQ,CAAC;AACrB,IAAI,CAAC,aAAa,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;YAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC5C,CAAC,CAAC;QACH,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QACzC,MAAM,GAAG,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;QACrC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAuB;YAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,KAAK,YAAY,cAAc;YAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACnB,IAAI,CAAC,kFAAkF,CAAC,CAAC;AAC3F,CAAC;AAED,IAAI,aAAa,CAAC;AAClB,IAAI,CAAC;IACH,aAAa,GAAG,MAAM,0BAA0B,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;AACtE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,eAAe;QAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC;AACd,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC,uBAAuB,IAAI,aAAa,CAAC,eAAe,CAAC;AACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;AAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE1F,MAAM,OAAO,GAAG,YAAY,CAAC;IAC3B,KAAK;IACL,KAAK,EAAE,uBAAuB;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC;AAEH,IAAI,WAAW,CAAC;AAChB,IAAI,CAAC;IACH,WAAW,GAAG,MAAM,kBAAkB,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACtC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,eAAe;QAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AAEjD,KAAK,UAAU,MAAM,CACnB,KAAmB,EACnB,MAAc,EACd,KAA0B;IAE1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IACpF,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,qCAAqC,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;IACjB,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;QAC7B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CACF,aAAa,CAAC,MAAM;YAClB,CAAC,CAAC,8BAA8B,IAAI,CAAC,YAAY,iBAAiB,aAAa;iBAC1E,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;iBACtB,IAAI,CAAC,IAAI,CAAC,EAAE;YACjB,CAAC,CAAC,8BAA8B,IAAI,CAAC,YAAY,IAAI,CACxD,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,GAA6B,KAAK,CAAC;IACnD,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,YAAY,EAAE,IAAI,IAAI,YAAY,EAAE,IAAI,IAAI,CAClF,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,YAAY,GAAG,MAAM,MAAM,CACzB,aAAa,EACb,qBAAqB,EACrB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,6CAA6C,KAAK,GAAG,CAAC,CAAC;IAEvF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,CACF,eAAe,QAAQ,CAAC,MAAM,cAAc,KAAK,mCAAmC;YAClF,2EAA2E;YAC3E,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrF,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC;AACZ,IAAI,CAAC;IACH,OAAO,GAAG,MAAM,YAAY,CAC1B,EAAE,WAAW,EAAE,WAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAClF,SAAS,CACV,CAAC;AACJ,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,YAAY,YAAY;QAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM,CAAC,SAAS;QACd,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,IAAI;QAC/G,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACtG,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,MAAe;QACtB,IAAI,EAAE,OAAO,EAAE;QACf,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CACnI,CAAC;AACJ,CAAC;KAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,OAAO,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,MAAM,CACnH,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,CACpH,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/proxy.js
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
2
5
|
import { DiscoveryError } from "../discovery.js";
|
|
3
6
|
import { UnknownEnvironmentError } from "../environments.js";
|
|
7
|
+
import { render } from "../install/render.js";
|
|
4
8
|
import { configFromEnvironment, runProxy } from "../proxy.js";
|
|
9
|
+
const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
10
|
+
function loadInstructions(brand) {
|
|
11
|
+
try {
|
|
12
|
+
const template = readFileSync(join(PACKAGE_ROOT, "content", "instructions.md"), "utf8");
|
|
13
|
+
return render(template, { BRAND: brand });
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
5
19
|
if (!process.env["JITERA_API_KEY"]) {
|
|
6
20
|
process.stderr.write("jitera-connect proxy: no api key configured. Run /plugin configure jitera-connect.\n");
|
|
7
21
|
process.exit(2);
|
|
@@ -15,5 +29,5 @@ catch (error) {
|
|
|
15
29
|
process.stderr.write(`jitera-connect proxy: ${known ? error.message : String(error)}\n`);
|
|
16
30
|
process.exit(2);
|
|
17
31
|
}
|
|
18
|
-
await runProxy(config, { input: process.stdin, output: process.stdout, log: process.stderr });
|
|
32
|
+
await runProxy({ url: config.url, apiKey: config.apiKey, instructions: loadInstructions(config.brand) }, { input: process.stdin, output: process.stdout, log: process.stderr });
|
|
19
33
|
//# sourceMappingURL=proxy.js.map
|
package/dist/bin/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/bin/proxy.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sFAAsF,CACvF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,MAAM,CAAC;AACX,IAAI,CAAC;IACH,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,cAAc,CAAC;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,CAAC,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/bin/proxy.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/E,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;QACxF,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sFAAsF,CACvF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,MAAM,CAAC;AACX,IAAI,CAAC;IACH,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,cAAc,CAAC;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,CAAC,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,QAAQ,CACZ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxF,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CACtE,CAAC"}
|
|
@@ -3,14 +3,39 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { join, dirname } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { emitContext, readHookInput } from "../hook-io.js";
|
|
6
|
+
import { readProjectMarker } from "../project-marker.js";
|
|
6
7
|
const CONTENT_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "content");
|
|
7
|
-
readHookInput();
|
|
8
|
+
const input = readHookInput();
|
|
9
|
+
// Claude Code exports plugin userConfig to hooks as CLAUDE_PLUGIN_OPTION_<KEY>.
|
|
10
|
+
// Without a key the mcp server cannot start, so claiming the tools exist would
|
|
11
|
+
// teach the model to call tools that are not there.
|
|
12
|
+
const apiKey = (process.env["CLAUDE_PLUGIN_OPTION_JITERA_API_KEY"] ?? "").trim();
|
|
13
|
+
const configuredEnvironment = (process.env["CLAUDE_PLUGIN_OPTION_ENVIRONMENT"] ?? "").trim();
|
|
14
|
+
const file = apiKey ? "session-start.md" : "session-start-unconfigured.md";
|
|
8
15
|
let directive;
|
|
9
16
|
try {
|
|
10
|
-
directive = readFileSync(join(CONTENT_ROOT,
|
|
17
|
+
directive = readFileSync(join(CONTENT_ROOT, file), "utf8").trim();
|
|
11
18
|
}
|
|
12
19
|
catch {
|
|
13
20
|
process.exit(0);
|
|
14
21
|
}
|
|
22
|
+
// A committed .jitera.json binds the repository to a deployment, so teammates
|
|
23
|
+
// who have not connected yet get the exact command, and a mismatched plugin
|
|
24
|
+
// configuration is called out instead of silently reading the wrong project.
|
|
25
|
+
const marker = readProjectMarker(input.cwd ?? process.cwd());
|
|
26
|
+
if (marker?.environment) {
|
|
27
|
+
const login = `npx @jitera/connect login --env=${marker.environment} --install`;
|
|
28
|
+
if (!apiKey) {
|
|
29
|
+
directive +=
|
|
30
|
+
`\n\nThis repository declares its connection in .jitera.json ` +
|
|
31
|
+
`(environment "${marker.environment}"). Suggest the user connects with:\n\n ${login}`;
|
|
32
|
+
}
|
|
33
|
+
else if (configuredEnvironment && configuredEnvironment !== marker.environment) {
|
|
34
|
+
directive +=
|
|
35
|
+
`\n\nNote: this repository's .jitera.json declares environment ` +
|
|
36
|
+
`"${marker.environment}", but the plugin is configured for "${configuredEnvironment}". ` +
|
|
37
|
+
`Project context may come from the wrong deployment. Suggest rebinding with:\n\n ${login}`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
15
40
|
emitContext("SessionStart", directive);
|
|
16
41
|
//# sourceMappingURL=session-start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAE1F,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;AAE9B,gFAAgF;AAChF,+EAA+E;AAC/E,oDAAoD;AACpD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACjF,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,+BAA+B,CAAC;AAE3E,IAAI,SAAiB,CAAC;AACtB,IAAI,CAAC;IACH,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACpE,CAAC;AAAC,MAAM,CAAC;IACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7D,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,mCAAmC,MAAM,CAAC,WAAW,YAAY,CAAC;IAChF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,SAAS;YACP,8DAA8D;gBAC9D,iBAAiB,MAAM,CAAC,WAAW,8CAA8C,KAAK,EAAE,CAAC;IAC7F,CAAC;SAAM,IAAI,qBAAqB,IAAI,qBAAqB,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QACjF,SAAS;YACP,gEAAgE;gBAChE,IAAI,MAAM,CAAC,WAAW,wCAAwC,qBAAqB,KAAK;gBACxF,sFAAsF,KAAK,EAAE,CAAC;IAClG,CAAC;AACH,CAAC;AAED,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export declare const MARKETPLACE = "jitera-product/connect";
|
|
2
|
+
export declare const MARKETPLACE_NAME = "jitera";
|
|
2
3
|
export declare const PLUGIN_NAME = "jitera-connect";
|
|
3
4
|
export interface CommandRunner {
|
|
4
5
|
(command: string, args: readonly string[]): {
|
|
5
6
|
status: number;
|
|
7
|
+
stdout: string;
|
|
6
8
|
stderr: string;
|
|
7
9
|
};
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAWD,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,aAA6B,GAAG,OAAO,CAEjF;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,WAAW,EACX,GAAmB,GACpB,EAAE,oBAAoB,GAAG,mBAAmB,CAgD5C"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
2
|
export const MARKETPLACE = "jitera-product/connect";
|
|
3
|
+
export const MARKETPLACE_NAME = "jitera";
|
|
3
4
|
export const PLUGIN_NAME = "jitera-connect";
|
|
4
5
|
const defaultRunner = (command, args) => {
|
|
5
6
|
const result = spawnSync(command, [...args], { encoding: "utf8" });
|
|
6
|
-
return {
|
|
7
|
+
return {
|
|
8
|
+
status: result.status ?? 1,
|
|
9
|
+
stdout: result.stdout ?? "",
|
|
10
|
+
stderr: result.stderr ?? "",
|
|
11
|
+
};
|
|
7
12
|
};
|
|
8
13
|
export function isClaudeCodeAvailable(run = defaultRunner) {
|
|
9
14
|
return run("claude", ["--version"]).status === 0;
|
|
@@ -16,17 +21,37 @@ export function installClaudeCodePlugin({ apiKey, environment, run = defaultRunn
|
|
|
16
21
|
if (marketplace.status !== 0 && !/already/i.test(marketplace.stderr)) {
|
|
17
22
|
return { installed: false, reason: marketplace.stderr.trim() || "could not add the marketplace" };
|
|
18
23
|
}
|
|
24
|
+
// A stale clone serves an old manifest whose userConfig schema no longer
|
|
25
|
+
// matches this cli, so the install below would reject --config. Best-effort:
|
|
26
|
+
// the "not applied" check still catches a refresh that failed.
|
|
27
|
+
run("claude", ["plugin", "marketplace", "update", MARKETPLACE_NAME]);
|
|
28
|
+
// `plugin install` no-ops on an existing install without re-resolving the
|
|
29
|
+
// version or re-applying --config. Removing first makes install idempotent.
|
|
30
|
+
run("claude", ["plugin", "uninstall", `${PLUGIN_NAME}@${MARKETPLACE_NAME}`]);
|
|
19
31
|
const install = run("claude", [
|
|
20
32
|
"plugin",
|
|
21
33
|
"install",
|
|
22
|
-
PLUGIN_NAME
|
|
34
|
+
`${PLUGIN_NAME}@${MARKETPLACE_NAME}`,
|
|
23
35
|
"--config",
|
|
24
36
|
`environment=${environment}`,
|
|
25
37
|
"--config",
|
|
26
38
|
`jitera_api_key=${apiKey}`,
|
|
27
39
|
]);
|
|
28
40
|
if (install.status !== 0) {
|
|
29
|
-
return {
|
|
41
|
+
return {
|
|
42
|
+
installed: false,
|
|
43
|
+
reason: install.stderr.trim() || install.stdout.trim() || "the plugin install failed",
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// The cli exits 0 while rejecting --config with only a warning, which would
|
|
47
|
+
// leave the mcp server unconfigurable and silently absent from sessions.
|
|
48
|
+
const output = `${install.stdout}\n${install.stderr}`;
|
|
49
|
+
if (/not applied/i.test(output)) {
|
|
50
|
+
const warning = output
|
|
51
|
+
.split("\n")
|
|
52
|
+
.find((line) => /not applied/i.test(line))
|
|
53
|
+
?.trim();
|
|
54
|
+
return { installed: false, reason: warning ?? "the plugin config was not applied" };
|
|
30
55
|
}
|
|
31
56
|
return { installed: true };
|
|
32
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAM5C,MAAM,aAAa,GAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/install/project-root.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK9D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
export function resolveGitRoot(cwd) {
|
|
3
|
+
const result = spawnSync("git", ["rev-parse", "--show-toplevel"], { cwd, encoding: "utf8" });
|
|
4
|
+
if (result.status !== 0)
|
|
5
|
+
return undefined;
|
|
6
|
+
const root = result.stdout.trim();
|
|
7
|
+
return root || undefined;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=project-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/install/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const MARKER_FILENAME = ".jitera.json";
|
|
2
|
+
export interface ProjectMarker {
|
|
3
|
+
readonly environment?: string | undefined;
|
|
4
|
+
readonly project?: string | undefined;
|
|
5
|
+
}
|
|
6
|
+
export interface FoundProjectMarker extends ProjectMarker {
|
|
7
|
+
readonly path: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function readProjectMarker(startDir: string): FoundProjectMarker | undefined;
|
|
10
|
+
export interface MarkerWriteResult {
|
|
11
|
+
readonly path: string;
|
|
12
|
+
readonly changed: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function writeProjectMarker(root: string, marker: ProjectMarker, dryRun?: boolean): MarkerWriteResult;
|
|
15
|
+
//# sourceMappingURL=project-marker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-marker.d.ts","sourceRoot":"","sources":["../src/project-marker.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAM9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAyBlF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,MAAM,UAAQ,GACb,iBAAiB,CAuBnB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
export const MARKER_FILENAME = ".jitera.json";
|
|
4
|
+
// Environments are studio, studio-stage, studio-NN. Anything else in the file
|
|
5
|
+
// is not echoed back into session context.
|
|
6
|
+
const SAFE_ENVIRONMENT = /^[A-Za-z0-9-]{1,64}$/;
|
|
7
|
+
export function readProjectMarker(startDir) {
|
|
8
|
+
let dir = startDir;
|
|
9
|
+
for (;;) {
|
|
10
|
+
const path = join(dir, MARKER_FILENAME);
|
|
11
|
+
if (existsSync(path)) {
|
|
12
|
+
let parsed;
|
|
13
|
+
try {
|
|
14
|
+
parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const environment = parsed["environment"];
|
|
20
|
+
const project = parsed["project"];
|
|
21
|
+
return {
|
|
22
|
+
path,
|
|
23
|
+
...(typeof environment === "string" && SAFE_ENVIRONMENT.test(environment)
|
|
24
|
+
? { environment }
|
|
25
|
+
: {}),
|
|
26
|
+
...(typeof project === "string" ? { project } : {}),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const parent = dirname(dir);
|
|
30
|
+
if (parent === dir)
|
|
31
|
+
return undefined;
|
|
32
|
+
dir = parent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function writeProjectMarker(root, marker, dryRun = false) {
|
|
36
|
+
const path = join(root, MARKER_FILENAME);
|
|
37
|
+
let existing = {};
|
|
38
|
+
let before;
|
|
39
|
+
if (existsSync(path)) {
|
|
40
|
+
before = readFileSync(path, "utf8");
|
|
41
|
+
try {
|
|
42
|
+
existing = JSON.parse(before);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
existing = {};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const next = {
|
|
49
|
+
...existing,
|
|
50
|
+
...(marker.environment ? { environment: marker.environment } : {}),
|
|
51
|
+
...(marker.project ? { project: marker.project } : {}),
|
|
52
|
+
};
|
|
53
|
+
const serialized = `${JSON.stringify(next, undefined, 2)}\n`;
|
|
54
|
+
const changed = before !== serialized;
|
|
55
|
+
if (changed && !dryRun)
|
|
56
|
+
writeFileSync(path, serialized, "utf8");
|
|
57
|
+
return { path, changed };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=project-marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-marker.js","sourceRoot":"","sources":["../src/project-marker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C,8EAA8E;AAC9E,2CAA2C;AAC3C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAWhD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,MAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO;gBACL,IAAI;gBACJ,GAAG,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;oBACvE,CAAC,CAAC,EAAE,WAAW,EAAE;oBACjB,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACrC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAAqB,EACrB,MAAM,GAAG,KAAK;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAEzC,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,MAA0B,CAAC;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG;QACX,GAAG,QAAQ;QACX,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,KAAK,UAAU,CAAC;IACtC,IAAI,OAAO,IAAI,CAAC,MAAM;QAAE,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
|
package/dist/proxy.d.ts
CHANGED
|
@@ -6,7 +6,11 @@ export interface ProxyStreams {
|
|
|
6
6
|
export interface ProxyConfig {
|
|
7
7
|
readonly url: string;
|
|
8
8
|
readonly apiKey: string;
|
|
9
|
+
readonly instructions?: string | undefined;
|
|
9
10
|
}
|
|
10
|
-
export declare function runProxy({ url, apiKey }: ProxyConfig, { input, output, log }: ProxyStreams): Promise<void>;
|
|
11
|
-
export
|
|
11
|
+
export declare function runProxy({ url, apiKey, instructions }: ProxyConfig, { input, output, log }: ProxyStreams): Promise<void>;
|
|
12
|
+
export interface ProxyEnvironment extends ProxyConfig {
|
|
13
|
+
readonly brand: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function configFromEnvironment(env: NodeJS.ProcessEnv): Promise<ProxyEnvironment>;
|
|
12
16
|
//# sourceMappingURL=proxy.d.ts.map
|
package/dist/proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAiBD,wBAAsB,QAAQ,CAC5B,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,WAAW,EAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,GACnC,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAW7F"}
|
package/dist/proxy.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createInterface } from "node:readline";
|
|
2
2
|
import { discoverDeployment } from "./discovery.js";
|
|
3
|
+
import { DEFAULT_BRAND } from "./install/render.js";
|
|
3
4
|
import { McpCallError, postRpc } from "./mcp-client.js";
|
|
4
5
|
const REQUEST_TIMEOUT_MS = 30_000;
|
|
5
6
|
function isNotification(request) {
|
|
@@ -8,7 +9,13 @@ function isNotification(request) {
|
|
|
8
9
|
function errorResponse(id, code, message) {
|
|
9
10
|
return JSON.stringify({ jsonrpc: "2.0", id, error: { code, message } });
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
+
function injectInstructions(response, instructions) {
|
|
13
|
+
const result = response?.result;
|
|
14
|
+
if (result && typeof result === "object" && !result["instructions"]) {
|
|
15
|
+
result["instructions"] = instructions;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export async function runProxy({ url, apiKey, instructions }, { input, output, log }) {
|
|
12
19
|
const lines = createInterface({ input, crlfDelay: Infinity });
|
|
13
20
|
for await (const line of lines) {
|
|
14
21
|
const trimmed = line.trim();
|
|
@@ -34,6 +41,9 @@ export async function runProxy({ url, apiKey }, { input, output, log }) {
|
|
|
34
41
|
}
|
|
35
42
|
continue;
|
|
36
43
|
}
|
|
44
|
+
if (request.method === "initialize" && instructions) {
|
|
45
|
+
injectInstructions(response, instructions);
|
|
46
|
+
}
|
|
37
47
|
if (!isNotification(request) && response) {
|
|
38
48
|
output.write(`${JSON.stringify(response)}\n`);
|
|
39
49
|
}
|
|
@@ -43,12 +53,12 @@ export async function configFromEnvironment(env) {
|
|
|
43
53
|
const apiKey = env["JITERA_API_KEY"] ?? "";
|
|
44
54
|
const override = env["JITERA_MCP_URL"] ?? "";
|
|
45
55
|
if (override)
|
|
46
|
-
return { url: override, apiKey };
|
|
56
|
+
return { url: override, apiKey, brand: DEFAULT_BRAND };
|
|
47
57
|
const environment = env["JITERA_ENVIRONMENT"] ?? "";
|
|
48
58
|
const deployment = await discoverDeployment({
|
|
49
59
|
environment,
|
|
50
60
|
studioUrl: env["JITERA_STUDIO_URL"],
|
|
51
61
|
});
|
|
52
|
-
return { url: deployment.mcpUrl, apiKey };
|
|
62
|
+
return { url: deployment.mcpUrl, apiKey, brand: deployment.brand };
|
|
53
63
|
}
|
|
54
64
|
//# sourceMappingURL=proxy.js.map
|
package/dist/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAuB,MAAM,iBAAiB,CAAC;AAE7E,MAAM,kBAAkB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/select.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Theme } from "./theme.ts";
|
|
2
|
+
export declare class SelectCancelledError extends Error {
|
|
3
|
+
readonly name = "SelectCancelledError";
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
export interface SelectInput {
|
|
7
|
+
setRawMode?(mode: boolean): unknown;
|
|
8
|
+
resume?(): unknown;
|
|
9
|
+
pause?(): unknown;
|
|
10
|
+
on(event: "data", listener: (chunk: Buffer | string) => void): unknown;
|
|
11
|
+
off(event: "data", listener: (chunk: Buffer | string) => void): unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface SelectOutput {
|
|
14
|
+
write(chunk: string): unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface SelectOptions<T> {
|
|
17
|
+
readonly items: readonly T[];
|
|
18
|
+
readonly prompt: string;
|
|
19
|
+
readonly label: (item: T) => string;
|
|
20
|
+
readonly theme: Theme;
|
|
21
|
+
readonly input: SelectInput;
|
|
22
|
+
readonly output: SelectOutput;
|
|
23
|
+
}
|
|
24
|
+
export declare function interactiveSelect<T>({ items, prompt, label, theme, input, output }: SelectOptions<T>): Promise<T>;
|
|
25
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../src/select.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAkB,IAAI,0BAA0B;IAEhD,cAEC;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACpC,MAAM,CAAC,IAAI,OAAO,CAAC;IACnB,KAAK,CAAC,IAAI,OAAO,CAAC;IAClB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IACvE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;CACzE;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAqBD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA2DjH"}
|
package/dist/select.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export class SelectCancelledError extends Error {
|
|
2
|
+
name = "SelectCancelledError";
|
|
3
|
+
constructor() {
|
|
4
|
+
super("selection cancelled");
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function parseKey(sequence, count) {
|
|
8
|
+
if (sequence === "" || sequence === "")
|
|
9
|
+
return { kind: "cancel" };
|
|
10
|
+
if (sequence === "\r" || sequence === "\n" || sequence === "\r\n")
|
|
11
|
+
return { kind: "confirm" };
|
|
12
|
+
if (sequence === "[A" || sequence === "OA" || sequence === "k")
|
|
13
|
+
return { kind: "move", delta: -1 };
|
|
14
|
+
if (sequence === "[B" || sequence === "OB" || sequence === "j")
|
|
15
|
+
return { kind: "move", delta: 1 };
|
|
16
|
+
if (/^[1-9]$/.test(sequence)) {
|
|
17
|
+
const index = Number(sequence) - 1;
|
|
18
|
+
if (index < count)
|
|
19
|
+
return { kind: "jump", index };
|
|
20
|
+
}
|
|
21
|
+
return { kind: "none" };
|
|
22
|
+
}
|
|
23
|
+
export function interactiveSelect({ items, prompt, label, theme, input, output }) {
|
|
24
|
+
if (items.length === 0) {
|
|
25
|
+
return Promise.reject(new Error("there is nothing to select from"));
|
|
26
|
+
}
|
|
27
|
+
return new Promise((resolve, reject) => {
|
|
28
|
+
let highlighted = 0;
|
|
29
|
+
const row = (index) => {
|
|
30
|
+
const text = label(items[index]);
|
|
31
|
+
return index === highlighted ? ` ${theme.accent("❯")} ${theme.bold(text)}` : ` ${text}`;
|
|
32
|
+
};
|
|
33
|
+
const paintItems = () => {
|
|
34
|
+
for (let index = 0; index < items.length; index += 1) {
|
|
35
|
+
output.write(`\r[2K${row(index)}\n`);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const repaint = () => {
|
|
39
|
+
output.write(`[${items.length}A`);
|
|
40
|
+
paintItems();
|
|
41
|
+
};
|
|
42
|
+
// Everything drawn (blank line, prompt, blank line, one line per item) is
|
|
43
|
+
// erased again on the way out, so the caller decides what remains on screen.
|
|
44
|
+
const finish = () => {
|
|
45
|
+
input.off("data", onData);
|
|
46
|
+
input.setRawMode?.(false);
|
|
47
|
+
input.pause?.();
|
|
48
|
+
output.write(`[${items.length + 3}A\r[J`);
|
|
49
|
+
output.write("[?25h");
|
|
50
|
+
};
|
|
51
|
+
const onData = (chunk) => {
|
|
52
|
+
const action = parseKey(chunk.toString(), items.length);
|
|
53
|
+
if (action.kind === "move") {
|
|
54
|
+
highlighted = (highlighted + action.delta + items.length) % items.length;
|
|
55
|
+
repaint();
|
|
56
|
+
}
|
|
57
|
+
else if (action.kind === "jump") {
|
|
58
|
+
highlighted = action.index;
|
|
59
|
+
repaint();
|
|
60
|
+
}
|
|
61
|
+
else if (action.kind === "confirm") {
|
|
62
|
+
finish();
|
|
63
|
+
resolve(items[highlighted]);
|
|
64
|
+
}
|
|
65
|
+
else if (action.kind === "cancel") {
|
|
66
|
+
finish();
|
|
67
|
+
reject(new SelectCancelledError());
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
output.write("[?25l");
|
|
71
|
+
output.write(`\n ${theme.bold(prompt)} ${theme.dim("↑/↓ then enter")}\n\n`);
|
|
72
|
+
paintItems();
|
|
73
|
+
input.setRawMode?.(true);
|
|
74
|
+
input.resume?.();
|
|
75
|
+
input.on("data", onData);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED