github-issue-tower-defence-management 1.97.3 → 1.98.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/CHANGELOG.md +14 -0
- package/README.md +12 -0
- package/bin/adapter/entry-points/cli/index.js +62 -0
- package/bin/adapter/entry-points/cli/index.js.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/{index-CDGwyvDF.js → index-BFKRWKvS.js} +1 -1
- package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/bin/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.js +48 -0
- package/bin/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.js.map +1 -0
- package/bin/adapter/repositories/ProcClaudeInteractiveSessionRepository.js +145 -0
- package/bin/adapter/repositories/ProcClaudeInteractiveSessionRepository.js.map +1 -0
- package/bin/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.js +41 -0
- package/bin/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.js.map +1 -0
- package/bin/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.js +3 -0
- package/bin/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.js.map +1 -0
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/index.ts +120 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleCloseActions.tsx +4 -4
- package/src/adapter/entry-points/console/ui-dist/assets/{index-CDGwyvDF.js → index-BFKRWKvS.js} +1 -1
- package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/src/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.test.ts +123 -0
- package/src/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.ts +77 -0
- package/src/adapter/repositories/ProcClaudeInteractiveSessionRepository.test.ts +184 -0
- package/src/adapter/repositories/ProcClaudeInteractiveSessionRepository.ts +138 -0
- package/src/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.test.ts +169 -0
- package/src/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.ts +63 -0
- package/src/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.ts +9 -0
- package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.d.ts +18 -0
- package/types/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.d.ts.map +1 -0
- package/types/adapter/repositories/ProcClaudeInteractiveSessionRepository.d.ts +11 -0
- package/types/adapter/repositories/ProcClaudeInteractiveSessionRepository.d.ts.map +1 -0
- package/types/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.d.ts +17 -0
- package/types/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.d.ts.map +1 -0
- package/types/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.d.ts +9 -0
- package/types/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.d.ts.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [1.98.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.97.4...v1.98.0) (2026-06-24)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **cli:** add countInTmuxByHumanSessionsPerToken command ([#931](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/931)) ([01ba558](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/01ba55898365ea1058dab85387b984a6b7f3fbce)), closes [#930](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/930)
|
|
7
|
+
|
|
8
|
+
## [1.97.4](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.97.3...v1.97.4) (2026-06-23)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **console:** place Close button on the right of the close button group ([#926](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/926)) ([4a0e1e5](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/4a0e1e56fa91b4be6148d633af966d879511379c))
|
|
14
|
+
|
|
1
15
|
## [1.97.3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.97.2...v1.97.3) (2026-06-23)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@ Commands:
|
|
|
23
23
|
serveConsole [options] Start the local TDPM Console HTTP server
|
|
24
24
|
selectOauthToken [options] Print one rate-limit-aware Claude Code OAuth token to stdout (pipeable; read-only)
|
|
25
25
|
selectLiveSessionOauthToken [options] Print one Claude Code OAuth token chosen for a new live interactive session (fewest live sessions, then soonest 7d reset; read-only)
|
|
26
|
+
countInTmuxByHumanSessionsPerToken [options] Print, per OAuth token, the count of live "In Tmux by human" interactive sessions using that token (read-only)
|
|
26
27
|
help [command] display help for command
|
|
27
28
|
|
|
28
29
|
Options for schedule:
|
|
@@ -69,6 +70,11 @@ Options for selectOauthToken:
|
|
|
69
70
|
Options for selectLiveSessionOauthToken:
|
|
70
71
|
--tokenListJsonPath <path> Path to the JSON array of { name, token } records (falls back to the CLAUDE_CODE_OAUTH_TOKEN_LIST_JSON_PATH environment variable)
|
|
71
72
|
--cacheDir <path> Directory holding per-token rate-limit cache files (falls back to the TDPM_RATELIMIT_CACHE_DIR environment variable, then to ${XDG_CACHE_HOME:-~/.cache}/tdpm/ratelimit)
|
|
73
|
+
|
|
74
|
+
Options for countInTmuxByHumanSessionsPerToken:
|
|
75
|
+
--configFilePath <path> Path to config file for tower defence management (required)
|
|
76
|
+
--projectUrl <url> GitHub project URL
|
|
77
|
+
--tokenListJsonPath <path> Path to the JSON array of { name, token } records (falls back to the claudeCodeOauthTokenListJsonPath config value, then to the CLAUDE_CODE_OAUTH_TOKEN_LIST_JSON_PATH environment variable)
|
|
72
78
|
```
|
|
73
79
|
|
|
74
80
|
The `serveConsole` sub-command starts a local HTTP server that serves the TDPM Console. One running instance serves every project: the user opens a per-project URL path `/projects/{pjcode}` (or `/projects/{pjcode}/{prs|triage|unread|failed-preparation|todo-by-human}`) and the bundled UI reads the `pjcode` from its own URL path and loads that project's list data. The server serves the bundled single-page-application `index.html` at `/`, `/index.html`, and every `/projects/{pjcode}` and `/projects/{pjcode}/{tab}` app route. Every response is sent with `Cache-Control: no-store`. Any request path containing a segment that begins with a dot (for example `/.git` or `/.env`) is rejected with HTTP 404. The UI bootstrap assets (HTML and JS) are served without authentication; served `*.json` files and `/api/*` paths require an access token supplied either as the `k` query parameter (`?k=<token>`) or the `X-PV-Token` request header. The access token is read from the `consoleAccessToken` config value and never appears on the command line. When the built UI bundle directory (`ui-dist`) is absent the server still starts and serves a minimal placeholder index for `/`, `/index.html`, and the per-project app routes.
|
|
@@ -101,6 +107,8 @@ The `selectOauthToken` sub-command reads the same per-token rate-limit cache tha
|
|
|
101
107
|
|
|
102
108
|
The `selectLiveSessionOauthToken` sub-command picks a token for a new live interactive Claude Code session a human is about to start, so that concurrent interactive sessions spread across distinct tokens instead of stacking onto the same one. It loads the token list and reads the same per-token rate-limit cache as `selectOauthToken`, and it is read-only in exactly the same way: it never starts the proxy, never mutates any cache file, and never writes the token anywhere. It applies the identical rate-limit eligibility filter as `selectOauthToken` (5-hour window at least 60% free AND 7-day window at least 30% free, with a missing cache file or an expired window treated as fully free). It additionally measures current live occupancy per token by scanning running Claude Code processes on the local Linux host: for each process under `/proc` it reads the NUL-separated `/proc/<pid>/environ` and, when the process is a Claude Code process, takes its `CLAUDE_CODE_OAUTH_TOKEN` and `CLAUDE_CODE_SESSION_ID`. A token's occupancy is the number of distinct `CLAUDE_CODE_SESSION_ID` values bound to it, so child processes that inherit one session id count once. Processes without `CLAUDE_CODE_OAUTH_TOKEN` (for example API-key sessions) are ignored, and a process whose environ cannot be read is skipped. Among the eligible tokens it selects the one with the fewest live sessions (ideally zero), breaking ties by the soonest 7-day reset. The selected token string is written to stdout (pipeable) and the per-candidate decision trace is written to stderr; when no token passes the filter, nothing is written to stdout and the command exits non-zero with an explanatory message on stderr. The token-list path and cache directory are resolved exactly as for `selectOauthToken`. Because occupancy is read from `/proc/<pid>/environ`, this sub-command is Linux-specific.
|
|
103
109
|
|
|
110
|
+
The `countInTmuxByHumanSessionsPerToken` sub-command reports, per Claude Code OAuth token, how many live interactive sessions running under that token belong to an issue that is currently in the GitHub Project Status `In Tmux by human`. It is read-only: it never starts the proxy, never mutates any cache file, and never writes any token anywhere. It enumerates live interactive sessions by scanning running processes on the local Linux host: for each process under `/proc` it reads the NUL-separated `/proc/<pid>/cmdline` and selects only processes launched for an interactive session, identified by a `--name <issue-url>` argument whose value is an HTTP or HTTPS URL; `Take ownership` background spawns (which have no `--name` argument) are excluded. For each selected process it reads `/proc/<pid>/environ` and takes its `CLAUDE_CODE_OAUTH_TOKEN` and `CLAUDE_CODE_SESSION_ID`; a process missing either is skipped, and a process whose files cannot be read is skipped. It then loads the project's issues with their Status (reusing the same on-disk issue cache the daemon uses, honoring `allowIssueCacheMinutes`), keeps only the sessions whose `--name` issue URL maps to an open issue in Status `In Tmux by human`, and counts the distinct `CLAUDE_CODE_SESSION_ID` values per token so child processes that inherit one session id count once. It writes one tab-separated line per token to stdout in the form `<tokenName>\t<count>` (the token name comes from the token list; the raw token value is never printed), and writes the per-run decision trace to stderr. The token-list path comes from `--tokenListJsonPath`, the `claudeCodeOauthTokenListJsonPath` config value, or the `CLAUDE_CODE_OAUTH_TOKEN_LIST_JSON_PATH` environment variable. Because occupancy is read from `/proc/<pid>/cmdline` and `/proc/<pid>/environ`, this sub-command is Linux-specific.
|
|
111
|
+
|
|
104
112
|
## Example 📖
|
|
105
113
|
|
|
106
114
|
Here's a quick example to illustrate its usage:
|
|
@@ -137,6 +145,10 @@ TOKEN=$(npx github-issue-tower-defence-management selectOauthToken --tokenListJs
|
|
|
137
145
|
TOKEN=$(npx github-issue-tower-defence-management selectLiveSessionOauthToken --tokenListJsonPath ./claudeCodeOauthTokenList.json)
|
|
138
146
|
```
|
|
139
147
|
|
|
148
|
+
```
|
|
149
|
+
npx github-issue-tower-defence-management countInTmuxByHumanSessionsPerToken --configFilePath ./preparator-config.yml --tokenListJsonPath ./claudeCodeOauthTokenList.json
|
|
150
|
+
```
|
|
151
|
+
|
|
140
152
|
## Config
|
|
141
153
|
|
|
142
154
|
### Schedule Command Config
|
|
@@ -64,6 +64,7 @@ const consoleReadApi_1 = require("../console/consoleReadApi");
|
|
|
64
64
|
const consoleProjectResolver_1 = require("../console/consoleProjectResolver");
|
|
65
65
|
const OauthTokenSelectHandler_1 = require("../handlers/OauthTokenSelectHandler");
|
|
66
66
|
const LiveSessionOauthTokenSelectHandler_1 = require("../handlers/LiveSessionOauthTokenSelectHandler");
|
|
67
|
+
const InTmuxByHumanSessionTokenCountHandler_1 = require("../handlers/InTmuxByHumanSessionTokenCountHandler");
|
|
67
68
|
const DEFAULT_IN_TMUX_DATA_DIR = '/home/hiromi/0_workspaces/workspace1/jsonpub/in-tmux-by-human';
|
|
68
69
|
const DEFAULT_DASHBOARD_DIR = '/home/hiromi/0_workspaces/workspace1/jsonpub';
|
|
69
70
|
const buildGithubRepositoryParams = (localStorageRepository, token) => [
|
|
@@ -467,6 +468,67 @@ exports.program
|
|
|
467
468
|
}
|
|
468
469
|
process.stdout.write(`${output.selectedToken}\n`);
|
|
469
470
|
});
|
|
471
|
+
exports.program
|
|
472
|
+
.command('countInTmuxByHumanSessionsPerToken')
|
|
473
|
+
.description('Print, per Claude Code OAuth token, the count of live interactive sessions (cl-launched Claude processes carrying CLAUDE_CODE_OAUTH_TOKEN and CLAUDE_CODE_SESSION_ID with a --name <issue-url> argument, excluding Take ownership spawns) whose issue is currently in GitHub Project Status "In Tmux by human". One tab-separated line per token (<tokenName>\\t<count>) is written to stdout; the decision trace is written to stderr. Token values are never printed.')
|
|
474
|
+
.requiredOption('--configFilePath <path>', 'Path to config file for tower defence management')
|
|
475
|
+
.option('--projectUrl <url>', 'GitHub project URL (optional)')
|
|
476
|
+
.option('--tokenListJsonPath <path>', 'Path to the JSON array of { name, token } records. Falls back to the claudeCodeOauthTokenListJsonPath config value, then to the CLAUDE_CODE_OAUTH_TOKEN_LIST_JSON_PATH environment variable.')
|
|
477
|
+
.action(async (options) => {
|
|
478
|
+
const token = process.env.GH_TOKEN;
|
|
479
|
+
if (!token) {
|
|
480
|
+
console.error('GH_TOKEN environment variable is required');
|
|
481
|
+
process.exit(1);
|
|
482
|
+
}
|
|
483
|
+
const configFileValues = (0, projectConfig_2.loadConfigFile)(options.configFilePath);
|
|
484
|
+
const cliOverrides = {
|
|
485
|
+
projectUrl: options.projectUrl,
|
|
486
|
+
};
|
|
487
|
+
const tempProjectUrl = cliOverrides.projectUrl ?? configFileValues.projectUrl;
|
|
488
|
+
let readmeOverrides = {};
|
|
489
|
+
if (tempProjectUrl) {
|
|
490
|
+
const readme = await (0, projectConfig_2.fetchProjectReadme)(tempProjectUrl, token);
|
|
491
|
+
if (readme) {
|
|
492
|
+
readmeOverrides = (0, projectConfig_2.parseProjectReadmeConfig)(readme, tempProjectUrl);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
const config = (0, projectConfig_2.mergeConfigs)(configFileValues, cliOverrides, readmeOverrides);
|
|
496
|
+
const projectUrl = config.projectUrl;
|
|
497
|
+
if (!projectUrl) {
|
|
498
|
+
console.error('projectUrl is required. Provide via --projectUrl, config file, or project README.');
|
|
499
|
+
process.exit(1);
|
|
500
|
+
}
|
|
501
|
+
const projectName = config.projectName ?? 'default';
|
|
502
|
+
const localStorageRepository = new LocalStorageRepository_1.LocalStorageRepository();
|
|
503
|
+
const cachePath = `./tmp/cache/${projectName}`;
|
|
504
|
+
const localStorageCacheRepository = new LocalStorageCacheRepository_1.LocalStorageCacheRepository(localStorageRepository, cachePath);
|
|
505
|
+
const githubRepositoryParams = buildGithubRepositoryParams(localStorageRepository, token);
|
|
506
|
+
const projectRepository = new GraphqlProjectRepository_1.GraphqlProjectRepository(...githubRepositoryParams);
|
|
507
|
+
const apiV3IssueRepository = new ApiV3IssueRepository_1.ApiV3IssueRepository(...githubRepositoryParams);
|
|
508
|
+
const restIssueRepository = new RestIssueRepository_1.RestIssueRepository(...githubRepositoryParams);
|
|
509
|
+
const graphqlProjectItemRepository = new GraphqlProjectItemRepository_1.GraphqlProjectItemRepository(...githubRepositoryParams);
|
|
510
|
+
const issueRepository = new ApiV3CheerioRestIssueRepository_1.ApiV3CheerioRestIssueRepository(apiV3IssueRepository, restIssueRepository, graphqlProjectItemRepository, localStorageCacheRepository, ...githubRepositoryParams);
|
|
511
|
+
const projectId = await projectRepository.findProjectIdByUrl(projectUrl);
|
|
512
|
+
if (!projectId) {
|
|
513
|
+
console.error(`No project found for projectUrl ${projectUrl}`);
|
|
514
|
+
process.exit(1);
|
|
515
|
+
}
|
|
516
|
+
const allowIssueCacheMinutes = config.allowIssueCacheMinutes ?? 10;
|
|
517
|
+
const { issues } = await issueRepository.getAllIssues(projectId, allowIssueCacheMinutes);
|
|
518
|
+
const handler = new InTmuxByHumanSessionTokenCountHandler_1.InTmuxByHumanSessionTokenCountHandler();
|
|
519
|
+
const output = handler.handle({
|
|
520
|
+
tokenListJsonPath: options.tokenListJsonPath ??
|
|
521
|
+
config.claudeCodeOauthTokenListJsonPath ??
|
|
522
|
+
null,
|
|
523
|
+
issues,
|
|
524
|
+
});
|
|
525
|
+
for (const line of output.diagnostics) {
|
|
526
|
+
console.error(line);
|
|
527
|
+
}
|
|
528
|
+
for (const line of output.lines) {
|
|
529
|
+
process.stdout.write(`${line}\n`);
|
|
530
|
+
}
|
|
531
|
+
});
|
|
470
532
|
/* istanbul ignore next */
|
|
471
533
|
if (process.argv && require.main === module) {
|
|
472
534
|
exports.program.parse(process.argv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":"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"}
|
package/bin/adapter/entry-points/console/ui-dist/assets/{index-CDGwyvDF.js → index-BFKRWKvS.js}
RENAMED
|
@@ -98,4 +98,4 @@ Please report this to https://github.com/markedjs/marked.`,i){const f="<p>An err
|
|
|
98
98
|
`)}),d+=1,c=[])};for(const S of i){if(f===null&&/^```mermaid\s*$/.test(S.trim())){h(),f=[];continue}if(f!==null){if(S.trim()==="```"){o.push({kind:"mermaid",key:`mermaid:${d}`,code:f.join(`
|
|
99
99
|
`)}),d+=1,f=null;continue}f.push(S);continue}c.push(S)}return f!==null&&c.push("```mermaid",...f),h(),o},fb="https://cdn.jsdelivr.net/npm/mermaid@10.9.6/dist/mermaid.min.js";let au=null,Xh=0;const Qh=s=>(s.initialize({startOnLoad:!1,securityLevel:"strict",theme:"dark",themeVariables:{background:"#0d1117",primaryColor:"#161b22",primaryTextColor:"#e6edf3",primaryBorderColor:"#30363d",lineColor:"#8b949e",fontSize:"14px"}}),s),db=()=>au!==null?au:window.mermaid!==void 0?(au=Promise.resolve(Qh(window.mermaid)),au):(au=new Promise((s,i)=>{const o=document.createElement("script");o.src=fb,o.async=!0,o.onload=()=>{if(window.mermaid===void 0){i(new Error("mermaid failed to load"));return}s(Qh(window.mermaid))},o.onerror=()=>i(new Error("mermaid script failed to load")),document.head.appendChild(o)}),au),mb=async s=>{const i=await db();Xh+=1;const o=`console-mermaid-${Xh}`,{svg:c}=await i.render(o,s);return up.sanitize(c,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["foreignObject"]})},hb=({code:s})=>{const[i,o]=G.useState({status:"loading"}),c=G.useRef(null);return G.useEffect(()=>{let f=!1;return o({status:"loading"}),mb(s).then(d=>{f||o({status:"ready",svg:d})}).catch(d=>{f||o({status:"error",message:d instanceof Error?d.message:String(d)})}),()=>{f=!0}},[s]),G.useEffect(()=>{const f=c.current;f!==null&&(f.innerHTML=i.status==="ready"?i.svg:"")},[i]),i.status==="loading"?E.jsx("div",{className:"console-mermaid-loading",children:"Rendering diagram..."}):i.status==="error"?E.jsxs("div",{className:"console-mermaid",children:[E.jsxs("div",{className:"console-mermaid-error",children:["Mermaid render error: ",i.message]}),E.jsx("pre",{className:"console-mermaid-source",children:E.jsx("code",{children:s})})]}):E.jsx("div",{ref:c,className:"console-mermaid-rendered"})},pb=({source:s,buildImageProxyUrl:i})=>{const o=G.useMemo(()=>{const f=ob(s);return i===void 0?f:Jy(f,i)},[s,i]),c=G.useRef(null);return G.useEffect(()=>{const f=c.current;f!==null&&(f.innerHTML=o)},[o]),E.jsx("div",{ref:c,className:"console-markdown"})},$c=({body:s,buildImageProxyUrl:i})=>{const o=G.useMemo(()=>rb(s),[s]);return s.trim()===""?E.jsx("p",{className:"console-markdown-empty",children:"No description provided."}):E.jsx("div",{className:"console-markdown-view",children:o.map(c=>c.kind==="mermaid"?E.jsx(hb,{code:c.code},c.key):E.jsx(pb,{source:c.source,buildImageProxyUrl:i},c.key))})},gb=({isPr:s,now:i,onSubmit:o})=>{const[c,f]=G.useState(!s),[d,h]=G.useState(""),[S,g]=G.useState({kind:"idle"}),[T,z]=G.useState([]),R=async()=>{const C=d.trim();if(!(C.length===0||S.kind==="posting")){g({kind:"posting"});try{const H=await o(C);z(I=>[...I,H]),h(""),g({kind:"idle"})}catch(H){g({kind:"error",message:H instanceof Error?H.message:"failed to post"})}}};return E.jsxs("div",{className:"console-composer",children:[E.jsx("button",{type:"button",className:"console-composer-toggle","aria-expanded":c,onClick:()=>f(C=>!C),children:c?"✕ Cancel":"💬 Add a comment"}),T.length>0&&E.jsx("div",{className:"console-composer-posted",children:T.map(C=>E.jsxs("article",{className:"console-comment",children:[E.jsxs("header",{className:"console-comment-header",title:Sr(C.createdAt),children:[E.jsx("span",{className:"console-comment-author",children:C.author===""?"you":C.author}),E.jsx("span",{className:"console-comment-time",children:mi(C.createdAt,i)})]}),E.jsx($c,{body:C.body})]},`${C.author}:${C.createdAt}:${C.body}`))}),c&&E.jsxs("div",{className:"console-composer-form",children:[E.jsx("textarea",{className:"console-composer-input",rows:3,placeholder:"Leave a comment…",value:d,onChange:C=>h(C.target.value)}),E.jsxs("div",{className:"console-composer-row",children:[E.jsx("button",{type:"button",className:"console-composer-submit",disabled:S.kind==="posting",onClick:()=>{R()},children:"Comment"}),S.kind==="posting"&&E.jsx("span",{className:"console-composer-status",children:"Posting…"}),S.kind==="error"&&E.jsxs("span",{role:"alert",className:"console-composer-status console-composer-error",children:["Failed: ",S.message]})]})]})]})},sa=({title:s,count:i=null,defaultCollapsed:o=!1,headerAction:c,children:f})=>{const[d,h]=G.useState(o),S=i===null?s:`${s} (${i})`;return E.jsxs("section",{className:"console-panel",children:[E.jsxs("header",{className:"console-panel-header",children:[E.jsxs("button",{type:"button",className:"console-panel-toggle","aria-expanded":!d,onClick:()=>h(g=>!g),children:[E.jsx("span",{className:"console-panel-caret",children:d?"▸":"▾"}),E.jsx("span",{className:"console-panel-title",children:S})]}),c!==void 0&&E.jsx("div",{className:"console-panel-action",children:c})]}),!d&&E.jsx("div",{className:"console-panel-body",children:f})]})},yb=s=>{switch(s){case"added":return{label:"A",color:"#3fb950"};case"modified":return{label:"M",color:"#d29922"};case"removed":return{label:"D",color:"#f85149"};case"renamed":return{label:"R",color:"#a371f7"};case"changed":return{label:"M",color:"#d29922"};default:return{label:"?",color:"#8b949e"}}},bb=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,vb=s=>{const i=[];let o=0,c=0;for(const f of s.split(`
|
|
100
100
|
`)){if(f.startsWith("@@")){const d=f.match(bb);d!==null&&(o=Number(d[1]),c=Number(d[2])),i.push({kind:"hunk",oldLineNumber:null,newLineNumber:null,content:f});continue}if(f.startsWith("+")){i.push({kind:"add",oldLineNumber:null,newLineNumber:c,content:f}),c+=1;continue}if(f.startsWith("-")){i.push({kind:"del",oldLineNumber:o,newLineNumber:null,content:f}),o+=1;continue}i.push({kind:"ctx",oldLineNumber:o,newLineNumber:c,content:f}),o+=1,c+=1}return i},Sb=({patch:s})=>{if(s===null||s==="")return E.jsx("p",{className:"console-file-diff-empty",children:"(no diff / binary or too large)"});const i=vb(s);return E.jsx("table",{className:"console-file-diff",children:E.jsx("tbody",{children:i.map(o=>E.jsxs("tr",{className:`console-diff-row console-diff-${o.kind}`,children:[E.jsx("td",{className:"console-diff-ln",children:o.oldLineNumber??""}),E.jsx("td",{className:"console-diff-ln",children:o.newLineNumber??""}),E.jsx("td",{className:"console-diff-code",children:o.content})]},`${o.kind}:${o.oldLineNumber??"x"}:${o.newLineNumber??"x"}:${o.content}`))})})},Tb=({file:s})=>{const[i,o]=G.useState(!1),c=yb(s.status);return E.jsxs("li",{className:"console-file",children:[E.jsxs("button",{type:"button",className:"console-file-row","aria-expanded":i,onClick:()=>o(f=>!f),children:[E.jsx("span",{className:"console-file-caret",children:i?"▾":"▸"}),E.jsx("span",{className:"console-file-badge",style:{color:c.color,borderColor:c.color},children:c.label}),E.jsx("span",{className:"console-file-path",children:s.path}),E.jsxs("span",{className:"console-file-stat console-file-add",children:["+",s.additions]}),E.jsxs("span",{className:"console-file-stat console-file-del",children:["-",s.deletions]})]}),i&&E.jsx(Sb,{patch:s.patch})]})},yp=({files:s,isLoading:i,error:o})=>o!==null?E.jsxs("p",{role:"alert",className:"console-files-error",children:["Failed to load changed files: ",o]}):i?E.jsx("p",{className:"console-files-loading",children:"Loading changed files..."}):s.length===0?E.jsx("p",{className:"console-files-empty",children:"No changed files."}):E.jsx("ul",{className:"console-files",children:s.map(c=>E.jsx(Tb,{file:c},c.path))}),Eb=({comments:s,isLoading:i,error:o,now:c,buildImageProxyUrl:f})=>{const[d,h]=G.useState(!1);if(o!==null)return E.jsxs("p",{role:"alert",className:"console-comment-error",children:["Failed to load comments: ",o]});if(i)return E.jsx("p",{className:"console-comment-loading",children:"Loading comments..."});if(s.length===0)return E.jsx("p",{className:"console-comment-empty",children:"No comments."});const S=d?s:s.slice(-1);return E.jsxs("div",{className:"console-comment-list",children:[!d&&s.length>1&&E.jsxs("button",{type:"button",className:"console-comment-show-all",onClick:()=>h(!0),children:["Show all ",s.length]}),S.map(g=>E.jsxs("article",{className:"console-comment",children:[E.jsxs("header",{className:"console-comment-header",children:[E.jsx("span",{className:"console-comment-author",children:g.author}),E.jsx("span",{className:"console-comment-time",children:mi(g.createdAt,c)})]}),E.jsx($c,{body:g.body,buildImageProxyUrl:f})]},`${g.author}:${g.createdAt}:${g.body}`))]})},Ab=s=>s.slice(0,7),_b=s=>s.split(`
|
|
101
|
-
`)[0],bp=({commits:s,isLoading:i,error:o,now:c})=>o!==null?E.jsxs("p",{role:"alert",className:"console-commits-error",children:["Failed to load commits: ",o]}):i?E.jsx("p",{className:"console-commits-loading",children:"Loading commits..."}):s.length===0?E.jsx("p",{className:"console-commits-empty",children:"No commits."}):E.jsx("ul",{className:"console-commits",children:s.map(f=>E.jsxs("li",{className:"console-commit",children:[E.jsx("span",{className:"console-commit-message",children:_b(f.message)}),E.jsx("span",{className:"console-commit-sha",children:Ab(f.sha)}),E.jsx("span",{className:"console-commit-author",children:f.author}),E.jsx("span",{className:"console-commit-time",children:mi(f.authoredAt,c)})]},f.sha))}),xb=({pullRequest:s,body:i,bodyIsLoading:o,files:c,filesAreLoading:f,filesError:d,commits:h,commitsAreLoading:S,commitsError:g,now:T,buildImageProxyUrl:z})=>{const R=s.summary,C=f||d!==null?null:c.length,H=S||g!==null?null:h.length;return E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:"console-pr-header",children:[E.jsx("a",{href:s.url,className:"console-pr-section-title",target:"_blank",rel:"noopener noreferrer",children:(R==null?void 0:R.title)??s.url}),s.isDraft&&E.jsx("span",{className:"console-pr-section-state",children:"draft"}),E.jsxs("div",{className:"console-pr-statbar",children:[s.branchName!==null&&E.jsx("span",{className:"console-pr-branch",children:s.branchName}),R!==null&&E.jsxs(E.Fragment,{children:[E.jsxs("span",{className:"console-pr-add",children:["+",R.additions]}),E.jsxs("span",{className:"console-pr-del",children:["-",R.deletions]}),E.jsxs("span",{className:"console-pr-files-count",children:[R.changedFiles," files"]})]})]})]}),E.jsx(sa,{title:"Description",defaultCollapsed:!0,children:o?E.jsx("p",{className:"console-pr-body-loading",children:"Loading description..."}):E.jsx($c,{body:(R==null?void 0:R.body)??i,buildImageProxyUrl:z})}),E.jsx(sa,{title:"Changed files",count:C,children:E.jsx(yp,{files:c,isLoading:f,error:d})}),E.jsx(sa,{title:"Commits",count:H,defaultCollapsed:!0,children:E.jsx(bp,{commits:h,isLoading:S,error:g,now:T})})]})},Nb=({item:s,storyName:i,storyColorEnum:o,overlayStatus:c,state:f,body:d,bodyIsLoading:h,bodyError:S,comments:g,commentsAreLoading:T,commentsError:z,files:R,filesAreLoading:C,filesError:H,commits:I,commitsAreLoading:F,commitsError:K,relatedPullRequests:ct,now:J,commentComposer:yt,operationBar:st,buildImageProxyUrl:Nt})=>{const pt=(f==null?void 0:f.state)??"open",tt=(f==null?void 0:f.merged)??!1,Mt=!s.isPr&&pt==="closed"?"Closed":null,Pt=di(o),te=c?di(c.color):null,he=C||H!==null?null:R.length,Bt=T||z!==null?null:g.length,Ue=F||K!==null?null:I.length;return E.jsxs("article",{className:"console-detail",children:[i!==null&&E.jsx("div",{className:"console-detail-story",children:E.jsxs("span",{className:"console-storytag",children:[E.jsx("span",{className:"console-story-dot",style:{backgroundColor:Pt.dot}}),i]})}),c!==null&&te!==null&&E.jsx("span",{className:"console-detail-status-chip",style:{color:te.fg,borderColor:te.border,backgroundColor:te.bg},children:c.name}),E.jsxs("h2",{className:"console-detail-title",children:[E.jsx(Fh,{isPr:s.isPr,state:pt,merged:tt,isDraft:!1,stateReason:""}),E.jsx("span",{className:"console-detail-title-text",children:s.title}),E.jsx("span",{className:"console-detail-number",children:s.isPr?`PR #${s.number}`:`#${s.number}`}),Mt!==null&&E.jsx("span",{className:"console-detail-closed-label",children:Mt})]}),E.jsxs("div",{className:"console-detail-subbar",children:[E.jsx("a",{href:s.url,className:"console-detail-link",target:"_blank",rel:"noopener noreferrer",children:s.isPr?`PR #${s.number}`:`Issue #${s.number}`}),E.jsx("span",{className:"console-detail-repo",children:s.repo}),E.jsx("span",{className:"console-detail-pill",children:s.isPr?"PR":"Issue"})]}),s.labels.length>0&&E.jsx("div",{className:"console-detail-labels",children:s.labels.map(jt=>E.jsx("span",{className:"console-label-chip",children:jt},jt))}),E.jsxs("div",{className:"console-detail-createdat",title:Sr(s.createdAt),children:["opened ",mi(s.createdAt,J)]}),E.jsx(sa,{title:"Description",headerAction:E.jsx("a",{href:s.url,className:"console-panel-open-link",target:"_blank",rel:"noopener noreferrer",children:"open"}),children:S!==null?E.jsxs("p",{role:"alert",className:"console-detail-body-error",children:["Failed to load description: ",S]}):h?E.jsx("p",{className:"console-detail-body-loading",children:"Loading description..."}):E.jsx($c,{body:d,buildImageProxyUrl:Nt})}),s.isPr&&E.jsx(sa,{title:"Changed files",count:he,children:E.jsx(yp,{files:R,isLoading:C,error:H})}),E.jsx(sa,{title:"Comments",count:Bt,defaultCollapsed:s.isPr,children:E.jsx(Eb,{comments:g,isLoading:T,error:z,now:J,buildImageProxyUrl:Nt})}),s.isPr&&E.jsx(sa,{title:"Commits",count:Ue,defaultCollapsed:!0,children:E.jsx(bp,{commits:I,isLoading:F,error:K,now:J})}),!s.isPr&&ct.map(jt=>{var $t;return E.jsx(xb,{pullRequest:jt.pullRequest,body:(($t=jt.pullRequest.summary)==null?void 0:$t.body)??"",bodyIsLoading:!1,files:jt.files,filesAreLoading:jt.filesAreLoading,filesError:jt.filesError,commits:jt.commits,commitsAreLoading:jt.commitsAreLoading,commitsError:jt.commitsError,now:J,buildImageProxyUrl:Nt},jt.pullRequest.url)}),yt,E.jsx("div",{className:"console-actionbar",children:st})]})},Ob=({onClose:s})=>E.jsxs("div",{className:"console-op-group",children:[E.jsx("button",{type:"button",className:"console-op-button",onClick:()=>s("close"),children:"Close"}),E.jsx("button",{type:"button",className:"console-op-button",onClick:()=>s("close_not_planned"),children:"Close as not planned"})]}),zb=({isTodoByHuman:s,onSetNextActionDate:i})=>E.jsxs("div",{className:"console-op-group",children:[E.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>i("snooze_1day"),children:"+1 day"}),E.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>i("snooze_1week"),children:s?"+1 week and skip":"+1 week"})]}),Rb=[{action:"unnecessary",label:"Unnecessary",variant:"unneeded"},{action:"totally_wrong",label:"Totally wrong",variant:"wrong"},{action:"request_changes",label:"Reject",variant:"reject"},{action:"approve",label:"Approve",variant:"approve"}],Mb=({onReview:s})=>E.jsx("div",{className:"console-op-group console-op-group-review",children:Rb.map(i=>E.jsx("button",{type:"button",className:`console-op-button console-op-button-${i.variant}`,onClick:()=>s(i.action),children:i.label},i.action))}),Cb=(s,i)=>{const o=i.toLowerCase();return s.find(c=>c.name.toLowerCase()===o)??null},Db=({statusOptions:s,onSetStatus:i,onSetInTmuxByHuman:o})=>{const c=gy.map(f=>({name:f,option:Cb(s,f)})).filter(f=>f.option!==null);return c.length===0?null:E.jsx("div",{className:"console-op-group",children:c.map(({name:f,option:d})=>{const h=di(d.color),S=f===yy;return E.jsx("button",{type:"button",className:"console-op-button",style:{color:h.fg,borderColor:h.border,backgroundColor:h.bg},onClick:()=>S?o(d):i(d),children:d.name},d.id)})})},Ub=s=>s.name.toLowerCase().includes("no story"),wb=({storyOptions:s,onSetStory:i})=>{const o=s.filter(c=>!Ub(c));return o.length===0?null:E.jsx("div",{className:"console-op-group console-op-group-stories",children:o.map(c=>{const f=di(c.color);return E.jsx("button",{type:"button",className:"console-op-button",style:{color:f.fg,borderColor:f.border,backgroundColor:f.bg},onClick:()=>i(c),children:c.name},c.id)})})},Lb=({tab:s,item:i,hasPullRequest:o,statusOptions:c,storyOptions:f,handlers:d})=>{const h=s==="triage",S=!i.isPr;return E.jsxs("div",{className:"console-operation-bar",children:[o&&E.jsx(Mb,{onReview:d.onReview}),E.jsx(zb,{isTodoByHuman:by(s),onSetNextActionDate:d.onSetNextActionDate}),h&&E.jsx(wb,{storyOptions:f,onSetStory:d.onSetStory}),E.jsx(Db,{statusOptions:c,onSetStatus:d.onSetStatus,onSetInTmuxByHuman:d.onSetInTmuxByHuman}),S&&E.jsx(Ob,{onClose:d.onClose})]})},uu=(s,i,o,c)=>{const f=i!==null?s.peek(i):void 0,[d,h]=G.useState(f??c),[S,g]=G.useState(i!==null&&f===void 0),[T,z]=G.useState(null);return G.useEffect(()=>{if(i===null||o===null)return;const R=s.peek(i);if(R!==void 0){h(R),g(!1),z(null);return}let C=!1;return g(!0),z(null),s.load(i,o).then(H=>{C||(h(H),g(!1))}).catch(H=>{C||(z(H instanceof Error?H.message:String(H)),g(!1))}),()=>{C=!0}},[s,i,o]),{data:d,isLoading:S,error:T}},jb=[],Vh=[],Kh=[],Hb=[],kb={state:"open",merged:!1,isPullRequest:!1},Bb=(s,i)=>{const o=i!==null?`${i.repo}#${i.number}`:null,c=i!==null?i.url:null,f=(i==null?void 0:i.isPr)??!1,d=uu(s.body,o,c,""),h=uu(s.state,o,c,kb),S=uu(s.comments,o,c,jb),g=uu(s.files,f?o:null,f?c:null,Vh),T=uu(s.commits,f?o:null,f?c:null,Kh),z=uu(s.relatedPrs,f?null:o,f?null:c,Hb),[R,C]=G.useState([]);return G.useEffect(()=>{if(f||z.data.length===0){C([]);return}let H=!1;const I=z.data.map(K=>({pullRequest:K,files:Vh,filesAreLoading:!0,filesError:null,commits:Kh,commitsAreLoading:!0,commitsError:null}));C(I);const F=(K,ct)=>{H||C(J=>J.map(yt=>yt.pullRequest.url===K?{...yt,...ct}:yt))};for(const K of z.data){const ct=K.url;s.files.load(ct,K.url).then(J=>F(K.url,{files:J,filesAreLoading:!1})).catch(J=>F(K.url,{filesAreLoading:!1,filesError:J instanceof Error?J.message:String(J)})),s.commits.load(ct,K.url).then(J=>F(K.url,{commits:J,commitsAreLoading:!1})).catch(J=>F(K.url,{commitsAreLoading:!1,commitsError:J instanceof Error?J.message:String(J)}))}return()=>{H=!0}},[s,f,z.data]),{state:h.data,body:d.data,bodyIsLoading:d.isLoading,bodyError:d.error,comments:S.data,commentsAreLoading:S.isLoading,commentsError:S.error,files:g.data,filesAreLoading:g.isLoading,filesError:g.error,commits:T.data,commitsAreLoading:T.isLoading,commitsError:T.error,relatedPullRequests:R}},qb=({tab:s,item:i,caches:o,operations:c,statusOptions:f,storyOptions:d,storyColors:h,storyName:S,overlayStatus:g,now:T,onQueueAction:z})=>{const R=Bb(o,i),{token:C}=Kc(),H=G.useCallback(J=>Ky(J,C),[C]),I=i.isPr||R.relatedPullRequests.length>0,F={onReview:J=>{var st;const yt=i.isPr?i.url:((st=R.relatedPullRequests[0])==null?void 0:st.pullRequest.url)??i.url;z({kind:{type:"review",action:J},item:i,commit:()=>{c.reviewPullRequest(i,yt,J)}})},onSetNextActionDate:J=>{z({kind:{type:"next_action_date",action:J},item:i,commit:()=>{c.setNextActionDate(i,J)}})},onSetStory:J=>{z({kind:{type:"set_story",optionName:J.name},item:i,commit:()=>{c.setStory(i,J)}})},onSetStatus:J=>{z({kind:{type:"set_status",optionName:J.name},item:i,commit:()=>{c.setStatus(i,J)}})},onSetInTmuxByHuman:J=>{z({kind:{type:"set_in_tmux_by_human",optionName:J.name},item:i,commit:()=>{c.setInTmuxByHuman(i,J)}})},onClose:J=>{z({kind:{type:"close",action:J},item:i,commit:()=>{c.closeIssue(i,J)}})}},K=S??(i.story.trim()!==""?i.story:null),ct=K!==null?Jh(h,K):null;return E.jsx(Nb,{item:i,storyName:K,storyColorEnum:ct,overlayStatus:g,state:R.state,body:R.body,bodyIsLoading:R.bodyIsLoading,bodyError:R.bodyError,comments:R.comments,commentsAreLoading:R.commentsAreLoading,commentsError:R.commentsError,files:R.files,filesAreLoading:R.filesAreLoading,filesError:R.filesError,commits:R.commits,commitsAreLoading:R.commitsAreLoading,commitsError:R.commitsError,relatedPullRequests:R.relatedPullRequests,now:T,buildImageProxyUrl:H,commentComposer:E.jsx(gb,{isPr:i.isPr,now:T,onSubmit:J=>c.addComment(i,J)}),operationBar:E.jsx(Lb,{tab:s,item:i,hasPullRequest:I,statusOptions:f,storyOptions:d,handlers:F})})},Yb=()=>{const s={};for(const i of yl)s[i.name]=0;return s},Gb="console",Zb=()=>{const s=Cy(),{snapshots:i,isLoading:o,error:c}=qy(s),f=my(s),{activeTab:d,selectedItemKey:h,openItem:S,closeItem:g,selectTab:T}=f,z=Ry(s??Gb),R=oy(),C=xy(s,d,z),H=F0(),I=Date.now(),F=G.useMemo(()=>{const k=Yb();for(const X of yl){const bt=i[X.name];bt!==null&&(k[X.name]=vy(bt.items,z.overlay))}return k},[i,z.overlay]),K=i[d],ct=G.useMemo(()=>K===null?[]:Sy(K.items,z.overlay),[K,z.overlay]),J=G.useMemo(()=>ct.map(k=>Fl(k)),[ct]),yt=G.useMemo(()=>k0(ct,z.overlay),[ct,z.overlay]),st=(K==null?void 0:K.storyColors)??{},Nt=(K==null?void 0:K.statusOptions)??[],pt=(K==null?void 0:K.storyOptions)??[],tt=(K==null?void 0:K.generatedAt)??null,Mt=G.useMemo(()=>h===null||K===null?null:K.items.find(k=>k.projectItemId===h)??null,[h,K]),Pt=F[d],te=G.useRef({tab:d,count:Pt});G.useEffect(()=>{const k=te.current;if(te.current={tab:d,count:Pt},k.tab===d&&k.count>0&&Pt===0){const X=Xy(d,F);X!==null&&(T(X),g())}},[d,Pt,F,T,g]);const he=(()=>{if(Mt===null)return null;const k=z.overlay[Fl(Mt)];return(k==null?void 0:k.status)??null})(),Bt=Mt!==null?mr(Mt,z.overlay):null,Ue=G.useCallback(k=>{const X=Yy(J,k);X!==null?S(X):g()},[J,S,g]),jt=G.useCallback(k=>{const X=Fl(k.item);H.enqueue({message:$0(k.kind,k.item,d),color:K0(k.kind),commit:k.commit,advance:()=>{J0(k.kind,d)&&Ue(X)}})},[H,d,Ue]),$t=G.useCallback(k=>{if(h===null||k===null)return;const X=k==="next"?Gy(J,h):Zy(J,h);X!==null&&S(X)},[h,J,S]),D=jy($t);return E.jsxs("main",{className:"console-app",children:[H.pending!==null&&E.jsx(X0,{message:H.pending.message,color:H.pending.color,remainingSeconds:H.pending.remainingSeconds,progress:H.pending.progress,onUndo:H.undo}),E.jsx(j0,{activeTab:d,counts:F,pjcode:s,generatedAt:tt,tabHref:f.tabHref,onSelectTab:f.selectTab}),Mt===null?E.jsx(Z0,{rows:yt,storyColors:st,activeItemId:null,now:I,isLoading:o,error:c,onSelectItem:k=>f.openItem(k.projectItemId)}):E.jsxs("div",{className:"console-detail-screen",ref:D,children:[E.jsx("button",{type:"button",className:"console-back-button",onClick:g,children:"← Back to list"}),E.jsx(qb,{tab:d,item:Mt,caches:R,operations:C,statusOptions:Nt,storyOptions:pt,storyColors:st,storyName:Bt,overlayStatus:he,now:I,onQueueAction:jt})]})]})},vp=document.getElementById("root");if(vp===null)throw new Error("Root container #root not found");w0.createRoot(vp).render(E.jsx(G.StrictMode,{children:E.jsx(Zb,{})}));
|
|
101
|
+
`)[0],bp=({commits:s,isLoading:i,error:o,now:c})=>o!==null?E.jsxs("p",{role:"alert",className:"console-commits-error",children:["Failed to load commits: ",o]}):i?E.jsx("p",{className:"console-commits-loading",children:"Loading commits..."}):s.length===0?E.jsx("p",{className:"console-commits-empty",children:"No commits."}):E.jsx("ul",{className:"console-commits",children:s.map(f=>E.jsxs("li",{className:"console-commit",children:[E.jsx("span",{className:"console-commit-message",children:_b(f.message)}),E.jsx("span",{className:"console-commit-sha",children:Ab(f.sha)}),E.jsx("span",{className:"console-commit-author",children:f.author}),E.jsx("span",{className:"console-commit-time",children:mi(f.authoredAt,c)})]},f.sha))}),xb=({pullRequest:s,body:i,bodyIsLoading:o,files:c,filesAreLoading:f,filesError:d,commits:h,commitsAreLoading:S,commitsError:g,now:T,buildImageProxyUrl:z})=>{const R=s.summary,C=f||d!==null?null:c.length,H=S||g!==null?null:h.length;return E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:"console-pr-header",children:[E.jsx("a",{href:s.url,className:"console-pr-section-title",target:"_blank",rel:"noopener noreferrer",children:(R==null?void 0:R.title)??s.url}),s.isDraft&&E.jsx("span",{className:"console-pr-section-state",children:"draft"}),E.jsxs("div",{className:"console-pr-statbar",children:[s.branchName!==null&&E.jsx("span",{className:"console-pr-branch",children:s.branchName}),R!==null&&E.jsxs(E.Fragment,{children:[E.jsxs("span",{className:"console-pr-add",children:["+",R.additions]}),E.jsxs("span",{className:"console-pr-del",children:["-",R.deletions]}),E.jsxs("span",{className:"console-pr-files-count",children:[R.changedFiles," files"]})]})]})]}),E.jsx(sa,{title:"Description",defaultCollapsed:!0,children:o?E.jsx("p",{className:"console-pr-body-loading",children:"Loading description..."}):E.jsx($c,{body:(R==null?void 0:R.body)??i,buildImageProxyUrl:z})}),E.jsx(sa,{title:"Changed files",count:C,children:E.jsx(yp,{files:c,isLoading:f,error:d})}),E.jsx(sa,{title:"Commits",count:H,defaultCollapsed:!0,children:E.jsx(bp,{commits:h,isLoading:S,error:g,now:T})})]})},Nb=({item:s,storyName:i,storyColorEnum:o,overlayStatus:c,state:f,body:d,bodyIsLoading:h,bodyError:S,comments:g,commentsAreLoading:T,commentsError:z,files:R,filesAreLoading:C,filesError:H,commits:I,commitsAreLoading:F,commitsError:K,relatedPullRequests:ct,now:J,commentComposer:yt,operationBar:st,buildImageProxyUrl:Nt})=>{const pt=(f==null?void 0:f.state)??"open",tt=(f==null?void 0:f.merged)??!1,Mt=!s.isPr&&pt==="closed"?"Closed":null,Pt=di(o),te=c?di(c.color):null,he=C||H!==null?null:R.length,Bt=T||z!==null?null:g.length,Ue=F||K!==null?null:I.length;return E.jsxs("article",{className:"console-detail",children:[i!==null&&E.jsx("div",{className:"console-detail-story",children:E.jsxs("span",{className:"console-storytag",children:[E.jsx("span",{className:"console-story-dot",style:{backgroundColor:Pt.dot}}),i]})}),c!==null&&te!==null&&E.jsx("span",{className:"console-detail-status-chip",style:{color:te.fg,borderColor:te.border,backgroundColor:te.bg},children:c.name}),E.jsxs("h2",{className:"console-detail-title",children:[E.jsx(Fh,{isPr:s.isPr,state:pt,merged:tt,isDraft:!1,stateReason:""}),E.jsx("span",{className:"console-detail-title-text",children:s.title}),E.jsx("span",{className:"console-detail-number",children:s.isPr?`PR #${s.number}`:`#${s.number}`}),Mt!==null&&E.jsx("span",{className:"console-detail-closed-label",children:Mt})]}),E.jsxs("div",{className:"console-detail-subbar",children:[E.jsx("a",{href:s.url,className:"console-detail-link",target:"_blank",rel:"noopener noreferrer",children:s.isPr?`PR #${s.number}`:`Issue #${s.number}`}),E.jsx("span",{className:"console-detail-repo",children:s.repo}),E.jsx("span",{className:"console-detail-pill",children:s.isPr?"PR":"Issue"})]}),s.labels.length>0&&E.jsx("div",{className:"console-detail-labels",children:s.labels.map(jt=>E.jsx("span",{className:"console-label-chip",children:jt},jt))}),E.jsxs("div",{className:"console-detail-createdat",title:Sr(s.createdAt),children:["opened ",mi(s.createdAt,J)]}),E.jsx(sa,{title:"Description",headerAction:E.jsx("a",{href:s.url,className:"console-panel-open-link",target:"_blank",rel:"noopener noreferrer",children:"open"}),children:S!==null?E.jsxs("p",{role:"alert",className:"console-detail-body-error",children:["Failed to load description: ",S]}):h?E.jsx("p",{className:"console-detail-body-loading",children:"Loading description..."}):E.jsx($c,{body:d,buildImageProxyUrl:Nt})}),s.isPr&&E.jsx(sa,{title:"Changed files",count:he,children:E.jsx(yp,{files:R,isLoading:C,error:H})}),E.jsx(sa,{title:"Comments",count:Bt,defaultCollapsed:s.isPr,children:E.jsx(Eb,{comments:g,isLoading:T,error:z,now:J,buildImageProxyUrl:Nt})}),s.isPr&&E.jsx(sa,{title:"Commits",count:Ue,defaultCollapsed:!0,children:E.jsx(bp,{commits:I,isLoading:F,error:K,now:J})}),!s.isPr&&ct.map(jt=>{var $t;return E.jsx(xb,{pullRequest:jt.pullRequest,body:(($t=jt.pullRequest.summary)==null?void 0:$t.body)??"",bodyIsLoading:!1,files:jt.files,filesAreLoading:jt.filesAreLoading,filesError:jt.filesError,commits:jt.commits,commitsAreLoading:jt.commitsAreLoading,commitsError:jt.commitsError,now:J,buildImageProxyUrl:Nt},jt.pullRequest.url)}),yt,E.jsx("div",{className:"console-actionbar",children:st})]})},Ob=({onClose:s})=>E.jsxs("div",{className:"console-op-group",children:[E.jsx("button",{type:"button",className:"console-op-button",onClick:()=>s("close_not_planned"),children:"Close as not planned"}),E.jsx("button",{type:"button",className:"console-op-button",onClick:()=>s("close"),children:"Close"})]}),zb=({isTodoByHuman:s,onSetNextActionDate:i})=>E.jsxs("div",{className:"console-op-group",children:[E.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>i("snooze_1day"),children:"+1 day"}),E.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>i("snooze_1week"),children:s?"+1 week and skip":"+1 week"})]}),Rb=[{action:"unnecessary",label:"Unnecessary",variant:"unneeded"},{action:"totally_wrong",label:"Totally wrong",variant:"wrong"},{action:"request_changes",label:"Reject",variant:"reject"},{action:"approve",label:"Approve",variant:"approve"}],Mb=({onReview:s})=>E.jsx("div",{className:"console-op-group console-op-group-review",children:Rb.map(i=>E.jsx("button",{type:"button",className:`console-op-button console-op-button-${i.variant}`,onClick:()=>s(i.action),children:i.label},i.action))}),Cb=(s,i)=>{const o=i.toLowerCase();return s.find(c=>c.name.toLowerCase()===o)??null},Db=({statusOptions:s,onSetStatus:i,onSetInTmuxByHuman:o})=>{const c=gy.map(f=>({name:f,option:Cb(s,f)})).filter(f=>f.option!==null);return c.length===0?null:E.jsx("div",{className:"console-op-group",children:c.map(({name:f,option:d})=>{const h=di(d.color),S=f===yy;return E.jsx("button",{type:"button",className:"console-op-button",style:{color:h.fg,borderColor:h.border,backgroundColor:h.bg},onClick:()=>S?o(d):i(d),children:d.name},d.id)})})},Ub=s=>s.name.toLowerCase().includes("no story"),wb=({storyOptions:s,onSetStory:i})=>{const o=s.filter(c=>!Ub(c));return o.length===0?null:E.jsx("div",{className:"console-op-group console-op-group-stories",children:o.map(c=>{const f=di(c.color);return E.jsx("button",{type:"button",className:"console-op-button",style:{color:f.fg,borderColor:f.border,backgroundColor:f.bg},onClick:()=>i(c),children:c.name},c.id)})})},Lb=({tab:s,item:i,hasPullRequest:o,statusOptions:c,storyOptions:f,handlers:d})=>{const h=s==="triage",S=!i.isPr;return E.jsxs("div",{className:"console-operation-bar",children:[o&&E.jsx(Mb,{onReview:d.onReview}),E.jsx(zb,{isTodoByHuman:by(s),onSetNextActionDate:d.onSetNextActionDate}),h&&E.jsx(wb,{storyOptions:f,onSetStory:d.onSetStory}),E.jsx(Db,{statusOptions:c,onSetStatus:d.onSetStatus,onSetInTmuxByHuman:d.onSetInTmuxByHuman}),S&&E.jsx(Ob,{onClose:d.onClose})]})},uu=(s,i,o,c)=>{const f=i!==null?s.peek(i):void 0,[d,h]=G.useState(f??c),[S,g]=G.useState(i!==null&&f===void 0),[T,z]=G.useState(null);return G.useEffect(()=>{if(i===null||o===null)return;const R=s.peek(i);if(R!==void 0){h(R),g(!1),z(null);return}let C=!1;return g(!0),z(null),s.load(i,o).then(H=>{C||(h(H),g(!1))}).catch(H=>{C||(z(H instanceof Error?H.message:String(H)),g(!1))}),()=>{C=!0}},[s,i,o]),{data:d,isLoading:S,error:T}},jb=[],Vh=[],Kh=[],Hb=[],kb={state:"open",merged:!1,isPullRequest:!1},Bb=(s,i)=>{const o=i!==null?`${i.repo}#${i.number}`:null,c=i!==null?i.url:null,f=(i==null?void 0:i.isPr)??!1,d=uu(s.body,o,c,""),h=uu(s.state,o,c,kb),S=uu(s.comments,o,c,jb),g=uu(s.files,f?o:null,f?c:null,Vh),T=uu(s.commits,f?o:null,f?c:null,Kh),z=uu(s.relatedPrs,f?null:o,f?null:c,Hb),[R,C]=G.useState([]);return G.useEffect(()=>{if(f||z.data.length===0){C([]);return}let H=!1;const I=z.data.map(K=>({pullRequest:K,files:Vh,filesAreLoading:!0,filesError:null,commits:Kh,commitsAreLoading:!0,commitsError:null}));C(I);const F=(K,ct)=>{H||C(J=>J.map(yt=>yt.pullRequest.url===K?{...yt,...ct}:yt))};for(const K of z.data){const ct=K.url;s.files.load(ct,K.url).then(J=>F(K.url,{files:J,filesAreLoading:!1})).catch(J=>F(K.url,{filesAreLoading:!1,filesError:J instanceof Error?J.message:String(J)})),s.commits.load(ct,K.url).then(J=>F(K.url,{commits:J,commitsAreLoading:!1})).catch(J=>F(K.url,{commitsAreLoading:!1,commitsError:J instanceof Error?J.message:String(J)}))}return()=>{H=!0}},[s,f,z.data]),{state:h.data,body:d.data,bodyIsLoading:d.isLoading,bodyError:d.error,comments:S.data,commentsAreLoading:S.isLoading,commentsError:S.error,files:g.data,filesAreLoading:g.isLoading,filesError:g.error,commits:T.data,commitsAreLoading:T.isLoading,commitsError:T.error,relatedPullRequests:R}},qb=({tab:s,item:i,caches:o,operations:c,statusOptions:f,storyOptions:d,storyColors:h,storyName:S,overlayStatus:g,now:T,onQueueAction:z})=>{const R=Bb(o,i),{token:C}=Kc(),H=G.useCallback(J=>Ky(J,C),[C]),I=i.isPr||R.relatedPullRequests.length>0,F={onReview:J=>{var st;const yt=i.isPr?i.url:((st=R.relatedPullRequests[0])==null?void 0:st.pullRequest.url)??i.url;z({kind:{type:"review",action:J},item:i,commit:()=>{c.reviewPullRequest(i,yt,J)}})},onSetNextActionDate:J=>{z({kind:{type:"next_action_date",action:J},item:i,commit:()=>{c.setNextActionDate(i,J)}})},onSetStory:J=>{z({kind:{type:"set_story",optionName:J.name},item:i,commit:()=>{c.setStory(i,J)}})},onSetStatus:J=>{z({kind:{type:"set_status",optionName:J.name},item:i,commit:()=>{c.setStatus(i,J)}})},onSetInTmuxByHuman:J=>{z({kind:{type:"set_in_tmux_by_human",optionName:J.name},item:i,commit:()=>{c.setInTmuxByHuman(i,J)}})},onClose:J=>{z({kind:{type:"close",action:J},item:i,commit:()=>{c.closeIssue(i,J)}})}},K=S??(i.story.trim()!==""?i.story:null),ct=K!==null?Jh(h,K):null;return E.jsx(Nb,{item:i,storyName:K,storyColorEnum:ct,overlayStatus:g,state:R.state,body:R.body,bodyIsLoading:R.bodyIsLoading,bodyError:R.bodyError,comments:R.comments,commentsAreLoading:R.commentsAreLoading,commentsError:R.commentsError,files:R.files,filesAreLoading:R.filesAreLoading,filesError:R.filesError,commits:R.commits,commitsAreLoading:R.commitsAreLoading,commitsError:R.commitsError,relatedPullRequests:R.relatedPullRequests,now:T,buildImageProxyUrl:H,commentComposer:E.jsx(gb,{isPr:i.isPr,now:T,onSubmit:J=>c.addComment(i,J)}),operationBar:E.jsx(Lb,{tab:s,item:i,hasPullRequest:I,statusOptions:f,storyOptions:d,handlers:F})})},Yb=()=>{const s={};for(const i of yl)s[i.name]=0;return s},Gb="console",Zb=()=>{const s=Cy(),{snapshots:i,isLoading:o,error:c}=qy(s),f=my(s),{activeTab:d,selectedItemKey:h,openItem:S,closeItem:g,selectTab:T}=f,z=Ry(s??Gb),R=oy(),C=xy(s,d,z),H=F0(),I=Date.now(),F=G.useMemo(()=>{const k=Yb();for(const X of yl){const bt=i[X.name];bt!==null&&(k[X.name]=vy(bt.items,z.overlay))}return k},[i,z.overlay]),K=i[d],ct=G.useMemo(()=>K===null?[]:Sy(K.items,z.overlay),[K,z.overlay]),J=G.useMemo(()=>ct.map(k=>Fl(k)),[ct]),yt=G.useMemo(()=>k0(ct,z.overlay),[ct,z.overlay]),st=(K==null?void 0:K.storyColors)??{},Nt=(K==null?void 0:K.statusOptions)??[],pt=(K==null?void 0:K.storyOptions)??[],tt=(K==null?void 0:K.generatedAt)??null,Mt=G.useMemo(()=>h===null||K===null?null:K.items.find(k=>k.projectItemId===h)??null,[h,K]),Pt=F[d],te=G.useRef({tab:d,count:Pt});G.useEffect(()=>{const k=te.current;if(te.current={tab:d,count:Pt},k.tab===d&&k.count>0&&Pt===0){const X=Xy(d,F);X!==null&&(T(X),g())}},[d,Pt,F,T,g]);const he=(()=>{if(Mt===null)return null;const k=z.overlay[Fl(Mt)];return(k==null?void 0:k.status)??null})(),Bt=Mt!==null?mr(Mt,z.overlay):null,Ue=G.useCallback(k=>{const X=Yy(J,k);X!==null?S(X):g()},[J,S,g]),jt=G.useCallback(k=>{const X=Fl(k.item);H.enqueue({message:$0(k.kind,k.item,d),color:K0(k.kind),commit:k.commit,advance:()=>{J0(k.kind,d)&&Ue(X)}})},[H,d,Ue]),$t=G.useCallback(k=>{if(h===null||k===null)return;const X=k==="next"?Gy(J,h):Zy(J,h);X!==null&&S(X)},[h,J,S]),D=jy($t);return E.jsxs("main",{className:"console-app",children:[H.pending!==null&&E.jsx(X0,{message:H.pending.message,color:H.pending.color,remainingSeconds:H.pending.remainingSeconds,progress:H.pending.progress,onUndo:H.undo}),E.jsx(j0,{activeTab:d,counts:F,pjcode:s,generatedAt:tt,tabHref:f.tabHref,onSelectTab:f.selectTab}),Mt===null?E.jsx(Z0,{rows:yt,storyColors:st,activeItemId:null,now:I,isLoading:o,error:c,onSelectItem:k=>f.openItem(k.projectItemId)}):E.jsxs("div",{className:"console-detail-screen",ref:D,children:[E.jsx("button",{type:"button",className:"console-back-button",onClick:g,children:"← Back to list"}),E.jsx(qb,{tab:d,item:Mt,caches:R,operations:C,statusOptions:Nt,storyOptions:pt,storyColors:st,storyName:Bt,overlayStatus:he,now:I,onQueueAction:jt})]})]})},vp=document.getElementById("root");if(vp===null)throw new Error("Root container #root not found");w0.createRoot(vp).render(E.jsx(G.StrictMode,{children:E.jsx(Zb,{})}));
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>TDPM Console</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-BFKRWKvS.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-CzVHU81K.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InTmuxByHumanSessionTokenCountHandler = void 0;
|
|
4
|
+
const InTmuxByHumanSessionTokenCountUseCase_1 = require("../../../domain/usecases/InTmuxByHumanSessionTokenCountUseCase");
|
|
5
|
+
const ProcClaudeInteractiveSessionRepository_1 = require("../../repositories/ProcClaudeInteractiveSessionRepository");
|
|
6
|
+
const TokenListLoader_1 = require("../../proxy/TokenListLoader");
|
|
7
|
+
const OauthTokenSelectHandler_1 = require("./OauthTokenSelectHandler");
|
|
8
|
+
class InTmuxByHumanSessionTokenCountHandler {
|
|
9
|
+
constructor(useCase = new InTmuxByHumanSessionTokenCountUseCase_1.InTmuxByHumanSessionTokenCountUseCase(), interactiveSessionRepository = new ProcClaudeInteractiveSessionRepository_1.ProcClaudeInteractiveSessionRepository()) {
|
|
10
|
+
this.useCase = useCase;
|
|
11
|
+
this.interactiveSessionRepository = interactiveSessionRepository;
|
|
12
|
+
this.handle = (input) => {
|
|
13
|
+
const tokenListJsonPath = (0, OauthTokenSelectHandler_1.resolveTokenListJsonPath)(input.tokenListJsonPath);
|
|
14
|
+
if (tokenListJsonPath === null) {
|
|
15
|
+
return {
|
|
16
|
+
lines: [],
|
|
17
|
+
diagnostics: [
|
|
18
|
+
'No token list path provided. Pass --tokenListJsonPath or set CLAUDE_CODE_OAUTH_TOKEN_LIST_JSON_PATH.',
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const entries = (0, TokenListLoader_1.loadTokenEntries)(tokenListJsonPath);
|
|
23
|
+
if (entries === null) {
|
|
24
|
+
return {
|
|
25
|
+
lines: [],
|
|
26
|
+
diagnostics: [
|
|
27
|
+
`No usable token entries loaded from ${tokenListJsonPath}.`,
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const candidates = entries.map(({ name, token }) => ({
|
|
32
|
+
name,
|
|
33
|
+
token,
|
|
34
|
+
snapshot: null,
|
|
35
|
+
}));
|
|
36
|
+
const interactiveSessions = this.interactiveSessionRepository.listInteractiveSessions();
|
|
37
|
+
const result = this.useCase.run(candidates, interactiveSessions, input.issues);
|
|
38
|
+
const lines = result.counts.map((count) => `${count.name}\t${count.count}`);
|
|
39
|
+
const totalSessions = result.counts.reduce((sum, count) => sum + count.count, 0);
|
|
40
|
+
const diagnostics = [
|
|
41
|
+
`Counted ${totalSessions} live In-Tmux-by-human session(s) across ${result.counts.length} token(s).`,
|
|
42
|
+
];
|
|
43
|
+
return { lines, diagnostics };
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.InTmuxByHumanSessionTokenCountHandler = InTmuxByHumanSessionTokenCountHandler;
|
|
48
|
+
//# sourceMappingURL=InTmuxByHumanSessionTokenCountHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InTmuxByHumanSessionTokenCountHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.ts"],"names":[],"mappings":";;;AAEA,0HAAuH;AAEvH,sHAAmH;AACnH,iEAA+D;AAC/D,uEAAqE;AAYrE,MAAa,qCAAqC;IAChD,YACmB,UAAiD,IAAI,6EAAqC,EAAE,EAC5F,+BAAmE,IAAI,+EAAsC,EAAE;QAD/G,YAAO,GAAP,OAAO,CAAqF;QAC5F,iCAA4B,GAA5B,4BAA4B,CAAmF;QAGlI,WAAM,GAAG,CACP,KAAiD,EACJ,EAAE;YAC/C,MAAM,iBAAiB,GAAG,IAAA,kDAAwB,EAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC5E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,OAAO;oBACL,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE;wBACX,sGAAsG;qBACvG;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,kCAAgB,EAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO;oBACL,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE;wBACX,uCAAuC,iBAAiB,GAAG;qBAC5D;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAA0B,OAAO,CAAC,GAAG,CACnD,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,IAAI;gBACJ,KAAK;gBACL,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;YAEF,MAAM,mBAAmB,GACvB,IAAI,CAAC,4BAA4B,CAAC,uBAAuB,EAAE,CAAC;YAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAC7B,UAAU,EACV,mBAAmB,EACnB,KAAK,CAAC,MAAM,CACb,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAE5E,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,EACjC,CAAC,CACF,CAAC;YACF,MAAM,WAAW,GAAG;gBAClB,WAAW,aAAa,4CAA4C,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY;aACrG,CAAC;YAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QAChC,CAAC,CAAC;IArDC,CAAC;CAsDL;AA1DD,sFA0DC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ProcClaudeInteractiveSessionRepository = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const DEFAULT_PROC_DIRECTORY = '/proc';
|
|
40
|
+
const OAUTH_TOKEN_ENVIRON_KEY = 'CLAUDE_CODE_OAUTH_TOKEN';
|
|
41
|
+
const SESSION_ID_ENVIRON_KEY = 'CLAUDE_CODE_SESSION_ID';
|
|
42
|
+
const NAME_ARGUMENT = '--name';
|
|
43
|
+
const TAKE_OWNERSHIP_MARKER = 'Take ownership';
|
|
44
|
+
const isIssueUrl = (value) => value.startsWith('http://') || value.startsWith('https://');
|
|
45
|
+
const parseCommandLineArguments = (cmdline) => cmdline.split('\0').filter((argument) => argument.length > 0);
|
|
46
|
+
const extractIssueUrl = (commandArguments) => {
|
|
47
|
+
for (let index = 0; index < commandArguments.length - 1; index += 1) {
|
|
48
|
+
if (commandArguments[index] === NAME_ARGUMENT) {
|
|
49
|
+
const value = commandArguments[index + 1] ?? '';
|
|
50
|
+
if (isIssueUrl(value)) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
const isTakeOwnershipSpawn = (commandArguments) => commandArguments.some((argument) => argument.includes(TAKE_OWNERSHIP_MARKER));
|
|
58
|
+
class ProcClaudeInteractiveSessionRepository {
|
|
59
|
+
constructor(procDirectory = DEFAULT_PROC_DIRECTORY) {
|
|
60
|
+
this.procDirectory = procDirectory;
|
|
61
|
+
this.listInteractiveSessions = () => {
|
|
62
|
+
const interactiveSessions = [];
|
|
63
|
+
for (const pidDirectory of this.listProcessIdDirectories()) {
|
|
64
|
+
const interactiveSession = this.readInteractiveSession(pidDirectory);
|
|
65
|
+
if (interactiveSession !== null) {
|
|
66
|
+
interactiveSessions.push(interactiveSession);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return interactiveSessions;
|
|
70
|
+
};
|
|
71
|
+
this.listProcessIdDirectories = () => {
|
|
72
|
+
let entries;
|
|
73
|
+
try {
|
|
74
|
+
entries = fs.readdirSync(this.procDirectory);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
return entries.filter((entry) => /^\d+$/.test(entry));
|
|
80
|
+
};
|
|
81
|
+
this.readInteractiveSession = (processIdDirectory) => {
|
|
82
|
+
const commandArguments = this.readCommandArguments(processIdDirectory);
|
|
83
|
+
if (commandArguments === null) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
if (isTakeOwnershipSpawn(commandArguments)) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
const issueUrl = extractIssueUrl(commandArguments);
|
|
90
|
+
if (issueUrl === null) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
const environ = this.readEnviron(processIdDirectory);
|
|
94
|
+
if (environ === null) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const token = environ.get(OAUTH_TOKEN_ENVIRON_KEY);
|
|
98
|
+
const sessionId = environ.get(SESSION_ID_ENVIRON_KEY);
|
|
99
|
+
if (token === undefined ||
|
|
100
|
+
token.length === 0 ||
|
|
101
|
+
sessionId === undefined ||
|
|
102
|
+
sessionId.length === 0) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
return { token, sessionId, issueUrl };
|
|
106
|
+
};
|
|
107
|
+
this.readCommandArguments = (processIdDirectory) => {
|
|
108
|
+
const cmdlinePath = path.join(this.procDirectory, processIdDirectory, 'cmdline');
|
|
109
|
+
let raw;
|
|
110
|
+
try {
|
|
111
|
+
raw = fs.readFileSync(cmdlinePath, 'utf8');
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
return parseCommandLineArguments(raw);
|
|
117
|
+
};
|
|
118
|
+
this.readEnviron = (processIdDirectory) => {
|
|
119
|
+
const environPath = path.join(this.procDirectory, processIdDirectory, 'environ');
|
|
120
|
+
let raw;
|
|
121
|
+
try {
|
|
122
|
+
raw = fs.readFileSync(environPath, 'utf8');
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const environ = new Map();
|
|
128
|
+
for (const entry of raw.split('\0')) {
|
|
129
|
+
if (entry.length === 0) {
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
const separatorIndex = entry.indexOf('=');
|
|
133
|
+
if (separatorIndex <= 0) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const key = entry.slice(0, separatorIndex);
|
|
137
|
+
const value = entry.slice(separatorIndex + 1);
|
|
138
|
+
environ.set(key, value);
|
|
139
|
+
}
|
|
140
|
+
return environ;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.ProcClaudeInteractiveSessionRepository = ProcClaudeInteractiveSessionRepository;
|
|
145
|
+
//# sourceMappingURL=ProcClaudeInteractiveSessionRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcClaudeInteractiveSessionRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcClaudeInteractiveSessionRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAM7B,MAAM,sBAAsB,GAAG,OAAO,CAAC;AACvC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AACxD,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAE/C,MAAM,UAAU,GAAG,CAAC,KAAa,EAAW,EAAE,CAC5C,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE9D,MAAM,yBAAyB,GAAG,CAAC,OAAe,EAAY,EAAE,CAC9D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEhE,MAAM,eAAe,GAAG,CAAC,gBAA0B,EAAiB,EAAE;IACpE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpE,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,aAAa,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,gBAA0B,EAAW,EAAE,CACnE,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAEhF,MAAa,sCAAsC;IACjD,YACmB,gBAAwB,sBAAsB;QAA9C,kBAAa,GAAb,aAAa,CAAiC;QAGjE,4BAAuB,GAAG,GAA+B,EAAE;YACzD,MAAM,mBAAmB,GAA+B,EAAE,CAAC;YAC3D,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;gBACrE,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;oBAChC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC,CAAC;QAEM,6BAAwB,GAAG,GAAa,EAAE;YAChD,IAAI,OAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAC/B,kBAA0B,EACO,EAAE;YACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YACvE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YACrD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACtD,IACE,KAAK,KAAK,SAAS;gBACnB,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,SAAS,KAAK,SAAS;gBACvB,SAAS,CAAC,MAAM,KAAK,CAAC,EACtB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACxC,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAC7B,kBAA0B,EACT,EAAE;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,aAAa,EAClB,kBAAkB,EAClB,SAAS,CACV,CAAC;YACF,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC;QAEM,gBAAW,GAAG,CACpB,kBAA0B,EACE,EAAE;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,aAAa,EAClB,kBAAkB,EAClB,SAAS,CACV,CAAC;YACF,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IAnGC,CAAC;CAoGL;AAvGD,wFAuGC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InTmuxByHumanSessionTokenCountUseCase = void 0;
|
|
4
|
+
const WorkflowStatus_1 = require("../entities/WorkflowStatus");
|
|
5
|
+
class InTmuxByHumanSessionTokenCountUseCase {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.run = (candidates, interactiveSessions, issues) => {
|
|
8
|
+
const inTmuxByHumanIssueUrls = this.inTmuxByHumanIssueUrls(issues);
|
|
9
|
+
const distinctSessionIdsByToken = this.distinctSessionIdsByToken(interactiveSessions, inTmuxByHumanIssueUrls);
|
|
10
|
+
const counts = candidates.map((candidate) => ({
|
|
11
|
+
name: candidate.name,
|
|
12
|
+
token: candidate.token,
|
|
13
|
+
count: distinctSessionIdsByToken.get(candidate.token)?.size ?? 0,
|
|
14
|
+
}));
|
|
15
|
+
return { counts };
|
|
16
|
+
};
|
|
17
|
+
this.inTmuxByHumanIssueUrls = (issues) => {
|
|
18
|
+
const urls = new Set();
|
|
19
|
+
for (const issue of issues) {
|
|
20
|
+
if (issue.status === WorkflowStatus_1.IN_TMUX_STATUS_NAME && issue.isClosed === false) {
|
|
21
|
+
urls.add(issue.url);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return urls;
|
|
25
|
+
};
|
|
26
|
+
this.distinctSessionIdsByToken = (interactiveSessions, inTmuxByHumanIssueUrls) => {
|
|
27
|
+
const sessionIdsByToken = new Map();
|
|
28
|
+
for (const session of interactiveSessions) {
|
|
29
|
+
if (!inTmuxByHumanIssueUrls.has(session.issueUrl)) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const sessionIds = sessionIdsByToken.get(session.token) ?? new Set();
|
|
33
|
+
sessionIds.add(session.sessionId);
|
|
34
|
+
sessionIdsByToken.set(session.token, sessionIds);
|
|
35
|
+
}
|
|
36
|
+
return sessionIdsByToken;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.InTmuxByHumanSessionTokenCountUseCase = InTmuxByHumanSessionTokenCountUseCase;
|
|
41
|
+
//# sourceMappingURL=InTmuxByHumanSessionTokenCountUseCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InTmuxByHumanSessionTokenCountUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.ts"],"names":[],"mappings":";;;AACA,+DAAiE;AAcjE,MAAa,qCAAqC;IAAlD;QACE,QAAG,GAAG,CACJ,UAAiC,EACjC,mBAA+C,EAC/C,MAAe,EACuB,EAAE;YACxC,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAC9D,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;YAEF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC;aACjE,CAAC,CAAC,CAAC;YAEJ,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,MAAe,EAAe,EAAE;YAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,oCAAmB,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACrE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAClC,mBAA+C,EAC/C,sBAAmC,EACT,EAAE;YAC5B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;YACzD,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClD,SAAS;gBACX,CAAC;gBACD,MAAM,UAAU,GACd,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;gBAC5D,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC;CAAA;AA/CD,sFA+CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeInteractiveSessionRepository.js","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.ts"],"names":[],"mappings":""}
|