github-issue-tower-defence-management 2.151.5 → 2.152.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.
@@ -36,13 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ProcTakeOwnershipSpawnRepository = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const ProcTakeOwnershipWorkerSessionReader_1 = require("./ProcTakeOwnershipWorkerSessionReader");
39
40
  const DEFAULT_PROC_DIRECTORY = '/proc';
40
- const OAUTH_TOKEN_ENVIRON_KEY = 'CLAUDE_CODE_OAUTH_TOKEN';
41
- const TAKE_OWNERSHIP_MARKER = 'Take ownership';
42
41
  const LOG_PATH_PATTERN = /\/logs-aw\/[^\0"]+\.log/;
43
42
  const ISSUE_URL_PATTERN = /Take ownership of (https:\/\/github\.com\/[^ \0"]+)/;
44
- const parseCommandLineArguments = (cmdline) => cmdline.split('\0').filter((argument) => argument.length > 0);
45
- const isTakeOwnershipSpawn = (commandArguments) => commandArguments.some((argument) => argument.includes(TAKE_OWNERSHIP_MARKER));
46
43
  const extractLogPath = (cmdline) => {
47
44
  const match = cmdline.match(LOG_PATH_PATTERN);
48
45
  return match === null ? null : match[0];
@@ -50,16 +47,12 @@ const extractLogPath = (cmdline) => {
50
47
  class ProcTakeOwnershipSpawnRepository {
51
48
  constructor(procDirectory = DEFAULT_PROC_DIRECTORY) {
52
49
  this.procDirectory = procDirectory;
53
- this.listSpawns = () => {
54
- const spawns = [];
55
- for (const pidDirectory of this.listProcessIdDirectories()) {
56
- const spawn = this.readSpawn(pidDirectory);
57
- if (spawn !== null) {
58
- spawns.push(spawn);
59
- }
60
- }
61
- return spawns;
62
- };
50
+ this.listSpawns = () => this.workerSessionReader.listWorkerSessions().flatMap((session) => session.workerProcesses.flatMap((workerProcess) => {
51
+ const logPath = extractLogPath(workerProcess.rawCommandLine);
52
+ return logPath === null
53
+ ? []
54
+ : [{ token: session.sessionToken, logPath }];
55
+ }));
63
56
  this.listRunningIssueUrls = () => {
64
57
  const urls = [];
65
58
  for (const pidDirectory of this.listProcessIdDirectories()) {
@@ -84,29 +77,6 @@ class ProcTakeOwnershipSpawnRepository {
84
77
  }
85
78
  return entries.filter((entry) => /^\d+$/.test(entry));
86
79
  };
87
- this.readSpawn = (processIdDirectory) => {
88
- const rawCmdline = this.readRawCmdline(processIdDirectory);
89
- if (rawCmdline === null) {
90
- return null;
91
- }
92
- const commandArguments = parseCommandLineArguments(rawCmdline);
93
- if (!isTakeOwnershipSpawn(commandArguments)) {
94
- return null;
95
- }
96
- const logPath = extractLogPath(rawCmdline);
97
- if (logPath === null) {
98
- return null;
99
- }
100
- const environ = this.readEnviron(processIdDirectory);
101
- if (environ === null) {
102
- return null;
103
- }
104
- const token = environ.get(OAUTH_TOKEN_ENVIRON_KEY);
105
- if (token === undefined || token.length === 0) {
106
- return null;
107
- }
108
- return { token, logPath };
109
- };
110
80
  this.readRawCmdline = (processIdDirectory) => {
111
81
  const cmdlinePath = path.join(this.procDirectory, processIdDirectory, 'cmdline');
112
82
  try {
@@ -116,30 +86,7 @@ class ProcTakeOwnershipSpawnRepository {
116
86
  return null;
117
87
  }
118
88
  };
119
- this.readEnviron = (processIdDirectory) => {
120
- const environPath = path.join(this.procDirectory, processIdDirectory, 'environ');
121
- let raw;
122
- try {
123
- raw = fs.readFileSync(environPath, 'utf8');
124
- }
125
- catch {
126
- return null;
127
- }
128
- const environ = new Map();
129
- for (const entry of raw.split('\0')) {
130
- if (entry.length === 0) {
131
- continue;
132
- }
133
- const separatorIndex = entry.indexOf('=');
134
- if (separatorIndex <= 0) {
135
- continue;
136
- }
137
- const key = entry.slice(0, separatorIndex);
138
- const value = entry.slice(separatorIndex + 1);
139
- environ.set(key, value);
140
- }
141
- return environ;
142
- };
89
+ this.workerSessionReader = new ProcTakeOwnershipWorkerSessionReader_1.ProcTakeOwnershipWorkerSessionReader(procDirectory);
143
90
  }
144
91
  }
145
92
  exports.ProcTakeOwnershipSpawnRepository = ProcTakeOwnershipSpawnRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"ProcTakeOwnershipSpawnRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcTakeOwnershipSpawnRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcTakeOwnershipSpawnRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcTakeOwnershipSpawnRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAK7B,iGAA8F;AAE9F,MAAM,sBAAsB,GAAG,OAAO,CAAC;AACvC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACnD,MAAM,iBAAiB,GAAG,qDAAqD,CAAC;AAEhF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAiB,EAAE;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAa,gCAAgC;IAG3C,YAA6B,gBAAwB,sBAAsB;QAA9C,kBAAa,GAAb,aAAa,CAAiC;QAM3E,eAAU,GAAG,GAAyB,EAAE,CACtC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAChE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7D,OAAO,OAAO,KAAK,IAAI;gBACrB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;QAEJ,yBAAoB,GAAG,GAAa,EAAE;YACpC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACrD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,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,mBAAc,GAAG,CAAC,kBAA0B,EAAiB,EAAE;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,aAAa,EAClB,kBAAkB,EAClB,SAAS,CACV,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAnDA,IAAI,CAAC,mBAAmB,GAAG,IAAI,2EAAoC,CACjE,aAAa,CACd,CAAC;IACJ,CAAC;CAiDF;AAxDD,4EAwDC"}
@@ -0,0 +1,211 @@
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.ProcTakeOwnershipWorkerSessionReader = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const OAUTH_TOKEN_ENVIRON_PREFIX = 'CLAUDE_CODE_OAUTH_TOKEN=';
40
+ const TAKE_OWNERSHIP_MARKER = 'Take ownership';
41
+ const CLAUDE_COMMAND_NAME = 'claude';
42
+ const parseProcessStat = (rawStat) => {
43
+ const commandNameStart = rawStat.indexOf('(');
44
+ const commandNameEnd = rawStat.lastIndexOf(')');
45
+ if (commandNameStart < 0 || commandNameEnd < commandNameStart) {
46
+ return null;
47
+ }
48
+ const fieldsAfterCommandName = rawStat
49
+ .slice(commandNameEnd + 1)
50
+ .trim()
51
+ .split(/\s+/);
52
+ const parentProcessId = Number(fieldsAfterCommandName[1]);
53
+ if (!Number.isInteger(parentProcessId)) {
54
+ return null;
55
+ }
56
+ return {
57
+ commandName: rawStat.slice(commandNameStart + 1, commandNameEnd),
58
+ parentProcessId,
59
+ };
60
+ };
61
+ const parseOauthToken = (rawEnviron) => {
62
+ const tokenEntry = rawEnviron
63
+ .split('\0')
64
+ .find((entry) => entry.startsWith(OAUTH_TOKEN_ENVIRON_PREFIX));
65
+ if (tokenEntry === undefined) {
66
+ return null;
67
+ }
68
+ const token = tokenEntry.slice(OAUTH_TOKEN_ENVIRON_PREFIX.length);
69
+ return token.length === 0 ? null : token;
70
+ };
71
+ class ProcTakeOwnershipWorkerSessionReader {
72
+ constructor(procDirectory) {
73
+ this.procDirectory = procDirectory;
74
+ this.listWorkerSessions = () => {
75
+ const snapshotsByProcessId = this.readProcessSnapshots();
76
+ const childProcessIdsByParent = this.groupChildProcessIdsByParent(snapshotsByProcessId);
77
+ const workerProcessesById = this.readTokenHoldingWorkerProcesses(snapshotsByProcessId);
78
+ const sessions = [];
79
+ for (const rootProcess of workerProcessesById.values()) {
80
+ const parentProcessId = snapshotsByProcessId.get(rootProcess.processId)?.stat
81
+ ?.parentProcessId ?? null;
82
+ if (parentProcessId !== null &&
83
+ workerProcessesById.has(parentProcessId)) {
84
+ continue;
85
+ }
86
+ const descendantSnapshots = this.listDescendantsShallowestFirst(rootProcess.processId, childProcessIdsByParent).flatMap((processId) => {
87
+ const snapshot = snapshotsByProcessId.get(processId);
88
+ return snapshot === undefined ? [] : [snapshot];
89
+ });
90
+ const claudeDescendant = descendantSnapshots.find((snapshot) => snapshot.stat?.commandName === CLAUDE_COMMAND_NAME &&
91
+ snapshot.oauthToken !== null);
92
+ sessions.push({
93
+ rootProcessId: rootProcess.processId,
94
+ sessionToken: claudeDescendant?.oauthToken ?? rootProcess.oauthToken,
95
+ workerProcesses: this.listWorkerProcessesOfSession(rootProcess.processId, childProcessIdsByParent, workerProcessesById),
96
+ });
97
+ }
98
+ return sessions.sort((left, right) => left.rootProcessId - right.rootProcessId);
99
+ };
100
+ this.readProcessSnapshots = () => {
101
+ const snapshotsByProcessId = new Map();
102
+ let entries;
103
+ try {
104
+ entries = fs.readdirSync(this.procDirectory);
105
+ }
106
+ catch {
107
+ return snapshotsByProcessId;
108
+ }
109
+ for (const entry of entries) {
110
+ if (!/^\d+$/.test(entry)) {
111
+ continue;
112
+ }
113
+ const rawStat = this.readProcessFile(entry, 'stat');
114
+ const rawEnviron = this.readProcessFile(entry, 'environ');
115
+ snapshotsByProcessId.set(Number(entry), {
116
+ processId: Number(entry),
117
+ stat: rawStat === null ? null : parseProcessStat(rawStat),
118
+ oauthToken: rawEnviron === null ? null : parseOauthToken(rawEnviron),
119
+ });
120
+ }
121
+ return snapshotsByProcessId;
122
+ };
123
+ this.groupChildProcessIdsByParent = (snapshotsByProcessId) => {
124
+ const childProcessIdsByParent = new Map();
125
+ for (const snapshot of snapshotsByProcessId.values()) {
126
+ if (snapshot.stat === null) {
127
+ continue;
128
+ }
129
+ const childProcessIds = childProcessIdsByParent.get(snapshot.stat.parentProcessId) ?? [];
130
+ childProcessIds.push(snapshot.processId);
131
+ childProcessIdsByParent.set(snapshot.stat.parentProcessId, childProcessIds);
132
+ }
133
+ for (const childProcessIds of childProcessIdsByParent.values()) {
134
+ childProcessIds.sort((left, right) => left - right);
135
+ }
136
+ return childProcessIdsByParent;
137
+ };
138
+ this.readTokenHoldingWorkerProcesses = (snapshotsByProcessId) => {
139
+ const workerProcessesById = new Map();
140
+ for (const snapshot of snapshotsByProcessId.values()) {
141
+ if (snapshot.oauthToken === null) {
142
+ continue;
143
+ }
144
+ const rawCommandLine = this.readProcessFile(String(snapshot.processId), 'cmdline');
145
+ if (rawCommandLine === null ||
146
+ !rawCommandLine.includes(TAKE_OWNERSHIP_MARKER)) {
147
+ continue;
148
+ }
149
+ workerProcessesById.set(snapshot.processId, {
150
+ processId: snapshot.processId,
151
+ rawCommandLine,
152
+ oauthToken: snapshot.oauthToken,
153
+ });
154
+ }
155
+ return workerProcessesById;
156
+ };
157
+ this.listDescendantsShallowestFirst = (rootProcessId, childProcessIdsByParent) => {
158
+ const descendants = [];
159
+ const visitedProcessIds = new Set([rootProcessId]);
160
+ const pendingProcessIds = [rootProcessId];
161
+ for (let pendingProcessId = pendingProcessIds.shift(); pendingProcessId !== undefined; pendingProcessId = pendingProcessIds.shift()) {
162
+ for (const childProcessId of childProcessIdsByParent.get(pendingProcessId) ?? []) {
163
+ if (visitedProcessIds.has(childProcessId)) {
164
+ continue;
165
+ }
166
+ visitedProcessIds.add(childProcessId);
167
+ descendants.push(childProcessId);
168
+ pendingProcessIds.push(childProcessId);
169
+ }
170
+ }
171
+ return descendants;
172
+ };
173
+ this.listWorkerProcessesOfSession = (rootProcessId, childProcessIdsByParent, workerProcessesById) => {
174
+ const sessionProcessIds = new Set([rootProcessId]);
175
+ const pendingProcessIds = [rootProcessId];
176
+ for (let pendingProcessId = pendingProcessIds.shift(); pendingProcessId !== undefined; pendingProcessId = pendingProcessIds.shift()) {
177
+ for (const childProcessId of childProcessIdsByParent.get(pendingProcessId) ?? []) {
178
+ if (sessionProcessIds.has(childProcessId) ||
179
+ !workerProcessesById.has(childProcessId)) {
180
+ continue;
181
+ }
182
+ sessionProcessIds.add(childProcessId);
183
+ pendingProcessIds.push(childProcessId);
184
+ }
185
+ }
186
+ return [...sessionProcessIds]
187
+ .sort((left, right) => left - right)
188
+ .flatMap((processId) => {
189
+ const workerProcess = workerProcessesById.get(processId);
190
+ return workerProcess === undefined
191
+ ? []
192
+ : [
193
+ {
194
+ processId: workerProcess.processId,
195
+ rawCommandLine: workerProcess.rawCommandLine,
196
+ },
197
+ ];
198
+ });
199
+ };
200
+ this.readProcessFile = (processIdDirectory, fileName) => {
201
+ try {
202
+ return fs.readFileSync(path.join(this.procDirectory, processIdDirectory, fileName), 'utf8');
203
+ }
204
+ catch {
205
+ return null;
206
+ }
207
+ };
208
+ }
209
+ }
210
+ exports.ProcTakeOwnershipWorkerSessionReader = ProcTakeOwnershipWorkerSessionReader;
211
+ //# sourceMappingURL=ProcTakeOwnershipWorkerSessionReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcTakeOwnershipWorkerSessionReader.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcTakeOwnershipWorkerSessionReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAC9D,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AA4BrC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAsB,EAAE;IAC/D,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,gBAAgB,GAAG,CAAC,IAAI,cAAc,GAAG,gBAAgB,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,sBAAsB,GAAG,OAAO;SACnC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC,CAAC;IAChB,MAAM,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,EAAE,cAAc,CAAC;QAChE,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAiB,EAAE;IAC5D,MAAM,UAAU,GAAG,UAAU;SAC1B,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACjE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAa,oCAAoC;IAC/C,YAA6B,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;QAElD,uBAAkB,GAAG,GAAiC,EAAE;YACtD,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzD,MAAM,uBAAuB,GAC3B,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,mBAAmB,GACvB,IAAI,CAAC,+BAA+B,CAAC,oBAAoB,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAiC,EAAE,CAAC;YAClD,KAAK,MAAM,WAAW,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvD,MAAM,eAAe,GACnB,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI;oBACnD,EAAE,eAAe,IAAI,IAAI,CAAC;gBAC9B,IACE,eAAe,KAAK,IAAI;oBACxB,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,EACxC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,CAC7D,WAAW,CAAC,SAAS,EACrB,uBAAuB,CACxB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBACtB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACrD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBACH,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAC/C,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,IAAI,EAAE,WAAW,KAAK,mBAAmB;oBAClD,QAAQ,CAAC,UAAU,KAAK,IAAI,CAC/B,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC;oBACZ,aAAa,EAAE,WAAW,CAAC,SAAS;oBACpC,YAAY,EAAE,gBAAgB,EAAE,UAAU,IAAI,WAAW,CAAC,UAAU;oBACpE,eAAe,EAAE,IAAI,CAAC,4BAA4B,CAChD,WAAW,CAAC,SAAS,EACrB,uBAAuB,EACvB,mBAAmB,CACpB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAClB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAC1D,CAAC;QACJ,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAiC,EAAE;YAChE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAC;YAChE,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,oBAAoB,CAAC;YAC9B,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC1D,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACtC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC;oBACxB,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACzD,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YACD,OAAO,oBAAoB,CAAC;QAC9B,CAAC,CAAC;QAEM,iCAA4B,GAAG,CACrC,oBAAkD,EAC3B,EAAE;YACzB,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC5D,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBACD,MAAM,eAAe,GACnB,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBACnE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,uBAAuB,CAAC,GAAG,CACzB,QAAQ,CAAC,IAAI,CAAC,eAAe,EAC7B,eAAe,CAChB,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,eAAe,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/D,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,uBAAuB,CAAC;QACjC,CAAC,CAAC;QAEM,oCAA+B,GAAG,CACxC,oBAAkD,EACV,EAAE;YAC1C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAqC,CAAC;YACzE,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrD,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CACzC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,CAAC;gBACF,IACE,cAAc,KAAK,IAAI;oBACvB,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAC/C,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;oBAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,cAAc;oBACd,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC,CAAC;QAEM,mCAA8B,GAAG,CACvC,aAAqB,EACrB,uBAA8C,EACpC,EAAE;YACZ,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3D,MAAM,iBAAiB,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1C,KACE,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAChD,gBAAgB,KAAK,SAAS,EAC9B,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAC5C,CAAC;gBACD,KAAK,MAAM,cAAc,IAAI,uBAAuB,CAAC,GAAG,CACtD,gBAAgB,CACjB,IAAI,EAAE,EAAE,CAAC;oBACR,IAAI,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC1C,SAAS;oBACX,CAAC;oBACD,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACtC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACjC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEM,iCAA4B,GAAG,CACrC,aAAqB,EACrB,uBAA8C,EAC9C,mBAA2D,EAC7B,EAAE;YAChC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3D,MAAM,iBAAiB,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1C,KACE,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAChD,gBAAgB,KAAK,SAAS,EAC9B,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAC5C,CAAC;gBACD,KAAK,MAAM,cAAc,IAAI,uBAAuB,CAAC,GAAG,CACtD,gBAAgB,CACjB,IAAI,EAAE,EAAE,CAAC;oBACR,IACE,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC;wBACrC,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EACxC,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACtC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,iBAAiB,CAAC;iBAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;iBACnC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrB,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzD,OAAO,aAAa,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE;4BACE,SAAS,EAAE,aAAa,CAAC,SAAS;4BAClC,cAAc,EAAE,aAAa,CAAC,cAAc;yBAC7C;qBACF,CAAC;YACR,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEM,oBAAe,GAAG,CACxB,kBAA0B,EAC1B,QAAwC,EACzB,EAAE;YACjB,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,YAAY,CACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAC3D,MAAM,CACP,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;IApMmD,CAAC;CAqMvD;AAtMD,oFAsMC"}
@@ -1,49 +1,16 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.ProxyClaudeTokenUsageRepository = void 0;
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
39
4
  const ensureProxyRunning_1 = require("../proxy/ensureProxyRunning");
40
5
  const RateLimitCache_1 = require("../proxy/RateLimitCache");
41
6
  const TokenListLoader_1 = require("../proxy/TokenListLoader");
42
- const TAKE_OWNERSHIP_COMMAND_MARKER = 'Take ownership';
7
+ const ProcTakeOwnershipWorkerSessionReader_1 = require("./ProcTakeOwnershipWorkerSessionReader");
8
+ const PROC_DIRECTORY = '/proc';
43
9
  class ProxyClaudeTokenUsageRepository {
44
10
  constructor(tokenListJsonPath, port = RateLimitCache_1.PROXY_PORT) {
45
11
  this.tokenListJsonPath = tokenListJsonPath;
46
12
  this.port = port;
13
+ this.workerSessionReader = new ProcTakeOwnershipWorkerSessionReader_1.ProcTakeOwnershipWorkerSessionReader(PROC_DIRECTORY);
47
14
  this.ensureObservable = async () => {
48
15
  await (0, ensureProxyRunning_1.ensureProxyRunning)(this.port);
49
16
  };
@@ -131,70 +98,11 @@ class ProxyClaudeTokenUsageRepository {
131
98
  };
132
99
  this.getTokenInFlightCounts = async () => {
133
100
  const counts = {};
134
- let procEntries;
135
- try {
136
- procEntries = fs.readdirSync('/proc');
137
- }
138
- catch {
139
- return counts;
140
- }
141
- const tokenByPid = new Map();
142
- for (const entry of procEntries) {
143
- if (!/^\d+$/.test(entry))
144
- continue;
145
- const environPath = path.join('/proc', entry, 'environ');
146
- let environ;
147
- try {
148
- environ = fs.readFileSync(environPath, 'utf8');
149
- }
150
- catch {
151
- continue;
152
- }
153
- const vars = environ.split('\0');
154
- const tokenEntry = vars.find((v) => v.startsWith('CLAUDE_CODE_OAUTH_TOKEN='));
155
- if (tokenEntry === undefined)
156
- continue;
157
- const token = tokenEntry.slice('CLAUDE_CODE_OAUTH_TOKEN='.length);
158
- if (token.length === 0)
159
- continue;
160
- if (!this.isPreparationWorkerProcess(entry))
161
- continue;
162
- tokenByPid.set(Number(entry), token);
163
- }
164
- for (const [pid, token] of tokenByPid) {
165
- const parentPid = this.readParentPid(pid);
166
- if (parentPid !== null && tokenByPid.has(parentPid))
167
- continue;
168
- counts[token] = (counts[token] ?? 0) + 1;
101
+ for (const session of this.workerSessionReader.listWorkerSessions()) {
102
+ counts[session.sessionToken] = (counts[session.sessionToken] ?? 0) + 1;
169
103
  }
170
104
  return counts;
171
105
  };
172
- this.isPreparationWorkerProcess = (procEntry) => {
173
- const commandLinePath = path.join('/proc', procEntry, 'cmdline');
174
- let commandLine;
175
- try {
176
- commandLine = fs.readFileSync(commandLinePath, 'utf8');
177
- }
178
- catch {
179
- return false;
180
- }
181
- return commandLine.includes(TAKE_OWNERSHIP_COMMAND_MARKER);
182
- };
183
- this.readParentPid = (pid) => {
184
- let stat;
185
- try {
186
- stat = fs.readFileSync(path.join('/proc', String(pid), 'stat'), 'utf8');
187
- }
188
- catch {
189
- return null;
190
- }
191
- const afterComm = stat.slice(stat.lastIndexOf(') ') + 2);
192
- const fields = afterComm.trim().split(/\s+/);
193
- const parentPid = Number(fields[1]);
194
- if (!Number.isInteger(parentPid))
195
- return null;
196
- return parentPid;
197
- };
198
106
  this.proxyBaseUrl = () => `http://127.0.0.1:${this.port}`;
199
107
  }
200
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyClaudeTokenUsageRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxyClaudeTokenUsageRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OauthTokenSelectUseCase = exports.selectWeightedCandidate = exports.sevenDayUrgencyFactor = exports.FIVE_HOUR_SPEND_DEADLINE_HOURS = exports.SEVEN_DAY_SPEND_DEADLINE_HOURS = exports.MIN_HOURS_TO_RESET = exports.SEVEN_DAY_WINDOW_HOURS = exports.CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS = exports.DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS = exports.SEVEN_DAY_MIN_FREE_RATIO = exports.FIVE_HOUR_MIN_FREE_RATIO = exports.selectionWeightOf = exports.DEFAULT_SELECTION_WEIGHT = void 0;
3
+ exports.OauthTokenSelectUseCase = exports.selectWeightedCandidate = exports.sevenDayUrgencyFactor = exports.oauthTokenFillTargetSelect = exports.oauthTokenDrainOrderSort = exports.isSevenDayBudgetUnspendableBeforeSpendDeadline = exports.sevenDayFreeRatioSpendableBeforeSpendDeadlineOf = exports.windowFreeRatioOfUtilization = exports.SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = exports.FIVE_HOUR_WINDOW_HOURS = exports.FIVE_HOUR_SPEND_DEADLINE_HOURS = exports.SEVEN_DAY_SPEND_DEADLINE_HOURS = exports.MIN_HOURS_TO_RESET = exports.SEVEN_DAY_WINDOW_HOURS = exports.CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS = exports.OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF = exports.selectionWeightOf = exports.DEFAULT_SELECTION_WEIGHT = void 0;
4
4
  exports.DEFAULT_SELECTION_WEIGHT = 1;
5
5
  const selectionWeightOf = (candidate) => {
6
6
  const weight = candidate.selectionWeight ?? exports.DEFAULT_SELECTION_WEIGHT;
@@ -9,11 +9,9 @@ const selectionWeightOf = (candidate) => {
9
9
  exports.selectionWeightOf = selectionWeightOf;
10
10
  const SECONDS_PER_DAY = 86400;
11
11
  const SEVEN_DAYS_IN_SECONDS = 7 * SECONDS_PER_DAY;
12
- exports.FIVE_HOUR_MIN_FREE_RATIO = 0.25;
13
- exports.SEVEN_DAY_MIN_FREE_RATIO = 0.01;
14
- exports.DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS = {
15
- fiveHourMinFreeRatio: exports.FIVE_HOUR_MIN_FREE_RATIO,
16
- sevenDayMinFreeRatio: exports.SEVEN_DAY_MIN_FREE_RATIO,
12
+ exports.OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF = {
13
+ fiveHourMinFreeRatio: 0,
14
+ sevenDayMinFreeRatio: 0,
17
15
  };
18
16
  exports.CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS = {
19
17
  fiveHourMinFreeRatio: 0.6,
@@ -24,6 +22,40 @@ exports.MIN_HOURS_TO_RESET = 1;
24
22
  exports.SEVEN_DAY_SPEND_DEADLINE_HOURS = 48;
25
23
  exports.FIVE_HOUR_SPEND_DEADLINE_HOURS = 1;
26
24
  const SECONDS_PER_HOUR = 3600;
25
+ exports.FIVE_HOUR_WINDOW_HOURS = 5;
26
+ exports.SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = 0.14;
27
+ const windowFreeRatioOfUtilization = (utilization) => 1 - Math.min(Math.max(utilization, 0), 1);
28
+ exports.windowFreeRatioOfUtilization = windowFreeRatioOfUtilization;
29
+ const sevenDayFreeRatioSpendableBeforeSpendDeadlineOf = (secondsUntilSevenDayReset) => {
30
+ const hoursUntilSpendDeadline = secondsUntilSevenDayReset / SECONDS_PER_HOUR -
31
+ exports.SEVEN_DAY_SPEND_DEADLINE_HOURS;
32
+ return ((Math.max(0, hoursUntilSpendDeadline) / exports.FIVE_HOUR_WINDOW_HOURS) *
33
+ exports.SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW);
34
+ };
35
+ exports.sevenDayFreeRatioSpendableBeforeSpendDeadlineOf = sevenDayFreeRatioSpendableBeforeSpendDeadlineOf;
36
+ const isSevenDayBudgetUnspendableBeforeSpendDeadline = (budget) => budget.sevenDayFreeRatio >
37
+ (0, exports.sevenDayFreeRatioSpendableBeforeSpendDeadlineOf)(budget.secondsUntilSevenDayReset);
38
+ exports.isSevenDayBudgetUnspendableBeforeSpendDeadline = isSevenDayBudgetUnspendableBeforeSpendDeadline;
39
+ const drainOrderComparison = (first, second) => {
40
+ const firstPromoted = (0, exports.isSevenDayBudgetUnspendableBeforeSpendDeadline)(first);
41
+ const secondPromoted = (0, exports.isSevenDayBudgetUnspendableBeforeSpendDeadline)(second);
42
+ if (firstPromoted !== secondPromoted) {
43
+ return firstPromoted ? -1 : 1;
44
+ }
45
+ if (first.sevenDayFreeRatio !== second.sevenDayFreeRatio) {
46
+ return first.sevenDayFreeRatio < second.sevenDayFreeRatio ? -1 : 1;
47
+ }
48
+ if (first.secondsUntilSevenDayReset !== second.secondsUntilSevenDayReset) {
49
+ return first.secondsUntilSevenDayReset < second.secondsUntilSevenDayReset
50
+ ? -1
51
+ : 1;
52
+ }
53
+ return 0;
54
+ };
55
+ const oauthTokenDrainOrderSort = (budgets) => [...budgets].sort(drainOrderComparison);
56
+ exports.oauthTokenDrainOrderSort = oauthTokenDrainOrderSort;
57
+ const oauthTokenFillTargetSelect = (budgets) => (0, exports.oauthTokenDrainOrderSort)(budgets).find((budget) => budget.remainingConcurrentSlotCount > 0) ?? null;
58
+ exports.oauthTokenFillTargetSelect = oauthTokenFillTargetSelect;
27
59
  const sevenDayUrgencyFactor = (sevenDayFreeRatio, sevenDayEndEpoch, nowEpochSeconds) => {
28
60
  const hoursToReset = (sevenDayEndEpoch - nowEpochSeconds) / SECONDS_PER_HOUR;
29
61
  const hoursToDeadline = Math.max(hoursToReset - exports.SEVEN_DAY_SPEND_DEADLINE_HOURS, exports.MIN_HOURS_TO_RESET);
@@ -52,7 +84,7 @@ const selectWeightedCandidate = (eligible, weightOf, deterministicBest, random)
52
84
  exports.selectWeightedCandidate = selectWeightedCandidate;
53
85
  class OauthTokenSelectUseCase {
54
86
  constructor() {
55
- this.run = (candidates, nowEpochSeconds, random = Math.random, thresholds = exports.DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS) => {
87
+ this.run = (candidates, nowEpochSeconds, random = Math.random, thresholds = exports.OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF) => {
56
88
  const evaluated = candidates.map((candidate) => {
57
89
  const evaluatedMetric = this.evaluate(candidate, nowEpochSeconds, thresholds);
58
90
  return {
@@ -127,7 +159,7 @@ class OauthTokenSelectUseCase {
127
159
  if (this.windowExpired(snapshot.fiveHourReset, nowEpochSeconds)) {
128
160
  return 1;
129
161
  }
130
- return this.freeRatioFromUtilization(snapshot.fiveHourUtilization);
162
+ return (0, exports.windowFreeRatioOfUtilization)(snapshot.fiveHourUtilization);
131
163
  };
132
164
  this.sevenDayFreeRatio = (snapshot, nowEpochSeconds) => {
133
165
  if (snapshot === null) {
@@ -136,7 +168,7 @@ class OauthTokenSelectUseCase {
136
168
  if (this.windowExpired(snapshot.sevenDayReset, nowEpochSeconds)) {
137
169
  return 1;
138
170
  }
139
- return this.freeRatioFromUtilization(snapshot.sevenDayUtilization);
171
+ return (0, exports.windowFreeRatioOfUtilization)(snapshot.sevenDayUtilization);
140
172
  };
141
173
  this.sevenDayEndEpoch = (snapshot, nowEpochSeconds) => {
142
174
  if (snapshot === null) {
@@ -151,10 +183,6 @@ class OauthTokenSelectUseCase {
151
183
  return snapshot.sevenDayReset;
152
184
  };
153
185
  this.windowExpired = (resetEpoch, nowEpochSeconds) => resetEpoch > 0 && nowEpochSeconds > resetEpoch;
154
- this.freeRatioFromUtilization = (utilization) => {
155
- const bounded = Math.min(Math.max(utilization, 0), 1);
156
- return 1 - bounded;
157
- };
158
186
  this.toPercent = (ratio) => Math.round(ratio * 100);
159
187
  }
160
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OauthTokenSelectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,7 @@ class StartPreparationUseCase {
159
159
  model,
160
160
  limit: this.getTokenConcurrentLimit(usage.fiveHourUtilization, usage.sevenDayUtilization, usage.selectionWeight, normalConcurrentLimit),
161
161
  secondsUntilSevenDayReset: this.secondsUntilSevenDayReset(usage, nowEpochSeconds),
162
+ sevenDayFreeRatio: (0, OauthTokenSelectUseCase_1.windowFreeRatioOfUtilization)(usage.sevenDayUtilization),
162
163
  }));
163
164
  const totalCapacity = tokensWithLimits.reduce((sum, t) => sum + t.limit, 0);
164
165
  const effectiveCap = Math.min(maxConcurrent, totalCapacity);
@@ -519,37 +520,28 @@ class StartPreparationUseCase {
519
520
  let routedModelName = null;
520
521
  let selectedTokenName = null;
521
522
  if (rotationTokens !== null && proxyBaseUrl !== null) {
522
- const tokenWithSoonestResetAmongAvailableOf = () => selectedTokensWithLimits
523
- .map((t) => ({
523
+ const tokenToFillOf = () => (0, OauthTokenSelectUseCase_1.oauthTokenFillTargetSelect)(selectedTokensWithLimits.map((t) => ({
524
524
  token: t.token,
525
525
  model: t.model,
526
- remaining: t.limit -
526
+ sevenDayFreeRatio: t.sevenDayFreeRatio,
527
+ secondsUntilSevenDayReset: t.secondsUntilSevenDayReset,
528
+ remainingConcurrentSlotCount: t.limit -
527
529
  (tokenInFlightCounts[t.token] ?? 0) -
528
530
  (spawnedInThisRunByToken[t.token] ?? 0),
529
- secondsUntilSevenDayReset: t.secondsUntilSevenDayReset,
530
- }))
531
- .filter((t) => t.remaining > 0)
532
- .sort((a, b) => {
533
- if (a.secondsUntilSevenDayReset !== b.secondsUntilSevenDayReset) {
534
- return (a.secondsUntilSevenDayReset - b.secondsUntilSevenDayReset);
535
- }
536
- return b.remaining - a.remaining;
537
- })[0];
538
- let tokenWithSoonestResetAmongAvailable = tokenWithSoonestResetAmongAvailableOf();
539
- if (tokenWithSoonestResetAmongAvailable === undefined &&
540
- !tokenInFlightCountsRefreshed) {
531
+ })));
532
+ let tokenToFill = tokenToFillOf();
533
+ if (tokenToFill === null && !tokenInFlightCountsRefreshed) {
541
534
  tokenInFlightCountsRefreshed = true;
542
535
  tokenInFlightCounts =
543
536
  await this.claudeTokenUsageRepository.getTokenInFlightCounts();
544
- tokenWithSoonestResetAmongAvailable =
545
- tokenWithSoonestResetAmongAvailableOf();
537
+ tokenToFill = tokenToFillOf();
546
538
  }
547
- if (tokenWithSoonestResetAmongAvailable === undefined) {
539
+ if (tokenToFill === null) {
548
540
  await revertToAwaitingWorkspace('every Claude OAuth token reached its concurrent worker limit');
549
541
  break;
550
542
  }
551
- const selected = tokenWithSoonestResetAmongAvailable.token;
552
- routedModelName = tokenWithSoonestResetAmongAvailable.model;
543
+ const selected = tokenToFill.token;
544
+ routedModelName = tokenToFill.model;
553
545
  selectedTokenName = selected;
554
546
  spawnEnv = {
555
547
  CLAUDE_CODE_OAUTH_TOKEN: selected,
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "2.151.5",
3
+ "version": "2.152.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -1,12 +1,11 @@
1
1
  import { TakeOwnershipSpawn, TakeOwnershipSpawnRepository } from '../../domain/usecases/adapter-interfaces/TakeOwnershipSpawnRepository';
2
2
  export declare class ProcTakeOwnershipSpawnRepository implements TakeOwnershipSpawnRepository {
3
3
  private readonly procDirectory;
4
+ private readonly workerSessionReader;
4
5
  constructor(procDirectory?: string);
5
6
  listSpawns: () => TakeOwnershipSpawn[];
6
7
  listRunningIssueUrls: () => string[];
7
8
  private listProcessIdDirectories;
8
- private readSpawn;
9
9
  private readRawCmdline;
10
- private readEnviron;
11
10
  }
12
11
  //# sourceMappingURL=ProcTakeOwnershipSpawnRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcTakeOwnershipSpawnRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcTakeOwnershipSpawnRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,uEAAuE,CAAC;AAmB/E,qBAAa,gCAAiC,YAAW,4BAA4B;IAEjF,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,GAAE,MAA+B;IAGjE,UAAU,QAAO,kBAAkB,EAAE,CASnC;IAEF,oBAAoB,QAAO,MAAM,EAAE,CAajC;IAEF,OAAO,CAAC,wBAAwB,CAQ9B;IAEF,OAAO,CAAC,SAAS,CAwBf;IAEF,OAAO,CAAC,cAAc,CAWpB;IAEF,OAAO,CAAC,WAAW,CA4BjB;CACH"}
1
+ {"version":3,"file":"ProcTakeOwnershipSpawnRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcTakeOwnershipSpawnRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,uEAAuE,CAAC;AAY/E,qBAAa,gCAAiC,YAAW,4BAA4B;IAGvE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;gBAE9C,aAAa,GAAE,MAA+B;IAM3E,UAAU,QAAO,kBAAkB,EAAE,CAQjC;IAEJ,oBAAoB,QAAO,MAAM,EAAE,CAajC;IAEF,OAAO,CAAC,wBAAwB,CAQ9B;IAEF,OAAO,CAAC,cAAc,CAWpB;CACH"}
@@ -0,0 +1,21 @@
1
+ export type TakeOwnershipWorkerProcess = {
2
+ processId: number;
3
+ rawCommandLine: string;
4
+ };
5
+ export type TakeOwnershipWorkerSession = {
6
+ rootProcessId: number;
7
+ sessionToken: string;
8
+ workerProcesses: TakeOwnershipWorkerProcess[];
9
+ };
10
+ export declare class ProcTakeOwnershipWorkerSessionReader {
11
+ private readonly procDirectory;
12
+ constructor(procDirectory: string);
13
+ listWorkerSessions: () => TakeOwnershipWorkerSession[];
14
+ private readProcessSnapshots;
15
+ private groupChildProcessIdsByParent;
16
+ private readTokenHoldingWorkerProcesses;
17
+ private listDescendantsShallowestFirst;
18
+ private listWorkerProcessesOfSession;
19
+ private readProcessFile;
20
+ }
21
+ //# sourceMappingURL=ProcTakeOwnershipWorkerSessionReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcTakeOwnershipWorkerSessionReader.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcTakeOwnershipWorkerSessionReader.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,0BAA0B,EAAE,CAAC;CAC/C,CAAC;AAgDF,qBAAa,oCAAoC;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,MAAM;IAElD,kBAAkB,QAAO,0BAA0B,EAAE,CA0CnD;IAEF,OAAO,CAAC,oBAAoB,CAqB1B;IAEF,OAAO,CAAC,4BAA4B,CAoBlC;IAEF,OAAO,CAAC,+BAA+B,CAyBrC;IAEF,OAAO,CAAC,8BAA8B,CAwBpC;IAEF,OAAO,CAAC,4BAA4B,CAsClC;IAEF,OAAO,CAAC,eAAe,CAYrB;CACH"}
@@ -3,12 +3,11 @@ import { ClaudeTokenUsageRepository } from '../../domain/usecases/adapter-interf
3
3
  export declare class ProxyClaudeTokenUsageRepository implements ClaudeTokenUsageRepository {
4
4
  private readonly tokenListJsonPath;
5
5
  private readonly port;
6
+ private readonly workerSessionReader;
6
7
  constructor(tokenListJsonPath: string | null, port?: number);
7
8
  ensureObservable: () => Promise<void>;
8
9
  getAvailableTokenUsages: () => Promise<ClaudeTokenUsage[]>;
9
10
  getTokenInFlightCounts: () => Promise<Record<string, number>>;
10
- private isPreparationWorkerProcess;
11
- private readParentPid;
12
11
  proxyBaseUrl: () => string;
13
12
  }
14
13
  //# sourceMappingURL=ProxyClaudeTokenUsageRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyClaudeTokenUsageRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAC;AAOjH,qBAAa,+BAAgC,YAAW,0BAA0B;IAE9E,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,IAAI,GAAE,MAAmB;IAG5C,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAAC,CAExC;IAEF,uBAAuB,QAAa,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoG7D;IAEF,sBAAsB,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkChE;IAEF,OAAO,CAAC,0BAA0B,CAShC;IAEF,OAAO,CAAC,aAAa,CAYnB;IAEF,YAAY,QAAO,MAAM,CAAoC;CAC9D"}
1
+ {"version":3,"file":"ProxyClaudeTokenUsageRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAC;AAQjH,qBAAa,+BAAgC,YAAW,0BAA0B;IAK9E,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CACuB;gBAGxC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,IAAI,GAAE,MAAmB;IAG5C,gBAAgB,QAAa,OAAO,CAAC,IAAI,CAAC,CAExC;IAEF,uBAAuB,QAAa,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoG7D;IAEF,sBAAsB,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMhE;IAEF,YAAY,QAAO,MAAM,CAAoC;CAC9D"}
@@ -34,14 +34,26 @@ export type OauthTokenSelectionThresholds = {
34
34
  fiveHourMinFreeRatio: number;
35
35
  sevenDayMinFreeRatio: number;
36
36
  };
37
- export declare const FIVE_HOUR_MIN_FREE_RATIO = 0.25;
38
- export declare const SEVEN_DAY_MIN_FREE_RATIO = 0.01;
39
- export declare const DEFAULT_OAUTH_TOKEN_SELECTION_THRESHOLDS: OauthTokenSelectionThresholds;
37
+ export declare const OAUTH_TOKEN_SELECTION_WITHOUT_FREE_RATIO_CUTOFF: OauthTokenSelectionThresholds;
40
38
  export declare const CL_SCRIPT_OAUTH_TOKEN_SELECTION_THRESHOLDS: OauthTokenSelectionThresholds;
41
39
  export declare const SEVEN_DAY_WINDOW_HOURS = 168;
42
40
  export declare const MIN_HOURS_TO_RESET = 1;
43
41
  export declare const SEVEN_DAY_SPEND_DEADLINE_HOURS = 48;
44
42
  export declare const FIVE_HOUR_SPEND_DEADLINE_HOURS = 1;
43
+ export declare const FIVE_HOUR_WINDOW_HOURS = 5;
44
+ export declare const SEVEN_DAY_FREE_RATIO_SPENT_PER_FULLY_SPENT_FIVE_HOUR_WINDOW = 0.14;
45
+ export declare const windowFreeRatioOfUtilization: (utilization: number) => number;
46
+ export declare const sevenDayFreeRatioSpendableBeforeSpendDeadlineOf: (secondsUntilSevenDayReset: number) => number;
47
+ export type OauthTokenSevenDayBudget = {
48
+ sevenDayFreeRatio: number;
49
+ secondsUntilSevenDayReset: number;
50
+ };
51
+ export type OauthTokenSevenDayBudgetWithRemainingConcurrentSlots = OauthTokenSevenDayBudget & {
52
+ remainingConcurrentSlotCount: number;
53
+ };
54
+ export declare const isSevenDayBudgetUnspendableBeforeSpendDeadline: (budget: OauthTokenSevenDayBudget) => boolean;
55
+ export declare const oauthTokenDrainOrderSort: <Budget extends OauthTokenSevenDayBudget>(budgets: readonly Budget[]) => Budget[];
56
+ export declare const oauthTokenFillTargetSelect: <Budget extends OauthTokenSevenDayBudgetWithRemainingConcurrentSlots>(budgets: readonly Budget[]) => Budget | null;
45
57
  export declare const sevenDayUrgencyFactor: (sevenDayFreeRatio: number, sevenDayEndEpoch: number, nowEpochSeconds: number) => number;
46
58
  export declare const selectWeightedCandidate: <Entry>(eligible: Entry[], weightOf: (entry: Entry) => number, deterministicBest: Entry, random: SelectionRandom) => Entry;
47
59
  export declare class OauthTokenSelectUseCase {
@@ -53,7 +65,6 @@ export declare class OauthTokenSelectUseCase {
53
65
  private sevenDayFreeRatio;
54
66
  private sevenDayEndEpoch;
55
67
  private windowExpired;
56
- private freeRatioFromUtilization;
57
68
  private toPercent;
58
69
  }
59
70
  //# sourceMappingURL=OauthTokenSelectUseCase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OauthTokenSelectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC;AAE3C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,iBAAiB,GAAI,WAAW,mBAAmB,KAAG,MAGlE,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,eAAO,MAAM,wCAAwC,EAAE,6BAIpD,CAAC;AAEJ,eAAO,MAAM,0CAA0C,EAAE,6BAItD,CAAC;AAEJ,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAGhD,eAAO,MAAM,qBAAqB,GAChC,mBAAmB,MAAM,EACzB,kBAAkB,MAAM,EACxB,iBAAiB,MAAM,KACtB,MAOF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,EAC3C,UAAU,KAAK,EAAE,EACjB,UAAU,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAClC,mBAAmB,KAAK,EACxB,QAAQ,eAAe,KACtB,KAkBF,CAAC;AAEF,qBAAa,uBAAuB;IAClC,GAAG,GACD,YAAY,mBAAmB,EAAE,EACjC,iBAAiB,MAAM,EACvB,SAAQ,eAA6B,EACrC,aAAY,6BAAwE,KACnF,sBAAsB,CA4CvB;IAEF,OAAO,CAAC,QAAQ,CAqDd;IAEF,OAAO,CAAC,eAAe,CAqCrB;IAEF,OAAO,CAAC,cAAc,CAM6C;IAEnE,OAAO,CAAC,iBAAiB,CAWvB;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF,OAAO,CAAC,gBAAgB,CActB;IAEF,OAAO,CAAC,aAAa,CAGwC;IAE7D,OAAO,CAAC,wBAAwB,CAG9B;IAEF,OAAO,CAAC,SAAS,CAAsD;CACxE"}
1
+ {"version":3,"file":"OauthTokenSelectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/OauthTokenSelectUseCase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}