@digital-lake/lognexus 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/audit/audit.d.ts +2 -1
  2. package/dist/audit/audit.d.ts.map +1 -1
  3. package/dist/audit/audit.js +35 -4
  4. package/dist/audit/audit.js.map +1 -1
  5. package/dist/branch.d.ts +14 -0
  6. package/dist/branch.d.ts.map +1 -0
  7. package/dist/branch.js +25 -0
  8. package/dist/branch.js.map +1 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +18 -7
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commit.d.ts +9 -0
  13. package/dist/commit.d.ts.map +1 -1
  14. package/dist/commit.js +57 -15
  15. package/dist/commit.js.map +1 -1
  16. package/dist/git/safe.d.ts +18 -0
  17. package/dist/git/safe.d.ts.map +1 -0
  18. package/dist/git/safe.js +63 -0
  19. package/dist/git/safe.js.map +1 -0
  20. package/dist/mcp/server.d.ts +1 -1
  21. package/dist/mcp/server.d.ts.map +1 -1
  22. package/dist/mcp/server.js +2 -1
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/mcp/tools.d.ts.map +1 -1
  25. package/dist/mcp/tools.js +96 -5
  26. package/dist/mcp/tools.js.map +1 -1
  27. package/dist/notes/attach.d.ts +12 -2
  28. package/dist/notes/attach.d.ts.map +1 -1
  29. package/dist/notes/attach.js +15 -9
  30. package/dist/notes/attach.js.map +1 -1
  31. package/dist/notes/notes.d.ts.map +1 -1
  32. package/dist/notes/notes.js +2 -5
  33. package/dist/notes/notes.js.map +1 -1
  34. package/dist/state/manager.d.ts +12 -2
  35. package/dist/state/manager.d.ts.map +1 -1
  36. package/dist/state/manager.js +151 -8
  37. package/dist/state/manager.js.map +1 -1
  38. package/dist/state/schema.d.ts +6 -4
  39. package/dist/state/schema.d.ts.map +1 -1
  40. package/dist/state/schema.js +32 -3
  41. package/dist/state/schema.js.map +1 -1
  42. package/dist/state/sync.d.ts +1 -0
  43. package/dist/state/sync.d.ts.map +1 -1
  44. package/dist/state/sync.js +21 -1
  45. package/dist/state/sync.js.map +1 -1
  46. package/dist/status.d.ts.map +1 -1
  47. package/dist/status.js +4 -3
  48. package/dist/status.js.map +1 -1
  49. package/dist/telemetry/collector.d.ts.map +1 -1
  50. package/dist/telemetry/collector.js +1 -0
  51. package/dist/telemetry/collector.js.map +1 -1
  52. package/dist/telemetry/detector.d.ts +6 -0
  53. package/dist/telemetry/detector.d.ts.map +1 -1
  54. package/dist/telemetry/detector.js +74 -5
  55. package/dist/telemetry/detector.js.map +1 -1
  56. package/dist/telemetry/index.d.ts +1 -1
  57. package/dist/telemetry/index.d.ts.map +1 -1
  58. package/dist/telemetry/index.js +1 -1
  59. package/dist/telemetry/index.js.map +1 -1
  60. package/dist/telemetry/report.d.ts +2 -0
  61. package/dist/telemetry/report.d.ts.map +1 -1
  62. package/dist/telemetry/report.js +47 -9
  63. package/dist/telemetry/report.js.map +1 -1
  64. package/dist/timeline/timeline.d.ts +2 -1
  65. package/dist/timeline/timeline.d.ts.map +1 -1
  66. package/dist/timeline/timeline.js +15 -16
  67. package/dist/timeline/timeline.js.map +1 -1
  68. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { recordTaskFinish, recordTaskStart } from "../telemetry/collector.js";
4
- import { LognexusStateSchema, } from "./schema.js";
4
+ import { ActiveIssueStateSchema, LognexusStateSchema, SubtaskStateSchema, } from "./schema.js";
5
+ import { inferActiveIssueFromBranch } from "./sync.js";
5
6
  export function getStatePath(targetDir = process.cwd()) {
6
7
  return join(targetDir, ".lognexus", "state.json");
7
8
  }
@@ -19,18 +20,60 @@ export function loadState(targetDir = process.cwd()) {
19
20
  if (!existsSync(filePath)) {
20
21
  return createEmptyState();
21
22
  }
23
+ let raw;
22
24
  try {
23
- const raw = readFileSync(filePath, "utf8");
24
- const json = JSON.parse(raw);
25
- const parsed = LognexusStateSchema.safeParse(json);
26
- if (parsed.success) {
27
- return parsed.data;
28
- }
25
+ raw = readFileSync(filePath, "utf8");
26
+ }
27
+ catch {
29
28
  return createEmptyState();
30
29
  }
30
+ const backup = () => {
31
+ try {
32
+ writeFileSync(`${filePath}.bak`, raw, "utf8");
33
+ }
34
+ catch {
35
+ // the backup is best-effort; never block state loading
36
+ }
37
+ };
38
+ const warn = (path, message) => {
39
+ process.stderr.write(`[WARN] .lognexus/state.json schema error at ${path || "<root>"}: ${message}\n`);
40
+ };
41
+ let json;
42
+ try {
43
+ json = JSON.parse(raw);
44
+ }
31
45
  catch {
46
+ warn("<root>", "Invalid JSON");
47
+ backup();
32
48
  return createEmptyState();
33
49
  }
50
+ const parsed = LognexusStateSchema.safeParse(json);
51
+ if (parsed.success) {
52
+ return parsed.data;
53
+ }
54
+ for (const issue of parsed.error.issues) {
55
+ warn(issue.path.join("."), issue.message);
56
+ }
57
+ backup();
58
+ return rescueState(json);
59
+ }
60
+ function rescueState(json) {
61
+ const source = json !== null && typeof json === "object" && !Array.isArray(json)
62
+ ? json
63
+ : {};
64
+ const rescued = createEmptyState();
65
+ const activeIssue = ActiveIssueStateSchema.safeParse(source.activeIssue);
66
+ if (activeIssue.success) {
67
+ rescued.activeIssue = activeIssue.data;
68
+ }
69
+ const currentSubtask = SubtaskStateSchema.safeParse(source.currentSubtask);
70
+ if (currentSubtask.success) {
71
+ rescued.currentSubtask = currentSubtask.data;
72
+ }
73
+ if (Array.isArray(source.completedSubtasks)) {
74
+ rescued.completedSubtasks = source.completedSubtasks.filter((entry) => typeof entry === "string");
75
+ }
76
+ return rescued;
34
77
  }
35
78
  export function saveState(state, targetDir = process.cwd()) {
36
79
  const dirPath = join(targetDir, ".lognexus");
@@ -47,8 +90,14 @@ export function clearState(targetDir = process.cwd()) {
47
90
  saveState(empty, targetDir);
48
91
  return empty;
49
92
  }
50
- export function setSubtask(taskId, title = "", contract, targetDir = process.cwd()) {
93
+ export function setSubtask(taskId, title = "", contract, targetDir = process.cwd(), options) {
51
94
  const state = loadState(targetDir);
95
+ if (state.activeIssue === null) {
96
+ state.activeIssue = inferActiveIssueFromBranch(targetDir);
97
+ }
98
+ if (options?.tier && state.activeIssue !== null) {
99
+ state.activeIssue.tier = options.tier;
100
+ }
52
101
  const subtask = {
53
102
  id: taskId,
54
103
  title,
@@ -79,4 +128,98 @@ export function finishSubtask(taskId, targetDir = process.cwd()) {
79
128
  recordTaskFinish(taskId, targetDir);
80
129
  return state;
81
130
  }
131
+ export const SUBTASK_ID_PATTERN = /^T\d+(?:-[a-zA-Z0-9]+)?$/;
132
+ const TIERS = ["tier-1", "tier-2", "tier-3"];
133
+ const DECISION_BUDGETS = ["none", "narrow", "full"];
134
+ function readFlagValue(args, index, flag) {
135
+ const value = args[index + 1];
136
+ if (value === undefined || value.startsWith("--")) {
137
+ throw new Error(`Missing value for '${flag}'.`);
138
+ }
139
+ return value;
140
+ }
141
+ function parseCsv(value) {
142
+ return value
143
+ .split(",")
144
+ .map((entry) => entry.trim())
145
+ .filter((entry) => entry.length > 0);
146
+ }
147
+ export function parseSetTaskArgs(args) {
148
+ const positional = [];
149
+ let tier;
150
+ let allowedFiles;
151
+ let forbiddenFiles;
152
+ let decisionBudget;
153
+ let verificationCmd;
154
+ for (let index = 0; index < args.length; index += 1) {
155
+ const arg = args[index];
156
+ if (!arg.startsWith("--")) {
157
+ positional.push(arg);
158
+ continue;
159
+ }
160
+ switch (arg) {
161
+ case "--tier": {
162
+ const value = readFlagValue(args, index, arg);
163
+ if (!TIERS.includes(value)) {
164
+ throw new Error(`Invalid tier '${value}'. Expected one of: ${TIERS.join(", ")}.`);
165
+ }
166
+ tier = value;
167
+ index += 1;
168
+ break;
169
+ }
170
+ case "--allowed":
171
+ case "--forbidden": {
172
+ const value = parseCsv(readFlagValue(args, index, arg));
173
+ if (arg === "--allowed") {
174
+ allowedFiles = value;
175
+ }
176
+ else {
177
+ forbiddenFiles = value;
178
+ }
179
+ index += 1;
180
+ break;
181
+ }
182
+ case "--budget": {
183
+ const value = readFlagValue(args, index, arg);
184
+ if (!DECISION_BUDGETS.includes(value)) {
185
+ throw new Error(`Invalid decision budget '${value}'. Expected one of: ${DECISION_BUDGETS.join(", ")}.`);
186
+ }
187
+ decisionBudget = value;
188
+ index += 1;
189
+ break;
190
+ }
191
+ case "--verify": {
192
+ verificationCmd = readFlagValue(args, index, arg);
193
+ index += 1;
194
+ break;
195
+ }
196
+ default:
197
+ throw new Error(`Unknown flag '${arg}'.`);
198
+ }
199
+ }
200
+ const [taskId, ...titleTokens] = positional;
201
+ if (!taskId) {
202
+ throw new Error("Subtask ID is required (e.g. lognexus state set-task T1 'Add schema').");
203
+ }
204
+ if (!SUBTASK_ID_PATTERN.test(taskId)) {
205
+ throw new Error(`Invalid subtask ID '${taskId}'. Expected a format like T1 or T1-v2.`);
206
+ }
207
+ const contract = allowedFiles !== undefined ||
208
+ forbiddenFiles !== undefined ||
209
+ decisionBudget !== undefined ||
210
+ verificationCmd !== undefined
211
+ ? {
212
+ allowedFiles: allowedFiles ?? [],
213
+ forbiddenFiles: forbiddenFiles ?? [],
214
+ decisionBudget: decisionBudget ?? "none",
215
+ verificationCmd,
216
+ }
217
+ : undefined;
218
+ return {
219
+ taskId,
220
+ title: titleTokens.join(" "),
221
+ contract,
222
+ tier,
223
+ };
224
+ }
82
225
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare const SubtaskContractSchema: z.ZodObject<{
10
10
  verificationCmd: z.ZodOptional<z.ZodString>;
11
11
  }, z.core.$strip>;
12
12
  export type SubtaskContract = z.infer<typeof SubtaskContractSchema>;
13
- export declare const SubtaskStateSchema: z.ZodObject<{
13
+ export declare const SubtaskStateSchema: z.ZodPreprocess<z.ZodObject<{
14
14
  id: z.ZodString;
15
15
  title: z.ZodDefault<z.ZodString>;
16
16
  status: z.ZodDefault<z.ZodEnum<{
@@ -28,7 +28,7 @@ export declare const SubtaskStateSchema: z.ZodObject<{
28
28
  }>>;
29
29
  verificationCmd: z.ZodOptional<z.ZodString>;
30
30
  }, z.core.$strip>>;
31
- }, z.core.$strip>;
31
+ }, z.core.$strip>, unknown>;
32
32
  export type SubtaskState = z.infer<typeof SubtaskStateSchema>;
33
33
  export declare const ActiveIssueStateSchema: z.ZodObject<{
34
34
  id: z.ZodNumber;
@@ -39,6 +39,7 @@ export declare const ActiveIssueStateSchema: z.ZodObject<{
39
39
  commit: "commit";
40
40
  discovery: "discovery";
41
41
  done: "done";
42
+ execute: "execute";
42
43
  plan: "plan";
43
44
  pr: "pr";
44
45
  review: "review";
@@ -68,6 +69,7 @@ export declare const LognexusStateSchema: z.ZodObject<{
68
69
  commit: "commit";
69
70
  discovery: "discovery";
70
71
  done: "done";
72
+ execute: "execute";
71
73
  plan: "plan";
72
74
  pr: "pr";
73
75
  review: "review";
@@ -85,7 +87,7 @@ export declare const LognexusStateSchema: z.ZodObject<{
85
87
  ready: "ready";
86
88
  }>>;
87
89
  }, z.core.$strip>>>;
88
- currentSubtask: z.ZodDefault<z.ZodNullable<z.ZodObject<{
90
+ currentSubtask: z.ZodDefault<z.ZodNullable<z.ZodPreprocess<z.ZodObject<{
89
91
  id: z.ZodString;
90
92
  title: z.ZodDefault<z.ZodString>;
91
93
  status: z.ZodDefault<z.ZodEnum<{
@@ -103,7 +105,7 @@ export declare const LognexusStateSchema: z.ZodObject<{
103
105
  }>>;
104
106
  verificationCmd: z.ZodOptional<z.ZodString>;
105
107
  }, z.core.$strip>>;
106
- }, z.core.$strip>>>;
108
+ }, z.core.$strip>, unknown>>>;
107
109
  completedSubtasks: z.ZodDefault<z.ZodArray<z.ZodString>>;
108
110
  lastSync: z.ZodDefault<z.ZodString>;
109
111
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/state/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/state/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAuCpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;2BAQ9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -5,18 +5,47 @@ export const SubtaskContractSchema = z.object({
5
5
  decisionBudget: z.enum(["none", "narrow", "full"]).default("none"),
6
6
  verificationCmd: z.string().optional(),
7
7
  });
8
- export const SubtaskStateSchema = z.object({
8
+ const CONTRACT_KEYS = [
9
+ "allowedFiles",
10
+ "forbiddenFiles",
11
+ "decisionBudget",
12
+ "verificationCmd",
13
+ ];
14
+ function hoistContractFields(value) {
15
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
16
+ return value;
17
+ }
18
+ const record = { ...value };
19
+ const hoisted = {};
20
+ for (const key of CONTRACT_KEYS) {
21
+ if (record[key] !== undefined) {
22
+ hoisted[key] = record[key];
23
+ delete record[key];
24
+ }
25
+ }
26
+ if (Object.keys(hoisted).length === 0) {
27
+ return record;
28
+ }
29
+ const existing = record.contract !== null &&
30
+ typeof record.contract === "object" &&
31
+ !Array.isArray(record.contract)
32
+ ? record.contract
33
+ : {};
34
+ record.contract = { ...hoisted, ...existing };
35
+ return record;
36
+ }
37
+ export const SubtaskStateSchema = z.preprocess(hoistContractFields, z.object({
9
38
  id: z.string(),
10
39
  title: z.string().default(""),
11
40
  status: z.enum(["pending", "in-progress", "completed"]).default("pending"),
12
41
  contract: SubtaskContractSchema.optional(),
13
- });
42
+ }));
14
43
  export const ActiveIssueStateSchema = z.object({
15
44
  id: z.number(),
16
45
  title: z.string().default(""),
17
46
  branch: z.string(),
18
47
  phase: z
19
- .enum(["plan", "branch", "discovery", "commit", "pr", "review", "done"])
48
+ .enum(["plan", "branch", "discovery", "execute", "commit", "pr", "review", "done"])
20
49
  .default("branch"),
21
50
  tier: z.enum(["tier-1", "tier-2", "tier-3"]).default("tier-3"),
22
51
  readiness: z.enum(["draft", "ready", "blocked", "in-review", "done"]).default("ready"),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/state/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAClE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1E,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SACvE,OAAO,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CACvF,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1C,WAAW,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,cAAc,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3D,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;CAC7D,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/state/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAClE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH,MAAM,aAAa,GAAG;IACpB,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;CACT,CAAC;AAEX,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAI,KAAiC,EAAE,CAAC;IACzD,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,IAAI;QACxB,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAE,MAAM,CAAC,QAAoC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,CAC5C,mBAAmB,EACnB,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1E,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CACH,CAAC;AAIF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClF,OAAO,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CACvF,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1C,WAAW,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,cAAc,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3D,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;CAC7D,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { ActiveIssueState, LognexusState } from "./schema.js";
2
2
  export declare function getBranchName(targetDir?: string): string | null;
3
+ export declare function inferActiveIssueFromBranch(targetDir?: string): ActiveIssueState | null;
3
4
  export declare function fetchIssueMeta(issueId: number, targetDir?: string): {
4
5
  title: string;
5
6
  readiness: ActiveIssueState["readiness"];
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/state/sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAY9E;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAsB,GAChC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CAAE,GAAG,IAAI,CAkCpE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,aAAa,CAuCjF"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/state/sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAY9E;AAED,wBAAgB,0BAA0B,CACxC,SAAS,GAAE,MAAsB,GAChC,gBAAgB,GAAG,IAAI,CAqBzB;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAsB,GAChC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CAAE,GAAG,IAAI,CAkCpE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,aAAa,CAuCjF"}
@@ -1,4 +1,5 @@
1
1
  import { execFileSync } from "node:child_process";
2
+ import { parseScopedBranch, SCOPED_BRANCH_PATTERN } from "../branch.js";
2
3
  import { loadState, saveState } from "./manager.js";
3
4
  export function getBranchName(targetDir = process.cwd()) {
4
5
  try {
@@ -14,6 +15,25 @@ export function getBranchName(targetDir = process.cwd()) {
14
15
  return null;
15
16
  }
16
17
  }
18
+ export function inferActiveIssueFromBranch(targetDir = process.cwd()) {
19
+ const branch = getBranchName(targetDir);
20
+ if (!branch || branch === "main" || branch === "master") {
21
+ return null;
22
+ }
23
+ const scoped = parseScopedBranch(branch);
24
+ if (!scoped) {
25
+ return null;
26
+ }
27
+ const title = scoped.slug ? scoped.slug.replace(/-/g, " ") : `Issue #${scoped.issueId}`;
28
+ return {
29
+ id: scoped.issueId,
30
+ title,
31
+ branch,
32
+ phase: "execute",
33
+ tier: "tier-3",
34
+ readiness: "ready",
35
+ };
36
+ }
17
37
  export function fetchIssueMeta(issueId, targetDir = process.cwd()) {
18
38
  try {
19
39
  if (!Number.isSafeInteger(issueId) || issueId < 0) {
@@ -54,7 +74,7 @@ export function syncStateFromGit(targetDir = process.cwd()) {
54
74
  saveState(state, targetDir);
55
75
  return state;
56
76
  }
57
- const match = branch.match(/issue\/(\d+)(?:-(.*))?/i);
77
+ const match = branch.match(SCOPED_BRANCH_PATTERN);
58
78
  if (match) {
59
79
  const issueId = Number.parseInt(match[1], 10);
60
80
  const slug = match[2] ? match[2].replace(/-/g, " ") : `Issue #${issueId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/state/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/state/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,aAAa,CAsDjF"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,aAAa,CAsDjF"}
package/dist/status.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
+ import { extractIssueNumber } from "./branch.js";
4
5
  export function getProjectStatus(targetDir = process.cwd()) {
5
6
  let isInsideGit = false;
6
7
  let branch = "detached";
@@ -26,9 +27,9 @@ export function getProjectStatus(targetDir = process.cwd()) {
26
27
  isInsideGit = false;
27
28
  }
28
29
  let activeIssue = null;
29
- const match = branch.match(/issue\/(\d+)/i);
30
- if (match) {
31
- activeIssue = `#${match[1]}`;
30
+ const issueNumber = extractIssueNumber(branch);
31
+ if (issueNumber) {
32
+ activeIssue = `#${issueNumber}`;
32
33
  }
33
34
  let routingMode = "not configured";
34
35
  const routingFile = join(targetDir, ".lognexus", "routing.md");
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,MAAM,UAAU,gBAAgB,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAChE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,MAAM,GAAG,UAAU,CAAC;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;YACzE,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,KAAK,EAAE,KAAK;SACb,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,WAAW,GAAG,MAAM,KAAK,MAAM,CAAC;QAEhC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM;gBACJ,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE;oBAChD,GAAG,EAAE,SAAS;oBACd,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;oBAC/B,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,WAAW,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW,GAAG,gBAAgB,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC1D,IAAI,CAAC;YAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,eAAe,GACjB,gFAAgF,CAAC;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe;YACb,mFAAmF,CAAC;IACxF,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW;QACX,WAAW;QACX,WAAW;QACX,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAUjD,MAAM,UAAU,gBAAgB,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAChE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,MAAM,GAAG,UAAU,CAAC;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;YACzE,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,KAAK,EAAE,KAAK;SACb,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,WAAW,GAAG,MAAM,KAAK,MAAM,CAAC;QAEhC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM;gBACJ,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE;oBAChD,GAAG,EAAE,SAAS;oBACd,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;oBAC/B,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,GAAG,gBAAgB,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC1D,IAAI,CAAC;YAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,eAAe,GACjB,gFAAgF,CAAC;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe;YACb,mFAAmF,CAAC;IACxF,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW;QACX,WAAW;QACX,WAAW;QACX,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/telemetry/collector.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,yBAAyB,EAG9B,KAAK,aAAa,EAClB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,0BAA0B,gDAAgD,CAAC;AAExF,wBAAgB,2BAA2B,IAAI,OAAO,CAOrD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,MAAM,CAE1E;AAED,wBAAgB,2BAA2B,CAAC,SAAS,GAAE,MAAsB,GAAG,cAAc,CA4B7F;AAED,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAsB,GAAG,cAAc,CAwB/E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,GAAE,MAAsB,GAAG,IAAI,CAW5F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAI5E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAmBtD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,IAAI,CAIxE;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAE,MAAsB,GAAG,IAAI,CAItE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAsB,GAAG,IAAI,CAWvF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAsB,GAAG,MAAM,CAkB1F;AAED,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,MAAsB,GAAG,IAAI,CAM7E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAgCrE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAmDP;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,cAAc,GAAG,yBAAyB,CAgB/F;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,cAAc,EACrB,QAAQ,GAAE,MAAyE,GAClF,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/telemetry/collector.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,yBAAyB,EAG9B,KAAK,aAAa,EAClB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,0BAA0B,gDAAgD,CAAC;AAExF,wBAAgB,2BAA2B,IAAI,OAAO,CAOrD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,MAAM,CAE1E;AAED,wBAAgB,2BAA2B,CAAC,SAAS,GAAE,MAAsB,GAAG,cAAc,CA4B7F;AAED,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAsB,GAAG,cAAc,CAwB/E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,GAAE,MAAsB,GAAG,IAAI,CAW5F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAI5E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAmBtD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAsB,GAAG,IAAI,CAIxE;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAE,MAAsB,GAAG,IAAI,CAItE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAsB,GAAG,IAAI,CAWvF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAsB,GAAG,MAAM,CAkB1F;AAED,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,MAAsB,GAAG,IAAI,CAM7E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAgCrE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAoDP;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,cAAc,GAAG,yBAAyB,CAgB/F;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,cAAc,EACrB,QAAQ,GAAE,MAAyE,GAClF,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -208,6 +208,7 @@ export function recordCommitTelemetry(options) {
208
208
  totalDurationSec: 0,
209
209
  avgSubtaskDurationSec: 0,
210
210
  };
211
+ existingModel.tier = tier;
211
212
  existingModel.commits += 1;
212
213
  store.models[modelKey] = existingModel;
213
214
  updateCostSavingsEstimate(store);
@@ -1 +1 @@
1
- {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/telemetry/collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAML,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,0BAA0B,GAAG,6CAA6C,CAAC;AAExF,MAAM,UAAU,2BAA2B;IACzC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;QAChC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;QACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,GAAG;QAC/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,MAAM,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAChE,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAC3E,OAAO;QACL,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,KAAK;QACX,kBAAkB,EAAE,UAAU,EAAE;QAChC,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,OAAO;YACtB,UAAU,EAAE,IAAI;SACjB;QACD,cAAc,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC9C,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,sBAAsB,EAAE,CAAC;YACzB,mBAAmB,EAAE,GAAG;YACxB,yBAAyB,EAAE,CAAC;YAC5B,wBAAwB,EAAE,CAAC;YAC3B,sBAAsB,EAAE,CAAC;YACzB,uBAAuB,EAAE,CAAC;YAC1B,uBAAuB,EAAE,CAAC;SAC3B;QACD,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAC7D,IAAI,2BAA2B,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAqB,EAAE,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IACjE,IAAI,2BAA2B,EAAE;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAI/B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,0JAA0J,CAC3J,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAC9D,MAAM,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAC/E,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO;IAE1C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG;QAC1B,MAAM;QACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,CAAC;KACf,CAAC;IACF,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IAChF,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,sBAAsB,IAAI,CAAC,CAAC;IAC1C,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAS,GAAW,OAAO,CAAC,GAAG,EAAE;IACrE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO;IAE1C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,KAAK,CAAC,OAAO,CAAC,yBAAyB,IAAI,CAAC,CAAC;IAC7C,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAqB;IAC7D,kBAAkB;IAClB,2GAA2G;IAC3G,uDAAuD;IACvD,mCAAmC;IACnC,8BAA8B;IAC9B,iCAAiC;IACjC,qEAAqE;IACrE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;IAChD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,CAAC,CAAC;QACzC,KAAK,CAAC,OAAO,CAAC,uBAAuB,GAAG,CAAC,CAAC;QAC1C,KAAK,CAAC,OAAO,CAAC,uBAAuB,GAAG,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IACzC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1F,UAAU,IAAI,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;IACzC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,KAAK,CAAC,OAAO,CAAC,wBAAwB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAKrC;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO;IAEpC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3D,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;QAC/B,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;QAEnC,MAAM,QAAQ,GAAkB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YAC5D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QACvC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QAC3C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;IAChC,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;IAC7C,KAAK,CAAC,OAAO,CAAC,iBAAiB,IAAI,aAAa,CAAC;IAEjD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACtC,MAAM,aAAa,GAAc,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;QACzD,MAAM,EAAE,QAAQ;QAChB,IAAI;QACJ,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;QACnB,qBAAqB,EAAE,CAAC;KACzB,CAAC;IACF,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;IAEvC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE1B,iEAAiE;IACjE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzD,0BAA0B,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3C,4BAA4B;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAqB;IAClE,OAAO;QACL,aAAa,EAAE,OAAO;QACtB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE;YACX,EAAE,EAAE,OAAO,CAAC,QAAQ;YACpB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,eAAe,EAAE,aAAa,EAAE;YAChC,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC;QACD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QAClD,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAqB,EACrB,QAAQ,GAAW,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,0BAA0B;IAEnF,IAAI,2BAA2B,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/telemetry/collector.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,10 @@ export declare function extractCommitDiffStats(sha: string, targetDir?: string):
12
12
  * Normalizes author/reviewer strings into generic model family categories (e.g. 'gemini/flash', 'claude/sonnet').
13
13
  */
14
14
  export declare function extractModelFamilyCategory(identityStr: string | null | undefined): string;
15
+ export type AuthorTier = "tier-1" | "tier-2" | "tier-3";
16
+ /**
17
+ * Infers the routing tier of an author identity, so commit telemetry and the audit
18
+ * can detect tier-1 models working outside their scope.
19
+ */
20
+ export declare function inferTierFromAuthor(identityStr?: string | null): AuthorTier | null;
15
21
  //# sourceMappingURL=detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/telemetry/detector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAsB,GAAG,MAAM,EAAE,CA6C/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAsB,GAChC,YAAY,EAAE,CAqDhB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CA8BzF"}
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/telemetry/detector.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AA8CD,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAsB,GAAG,MAAM,EAAE,CA+C/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAsB,GAChC,YAAY,EAAE,CAkDhB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CA8BzF;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAgBxD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAYlF"}
@@ -1,6 +1,47 @@
1
1
  import { execFileSync } from "node:child_process";
2
- import { existsSync } from "node:fs";
2
+ import { existsSync, readdirSync } from "node:fs";
3
3
  import { extname, join } from "node:path";
4
+ import { validateGitReference } from "../git/safe.js";
5
+ const SHELL_STACK_EXTENSIONS = {
6
+ ".ps1": "powershell",
7
+ ".psm1": "powershell",
8
+ ".psd1": "powershell",
9
+ ".bat": "batch",
10
+ ".cmd": "batch",
11
+ };
12
+ const SHELL_SCAN_MAX_DEPTH = 2;
13
+ const SHELL_SCAN_IGNORED_DIRS = new Set([".git", "node_modules", "dist", ".lognexus"]);
14
+ /**
15
+ * Walks the project tree up to two levels deep looking for shell scripts, so projects whose
16
+ * PowerShell/Batch automation lives in subdirectories are still classified correctly.
17
+ */
18
+ function detectShellStacks(targetDir, stacks, depth = 0) {
19
+ let entries;
20
+ try {
21
+ entries = readdirSync(targetDir, { withFileTypes: true });
22
+ }
23
+ catch {
24
+ return;
25
+ }
26
+ for (const entry of entries) {
27
+ const stack = SHELL_STACK_EXTENSIONS[extname(entry.name).toLowerCase()];
28
+ if (stack === undefined)
29
+ continue;
30
+ // Symlinks are skipped to avoid cycles and reads outside the scanned project.
31
+ if (entry.isFile() && !entry.isSymbolicLink()) {
32
+ stacks.add(stack);
33
+ }
34
+ }
35
+ if (depth >= SHELL_SCAN_MAX_DEPTH)
36
+ return;
37
+ for (const entry of entries) {
38
+ if (!entry.isDirectory() || entry.isSymbolicLink())
39
+ continue;
40
+ if (SHELL_SCAN_IGNORED_DIRS.has(entry.name))
41
+ continue;
42
+ detectShellStacks(join(targetDir, entry.name), stacks, depth + 1);
43
+ }
44
+ }
4
45
  export function detectProjectStacks(targetDir = process.cwd()) {
5
46
  const stacks = new Set();
6
47
  try {
@@ -32,6 +73,7 @@ export function detectProjectStacks(targetDir = process.cwd()) {
32
73
  if (existsSync(join(targetDir, "CMakeLists.txt")) || existsSync(join(targetDir, "Makefile"))) {
33
74
  stacks.add("c/cpp");
34
75
  }
76
+ detectShellStacks(targetDir, stacks);
35
77
  }
36
78
  catch {
37
79
  // Ignore read errors
@@ -44,10 +86,7 @@ export function detectProjectStacks(targetDir = process.cwd()) {
44
86
  export function extractCommitDiffStats(sha, targetDir = process.cwd()) {
45
87
  const extensionMap = new Map();
46
88
  try {
47
- const sanitizedSha = sha.trim();
48
- if (!/^[a-zA-Z0-9._/-]+$/.test(sanitizedSha) || sanitizedSha.startsWith("-")) {
49
- return [];
50
- }
89
+ const sanitizedSha = validateGitReference(sha);
51
90
  const raw = execFileSync("git", ["diff-tree", "--numstat", "--no-commit-id", "-r", sanitizedSha], {
52
91
  cwd: targetDir,
53
92
  encoding: "utf8",
@@ -122,4 +161,34 @@ export function extractModelFamilyCategory(identityStr) {
122
161
  const firstWord = trimmed.split(/\s+/)[0];
123
162
  return firstWord || "unknown/other";
124
163
  }
164
+ const TIER_1_MARKERS = [
165
+ "gemini/pro",
166
+ "claude/opus",
167
+ "opus",
168
+ "openai/o1",
169
+ "openai/o3",
170
+ "/o1",
171
+ "/o3",
172
+ ];
173
+ const TIER_3_MARKERS = ["deepseek", "kimi", "moonshot", "haiku", "qwen", "flash-lite"];
174
+ const TIER_2_MARKERS = ["gemini/flash", "claude/sonnet", "sonnet", "gpt-4o", "openai/gpt"];
175
+ /**
176
+ * Infers the routing tier of an author identity, so commit telemetry and the audit
177
+ * can detect tier-1 models working outside their scope.
178
+ */
179
+ export function inferTierFromAuthor(identityStr) {
180
+ if (!identityStr)
181
+ return null;
182
+ const trimmed = identityStr.trim().toLowerCase();
183
+ if (trimmed === "")
184
+ return null;
185
+ // tier-3 markers win over tier-2 so 'gemini/flash-lite' never escalates to tier-2
186
+ if (TIER_3_MARKERS.some((marker) => trimmed.includes(marker)))
187
+ return "tier-3";
188
+ if (TIER_1_MARKERS.some((marker) => trimmed.includes(marker)))
189
+ return "tier-1";
190
+ if (TIER_2_MARKERS.some((marker) => trimmed.includes(marker)))
191
+ return "tier-2";
192
+ return null;
193
+ }
125
194
  //# sourceMappingURL=detector.js.map