janissary 0.5.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/LICENSE +75 -0
- package/README.md +28 -0
- package/agent-names.json +52 -0
- package/bin/janus.mjs +27 -0
- package/chrome-extension/_metadata/generated_indexed_rulesets/_ruleset1 +0 -0
- package/chrome-extension/content-script.js +62 -0
- package/chrome-extension/manifest.json +25 -0
- package/chrome-extension/rules.json +16 -0
- package/dist/acp/index.js +93 -0
- package/dist/acp/loop.js +75 -0
- package/dist/acp/manager.js +126 -0
- package/dist/acp/rate-limit.js +8 -0
- package/dist/acp/runner.js +18 -0
- package/dist/acp/tools.js +27 -0
- package/dist/acp-loop.js +75 -0
- package/dist/acp-manager.js +109 -0
- package/dist/acp-runner.js +18 -0
- package/dist/acp.js +91 -0
- package/dist/agent/commands.js +29 -0
- package/dist/agent/communication-manager.js +71 -0
- package/dist/agent/state.js +58 -0
- package/dist/agent-commands.js +29 -0
- package/dist/agent-communication-manager.js +71 -0
- package/dist/agent-state.js +58 -0
- package/dist/app-themes.js +13 -0
- package/dist/browser/command.js +104 -0
- package/dist/browser/index.js +124 -0
- package/dist/browser/tab-helpers.js +51 -0
- package/dist/browser/tab.js +99 -0
- package/dist/browser-command.js +104 -0
- package/dist/browser-tab-helpers.js +51 -0
- package/dist/browser-tab.js +99 -0
- package/dist/browser.js +124 -0
- package/dist/buffer.js +42 -0
- package/dist/bus.js +52 -0
- package/dist/capture/manager.js +48 -0
- package/dist/capture/router.js +18 -0
- package/dist/capture-manager.js +48 -0
- package/dist/capture-router.js +20 -0
- package/dist/chrome-extension-loader.js +62 -0
- package/dist/cli-args.js +80 -0
- package/dist/command-manager.js +126 -0
- package/dist/command-router.js +14 -0
- package/dist/commands/acp-reset.js +13 -0
- package/dist/commands/acp.js +5 -0
- package/dist/commands/agent.js +5 -0
- package/dist/commands/broadcast.js +22 -0
- package/dist/commands/browser.js +5 -0
- package/dist/commands/clear.js +5 -0
- package/dist/commands/close.js +42 -0
- package/dist/commands/connection.js +5 -0
- package/dist/commands/db.js +5 -0
- package/dist/commands/edit.js +18 -0
- package/dist/commands/files.js +13 -0
- package/dist/commands/hist.js +7 -0
- package/dist/commands/index.js +62 -0
- package/dist/commands/monitor.js +61 -0
- package/dist/commands/msg.js +17 -0
- package/dist/commands/next.js +7 -0
- package/dist/commands/notifications.js +16 -0
- package/dist/commands/notify.js +20 -0
- package/dist/commands/open.js +41 -0
- package/dist/commands/profile.js +5 -0
- package/dist/commands/queue.js +37 -0
- package/dist/commands/quit.js +6 -0
- package/dist/commands/rename.js +12 -0
- package/dist/commands/resolve-target.js +12 -0
- package/dist/commands/schedule.js +74 -0
- package/dist/commands/search.js +26 -0
- package/dist/commands/send.js +51 -0
- package/dist/commands/state.js +9 -0
- package/dist/commands/syntax.js +36 -0
- package/dist/commands/tasks.js +7 -0
- package/dist/commands/theme.js +41 -0
- package/dist/commands/types.js +1 -0
- package/dist/commands.js +70 -0
- package/dist/completion/browser.js +24 -0
- package/dist/completion/fs.js +26 -0
- package/dist/completion/handlers.js +81 -0
- package/dist/completion/helpers.js +43 -0
- package/dist/completion/index.js +43 -0
- package/dist/completion-browser.js +24 -0
- package/dist/completion-fs.js +26 -0
- package/dist/completion-handlers.js +69 -0
- package/dist/completion-helpers.js +43 -0
- package/dist/completion.js +42 -0
- package/dist/config.js +66 -0
- package/dist/connection/close.js +41 -0
- package/dist/connection/manager.js +93 -0
- package/dist/connection/parsing.js +28 -0
- package/dist/connection-close.js +41 -0
- package/dist/connection-manager.js +93 -0
- package/dist/connection-parsing.js +28 -0
- package/dist/connections.js +75 -0
- package/dist/controller-events.js +34 -0
- package/dist/controller-file-tree.js +36 -0
- package/dist/controller.js +201 -0
- package/dist/database/index.js +83 -0
- package/dist/database/manager.js +67 -0
- package/dist/database/parsing.js +54 -0
- package/dist/database/query.js +41 -0
- package/dist/database-manager.js +67 -0
- package/dist/database-parsing.js +54 -0
- package/dist/database-query.js +41 -0
- package/dist/database.js +83 -0
- package/dist/datetime.js +15 -0
- package/dist/editor/save.js +27 -0
- package/dist/editor/sync.js +10 -0
- package/dist/editor/watch-manager.js +84 -0
- package/dist/editor-save.js +24 -0
- package/dist/editor-watch-manager.js +84 -0
- package/dist/file-tree-args.js +36 -0
- package/dist/file-tree-git-refresh.js +33 -0
- package/dist/file-tree-manager.js +252 -0
- package/dist/file-tree-moves.js +26 -0
- package/dist/file-tree-open.js +56 -0
- package/dist/file-tree-rebuild.js +22 -0
- package/dist/file-tree-watch.js +27 -0
- package/dist/file-tree.js +82 -0
- package/dist/git-status.js +64 -0
- package/dist/github-token.js +19 -0
- package/dist/global-history.js +48 -0
- package/dist/harness/auto-approve.js +79 -0
- package/dist/harness/busy-status.js +91 -0
- package/dist/harness/capture-file.js +28 -0
- package/dist/harness/index.js +87 -0
- package/dist/harness/manager.js +182 -0
- package/dist/harness/models.js +8 -0
- package/dist/harness/recorder.js +89 -0
- package/dist/harness/recording-file.js +25 -0
- package/dist/harness/screen.js +79 -0
- package/dist/harness-capture-file.js +28 -0
- package/dist/harness-manager.js +112 -0
- package/dist/harness-models.js +8 -0
- package/dist/harness-screen.js +72 -0
- package/dist/harness.js +54 -0
- package/dist/index.js +163 -0
- package/dist/instance-lock.js +34 -0
- package/dist/interactive.js +33 -0
- package/dist/main.js +203 -0
- package/dist/managers.js +1 -0
- package/dist/message-handler.js +134 -0
- package/dist/messaging.js +47 -0
- package/dist/monitor/acp.js +24 -0
- package/dist/monitor/ask.js +31 -0
- package/dist/monitor/context.js +27 -0
- package/dist/monitor/editor-feed.js +49 -0
- package/dist/monitor/feed-diff.js +22 -0
- package/dist/monitor/feeds.js +19 -0
- package/dist/monitor/framing.js +29 -0
- package/dist/monitor/harness-feed.js +21 -0
- package/dist/monitor/info.js +29 -0
- package/dist/monitor/manager.js +221 -0
- package/dist/monitor/page-feed.js +21 -0
- package/dist/monitor/parsing.js +82 -0
- package/dist/monitor/reply.js +11 -0
- package/dist/monitor/session.js +36 -0
- package/dist/monitor/stop.js +33 -0
- package/dist/monitor/suggestion.js +12 -0
- package/dist/monitor/targets.js +69 -0
- package/dist/monitor/window.js +109 -0
- package/dist/monitor-acp.js +22 -0
- package/dist/monitor-info.js +18 -0
- package/dist/monitor-manager.js +233 -0
- package/dist/monitor-parsing.js +68 -0
- package/dist/monitor-session.js +19 -0
- package/dist/monitor-targets.js +37 -0
- package/dist/monitor-window.js +81 -0
- package/dist/notifications-tab.js +32 -0
- package/dist/notifications.js +87 -0
- package/dist/open-file-manager.js +100 -0
- package/dist/openers/editor.js +41 -0
- package/dist/openers/external-viewer.js +11 -0
- package/dist/openers/image.js +27 -0
- package/dist/openers/index.js +16 -0
- package/dist/openers/markdown.js +20 -0
- package/dist/openers/os-open.js +24 -0
- package/dist/openers/page.js +51 -0
- package/dist/openers/size.js +13 -0
- package/dist/openers/types.js +1 -0
- package/dist/page/sync.js +10 -0
- package/dist/paths.js +45 -0
- package/dist/persona-parsing.js +49 -0
- package/dist/personas.js +44 -0
- package/dist/profile/agent-opener.js +154 -0
- package/dist/profile/files.js +17 -0
- package/dist/profile/manager.js +72 -0
- package/dist/profile/monitors.js +23 -0
- package/dist/profile/notifications.js +11 -0
- package/dist/profile-agent-opener.js +136 -0
- package/dist/profile-manager.js +72 -0
- package/dist/profiles.js +143 -0
- package/dist/protocol.js +1 -0
- package/dist/pseudoterminal-manager.js +106 -0
- package/dist/pty.js +41 -0
- package/dist/recognizers/acp.js +38 -0
- package/dist/recognizers/analyze.js +49 -0
- package/dist/recognizers/bash.js +51 -0
- package/dist/recognizers/db.js +26 -0
- package/dist/recognizers/index.js +1 -0
- package/dist/recognizers/lexicon.js +11 -0
- package/dist/recognizers/types.js +5 -0
- package/dist/resolve.js +39 -0
- package/dist/route-choice.js +11 -0
- package/dist/sandbox/index.js +217 -0
- package/dist/sandbox/paths.js +178 -0
- package/dist/sandbox/profile.js +161 -0
- package/dist/sandbox-paths.js +159 -0
- package/dist/sandbox-profile.js +161 -0
- package/dist/sandbox.js +217 -0
- package/dist/schedule/display.js +19 -0
- package/dist/schedule/helpers.js +76 -0
- package/dist/schedule/index.js +76 -0
- package/dist/schedule/manager.js +101 -0
- package/dist/schedule/parsing.js +63 -0
- package/dist/schedule/time.js +34 -0
- package/dist/schedule-display.js +19 -0
- package/dist/schedule-helpers.js +76 -0
- package/dist/schedule-manager.js +98 -0
- package/dist/schedule-parsing.js +63 -0
- package/dist/schedule-time.js +34 -0
- package/dist/schedule.js +76 -0
- package/dist/search-matches.js +40 -0
- package/dist/security.js +44 -0
- package/dist/shell-manager.js +139 -0
- package/dist/shell.js +59 -0
- package/dist/ssh-manager.js +42 -0
- package/dist/ssh.js +39 -0
- package/dist/startup-errors.js +21 -0
- package/dist/state-event.js +14 -0
- package/dist/state-format.js +38 -0
- package/dist/syntax-themes.js +14 -0
- package/dist/tab/agent-state.js +19 -0
- package/dist/tab/cleanup.js +33 -0
- package/dist/tab/colors.js +43 -0
- package/dist/tab/creators.js +95 -0
- package/dist/tab/dock.js +35 -0
- package/dist/tab/focus-history.js +41 -0
- package/dist/tab/formatting-handlers.js +77 -0
- package/dist/tab/formatting.js +21 -0
- package/dist/tab/history.js +14 -0
- package/dist/tab/index.js +65 -0
- package/dist/tab/manager.js +329 -0
- package/dist/tab/openers.js +35 -0
- package/dist/tab/queue.js +33 -0
- package/dist/tab/rehydrate.js +15 -0
- package/dist/tab/reorder.js +15 -0
- package/dist/tab/transcript.js +15 -0
- package/dist/tab/utils.js +55 -0
- package/dist/tab/view.js +42 -0
- package/dist/tab-cleanup.js +27 -0
- package/dist/tab-colors.js +43 -0
- package/dist/tab-creators.js +85 -0
- package/dist/tab-formatting-handlers.js +77 -0
- package/dist/tab-formatting.js +21 -0
- package/dist/tab-manager.js +418 -0
- package/dist/tab-utils.js +55 -0
- package/dist/tab.js +57 -0
- package/dist/tasks.js +32 -0
- package/dist/transcript/logger.js +36 -0
- package/dist/transcript/store.js +66 -0
- package/dist/types.js +6 -0
- package/dist/user-agent.js +65 -0
- package/dist/word-wrapping.js +42 -0
- package/dist/workspace-manager.js +40 -0
- package/dist/workspace.js +120 -0
- package/help.md +97 -0
- package/package.json +138 -0
package/package.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "janissary",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "A terminal UI shell with built-in commands and shell execution",
|
|
5
|
+
"bin": {
|
|
6
|
+
"janus": "./bin/janus.mjs"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc && npm run build:web",
|
|
10
|
+
"build:server": "tsc",
|
|
11
|
+
"build:web": "vite build -c web/vite.config.ts",
|
|
12
|
+
"clean": "rm -rf dist web/dist",
|
|
13
|
+
"start": "npm run build:web && tsx src/main.ts",
|
|
14
|
+
"dev:web": "vite -c web/vite.config.ts",
|
|
15
|
+
"dev:server": "tsx --watch src/main.ts",
|
|
16
|
+
"dev": "npm run dev:web & npm run dev:server",
|
|
17
|
+
"docs:dev": "vitepress dev documentation",
|
|
18
|
+
"docs:build": "vitepress build documentation",
|
|
19
|
+
"docs:preview": "vitepress preview documentation",
|
|
20
|
+
"test": "vitest run --project server --project client",
|
|
21
|
+
"test:browser": "vitest run --project browser",
|
|
22
|
+
"test:sandbox": "vitest run --project sandbox",
|
|
23
|
+
"test:unsandboxed": "vitest run --project unsandboxed",
|
|
24
|
+
"lint": "eslint .",
|
|
25
|
+
"lint:fix": "eslint . --fix",
|
|
26
|
+
"lint:all": "npm run lint && npm run lint:css && npm run typecheck",
|
|
27
|
+
"check": "npm run typecheck && npm run lint && npm run test",
|
|
28
|
+
"check:full": "npm run typecheck && npm run lint && npm run test && npm run lint:css && npm run quality && npm run duplication && npm run knip",
|
|
29
|
+
"lint:files": "node scripts/lint-files.mjs",
|
|
30
|
+
"format": "prettier --write .",
|
|
31
|
+
"postinstall": "chmod +x node_modules/node-pty/prebuilds/*/spawn-helper",
|
|
32
|
+
"playwright:install-chromium": "npx playwright install chromium",
|
|
33
|
+
"test:server": "vitest run --project server",
|
|
34
|
+
"test:watch": "vitest --project server --project client",
|
|
35
|
+
"coverage": "VITEST_SKIP_INSTALL_CHECKS=1 vitest run --coverage --project server --project client",
|
|
36
|
+
"test:client": "vitest run --project client",
|
|
37
|
+
"quality": "fta src && fta web/src",
|
|
38
|
+
"quality:gate": "fta src && fta web/src",
|
|
39
|
+
"quality:snapshot": "fta src --json > fta/baseline-server.json && fta web/src --json > fta/baseline-client.json",
|
|
40
|
+
"duplication": "jscpd src web/src",
|
|
41
|
+
"duplication:gate": "jscpd src web/src --exit-code",
|
|
42
|
+
"knip": "knip",
|
|
43
|
+
"knip:fix": "knip --fix",
|
|
44
|
+
"lint:css": "stylelint \"web/src/**/*.css\"",
|
|
45
|
+
"lint:css:fix": "stylelint \"web/src/**/*.css\" --fix",
|
|
46
|
+
"typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p web/tsconfig.json",
|
|
47
|
+
"typecheck:diff": "tsc --noEmit --incremental --tsBuildInfoFile node_modules/.cache/tsc/server.tsbuildinfo -p tsconfig.json && tsc --noEmit --incremental --tsBuildInfoFile node_modules/.cache/tsc/web.tsbuildinfo -p web/tsconfig.json",
|
|
48
|
+
"test:diff:server": "vitest run --project server --changed",
|
|
49
|
+
"test:diff:web": "vitest run --project client --changed",
|
|
50
|
+
"test:diff": "vitest run --changed --project server --project client",
|
|
51
|
+
"lint:diff": "node scripts/lint-files.mjs",
|
|
52
|
+
"check:diff": "node scripts/check-diff.mjs",
|
|
53
|
+
"security": "npm run security:secrets && npm run security:deps",
|
|
54
|
+
"security:secrets": "gitleaks detect --no-banner --redact",
|
|
55
|
+
"security:deps": "npm audit --omit=dev",
|
|
56
|
+
"security:sast": "opengrep scan --config p/javascript --config p/typescript --config p/nodejs src/ web/src/"
|
|
57
|
+
},
|
|
58
|
+
"keywords": [
|
|
59
|
+
"terminal",
|
|
60
|
+
"cli",
|
|
61
|
+
"shell",
|
|
62
|
+
"tui",
|
|
63
|
+
"terminal-ui",
|
|
64
|
+
"shell-execution"
|
|
65
|
+
],
|
|
66
|
+
"author": {
|
|
67
|
+
"name": "thirtysixthspan"
|
|
68
|
+
},
|
|
69
|
+
"license": "PolyForm-Noncommercial-1.0.0",
|
|
70
|
+
"repository": {
|
|
71
|
+
"type": "git",
|
|
72
|
+
"url": "git+https://github.com/thirtysixthspan/janissary.git"
|
|
73
|
+
},
|
|
74
|
+
"bugs": {
|
|
75
|
+
"url": "https://github.com/thirtysixthspan/janissary/issues"
|
|
76
|
+
},
|
|
77
|
+
"homepage": "https://thirtysixthspan.github.io/janissary",
|
|
78
|
+
"overrides": {
|
|
79
|
+
"@vitejs/plugin-vue": "^6.0.7"
|
|
80
|
+
},
|
|
81
|
+
"files": [
|
|
82
|
+
"bin",
|
|
83
|
+
"dist",
|
|
84
|
+
"chrome-extension",
|
|
85
|
+
"agent-names.json",
|
|
86
|
+
"help.md"
|
|
87
|
+
],
|
|
88
|
+
"type": "module",
|
|
89
|
+
"dependencies": {
|
|
90
|
+
"@agentclientprotocol/sdk": "^0.28.1",
|
|
91
|
+
"@xterm/headless": "^5.5.0",
|
|
92
|
+
"diff": "^9.0.0",
|
|
93
|
+
"dompurify": "^3.4.11",
|
|
94
|
+
"marked": "^18.0.5",
|
|
95
|
+
"node-pty": "^1.1.0",
|
|
96
|
+
"playwright": "^1.50.0",
|
|
97
|
+
"ws": "^8.18.0"
|
|
98
|
+
},
|
|
99
|
+
"devDependencies": {
|
|
100
|
+
"@eslint/js": "^10.0.1",
|
|
101
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
102
|
+
"@testing-library/react": "^16.3.2",
|
|
103
|
+
"@testing-library/user-event": "^14.6.1",
|
|
104
|
+
"@types/node": "^26.0.0",
|
|
105
|
+
"@types/react": "^19.2.17",
|
|
106
|
+
"@types/react-dom": "^19.2.0",
|
|
107
|
+
"@types/ws": "^8.5.13",
|
|
108
|
+
"@vitejs/plugin-react": "^6.0.3",
|
|
109
|
+
"@vitest/coverage-v8": "^4.1.9",
|
|
110
|
+
"@xterm/addon-fit": "^0.10.0",
|
|
111
|
+
"@xterm/xterm": "^5.5.0",
|
|
112
|
+
"eslint": "^10.5.0",
|
|
113
|
+
"eslint-config-prettier": "^10.1.8",
|
|
114
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
115
|
+
"eslint-plugin-import-x": "^4.17.0",
|
|
116
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
117
|
+
"eslint-plugin-security": "^4.0.1",
|
|
118
|
+
"eslint-plugin-sonarjs": "^4.1.0",
|
|
119
|
+
"eslint-plugin-unicorn": "^69.0.0",
|
|
120
|
+
"fta-cli": "^3.0.0",
|
|
121
|
+
"globals": "^17.6.0",
|
|
122
|
+
"highlight.js": "^11.11.1",
|
|
123
|
+
"jscpd": "^5.0.11",
|
|
124
|
+
"jsdom": "^29.1.1",
|
|
125
|
+
"knip": "^6.21.0",
|
|
126
|
+
"prettier": "^3.8.4",
|
|
127
|
+
"react": "^19.2.0",
|
|
128
|
+
"react-dom": "^19.2.0",
|
|
129
|
+
"stylelint": "^17.14.0",
|
|
130
|
+
"stylelint-config-standard": "^40.0.0",
|
|
131
|
+
"tsx": "^4.22.4",
|
|
132
|
+
"typescript": "^6.0.3",
|
|
133
|
+
"typescript-eslint": "^8.61.1",
|
|
134
|
+
"vite": "^8.1.4",
|
|
135
|
+
"vitepress": "^1.6.4",
|
|
136
|
+
"vitest": "^4.1.9"
|
|
137
|
+
}
|
|
138
|
+
}
|