@ethlete/agent-rules 0.1.0-next.8 → 0.1.0-next.9

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.planStart = void 0;
3
+ exports.featureBranchesFor = exports.nestedSpecFor = exports.planStart = void 0;
4
4
  const build_1 = require("./build");
5
5
  const parse_1 = require("./parse");
6
6
  /**
@@ -21,4 +21,37 @@ const planStart = (options) => {
21
21
  return { branch, base: parse.expectedBase, mrTargets: parse.expectedMrTargets, parse, problems };
22
22
  };
23
23
  exports.planStart = planStart;
24
+ /**
25
+ * The spec for a branch nesting under `parent`. Which of the two nested kinds it is follows from the
26
+ * parent alone, so no caller has to decide it: a release branch takes fixes, anything else takes
27
+ * sub-features.
28
+ */
29
+ const nestedSpecFor = (options) => {
30
+ const { parent, key, subject, config } = options;
31
+ const kind = (0, parse_1.parseBranch)({ branch: parent, config }).kind === 'release' ? 'release-fix' : 'sub-feature';
32
+ return { kind, parent, key, subject };
33
+ };
34
+ exports.nestedSpecFor = nestedSpecFor;
35
+ /**
36
+ * The branches a story's sub-features may nest under, out of a list of names.
37
+ *
38
+ * A sub-feature's parent is a branch name and not an issue, because the nested spelling keeps the
39
+ * parent's full path inside the child's — so this, and not a Jira lookup, is what says whether a
40
+ * Task can be started at all. A deprecated spelling is never a candidate: a child nested under a
41
+ * name that is about to be repaired would have to be renamed with it.
42
+ *
43
+ * More than one match is returned rather than resolved. Which of two feature branches a story means
44
+ * is not something a grammar can answer, and picking one would put the work on the wrong branch.
45
+ */
46
+ const featureBranchesFor = (options) => {
47
+ const { branches, config } = options;
48
+ const storyKey = options.storyKey.toUpperCase();
49
+ return [...new Set(branches.map(parse_1.stripRefPrefix))]
50
+ .filter((branch) => {
51
+ const parse = (0, parse_1.parseBranch)({ branch, config });
52
+ return parse.kind === 'main-feature' && !parse.deprecated && parse.storyKey === storyKey;
53
+ })
54
+ .sort();
55
+ };
56
+ exports.featureBranchesFor = featureBranchesFor;
24
57
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/git-flow/start.ts"],"names":[],"mappings":";;;AAAA,mCAA0D;AAE1D,mCAAyD;AAYzD;;;;;GAKG;AACI,MAAM,SAAS,GAAG,CAAC,OAAwD,EAAa,EAAE;IAC/F,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,eAAe,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/F,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QACnD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,sCAAsC,CAAC,CAAC;KAClF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACnG,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/git-flow/start.ts"],"names":[],"mappings":";;;AAAA,mCAA0D;AAE1D,mCAAyE;AAYzE;;;;;GAKG;AACI,MAAM,SAAS,GAAG,CAAC,OAAwD,EAAa,EAAE;IAC/F,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,eAAe,KAAK,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/F,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QACnD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,sCAAsC,CAAC,CAAC;KAClF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACnG,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB;AAEF;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,OAK7B,EAAkB,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;IAExG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEF;;;;;;;;;;GAUG;AACI,MAAM,kBAAkB,GAAG,CAAC,OAIlC,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEhD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAc,CAAC,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC3F,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAfW,QAAA,kBAAkB,sBAe7B"}
@@ -6,23 +6,19 @@ const git_1 = require("./git");
6
6
  const git_flow_1 = require("./git-flow");
7
7
  const gitlab_1 = require("./gitlab");
8
8
  const prompt_1 = require("./prompt");
9
- const KEY_PLACEHOLDER = '<KEY>';
10
9
  const resolveNewName = (options) => {
11
10
  const { branch, to, key, config } = options;
12
11
  if (to)
13
12
  return to;
14
- const parse = (0, git_flow_1.parseBranch)({ branch, config: config.gitFlow });
15
- if (!parse.suggestedName) {
16
- throw new Error(parse.ok
17
- ? `${branch} already conforms — nothing to repair.`
18
- : `No conforming name can be derived from ${branch}. Pass --to <branch>.`);
19
- }
20
- if (!parse.suggestedName.includes(KEY_PLACEHOLDER))
21
- return parse.suggestedName;
22
- if (!key) {
13
+ const resolved = (0, git_flow_1.conformingNameFor)({ branch, key, config: config.gitFlow });
14
+ if (resolved.ok)
15
+ return resolved.name;
16
+ if (resolved.reason === 'already-conforms')
17
+ throw new Error(`${branch} already conforms — nothing to repair.`);
18
+ if (resolved.reason === 'needs-key') {
23
19
  throw new Error(`${branch} carries no issue key, so the new name needs one: \`git-flow repair ${branch} --key FIP-1234\` (or --to <branch>).`);
24
20
  }
25
- return parse.suggestedName.replace(KEY_PLACEHOLDER, key.toUpperCase());
21
+ throw new Error(`No conforming name can be derived from ${branch}. Pass --to <branch>.`);
26
22
  };
27
23
  const readRemoteState = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
24
  const { root, branch, skipMrCheck } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"git-flow-repair.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/git-flow-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-flow-repair.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/git-flow-repair.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ exports.gitFlowStart = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const git_1 = require("./git");
6
6
  const git_flow_1 = require("./git-flow");
7
- const jira_1 = require("./jira");
8
7
  const prompt_1 = require("./prompt");
8
+ const timetrack_1 = require("./timetrack");
9
9
  /**
10
10
  * A Task's parent Story must already have its feature branch, because that branch is what the
11
11
  * sub-feature nests under and is based on. A Story whose branch still uses a deprecated spelling
@@ -13,10 +13,7 @@ const prompt_1 = require("./prompt");
13
13
  */
14
14
  const findParentBranch = (options) => {
15
15
  const { root, storyKey, config } = options;
16
- const matches = (0, git_1.allBranches)(root).filter((branch) => {
17
- const parse = (0, git_flow_1.parseBranch)({ branch, config });
18
- return parse.kind === 'main-feature' && !parse.deprecated && parse.storyKey === storyKey;
19
- });
16
+ const matches = (0, git_flow_1.featureBranchesFor)({ branches: (0, git_1.allBranches)(root), storyKey, config });
20
17
  if (matches.length === 0) {
21
18
  throw new Error([
22
19
  `No feature branch found for the parent story ${storyKey}.`,
@@ -29,22 +26,14 @@ const findParentBranch = (options) => {
29
26
  }
30
27
  return matches[0];
31
28
  };
32
- const specForParent = (options) => {
33
- const { parent, key, subject, config } = options;
34
- const kind = (0, git_flow_1.parseBranch)({ branch: parent, config }).kind === 'release' ? 'release-fix' : 'sub-feature';
35
- return { kind, parent, key, subject };
36
- };
37
- const resolveSubject = (options) => {
38
- const { issue, settings } = options;
39
- if (issue.subject)
40
- return { subject: issue.subject, subjectSource: `${settings.subjectField}` };
41
- return {
42
- subject: issue.summary,
43
- subjectSource: settings.subjectField
44
- ? `the summary — ${settings.subjectField} is empty on ${issue.key}`
45
- : 'the summary — set jira.subjectField to use the story subject field instead',
46
- };
47
- };
29
+ /**
30
+ * Timetrack resolves the subject field, because the field id is the instance's and lives there. An
31
+ * issue that sets nothing falls back to its summary, which is a paraphrase rather than the agreed
32
+ * subject — so the plan says which of the two it used.
33
+ */
34
+ const resolveSubject = (issue) => issue.subject
35
+ ? { subject: issue.subject, subjectSource: "the issue's subject field" }
36
+ : { subject: issue.summary, subjectSource: `the summary — ${issue.key} sets no subject field` };
48
37
  const resolve = (request) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
49
38
  var _a;
50
39
  const { root, config, subject, type, parent, hotfix, releaseDate } = request;
@@ -57,16 +46,12 @@ const resolve = (request) => tslib_1.__awaiter(void 0, void 0, void 0, function*
57
46
  if (hotfix)
58
47
  return { spec: { kind: 'hotfix', key, subject }, subjectSource: '--subject' };
59
48
  if (parent) {
60
- return { spec: specForParent({ parent, key, subject, config: config.gitFlow }), subjectSource: '--subject' };
49
+ return { spec: (0, git_flow_1.nestedSpecFor)({ parent, key, subject, config: config.gitFlow }), subjectSource: '--subject' };
61
50
  }
62
51
  return { spec: { kind: 'main-feature', type, key, subject }, subjectSource: '--subject' };
63
52
  }
64
- const issue = yield (0, jira_1.fetchJiraIssue)({
65
- key,
66
- credentials: (0, jira_1.resolveJiraCredentials)({ root, settings: config.jira }),
67
- settings: config.jira,
68
- });
69
- const resolvedSubject = resolveSubject({ issue, settings: config.jira });
53
+ const issue = yield (0, timetrack_1.timetrackIssue)(key);
54
+ const resolvedSubject = resolveSubject(issue);
70
55
  const resolvedType = type !== null && type !== void 0 ? type : (_a = config.jira.typeByIssueType) === null || _a === void 0 ? void 0 : _a[issue.issueType];
71
56
  const shared = { key, subject: resolvedSubject.subject };
72
57
  if (hotfix)
@@ -74,7 +59,7 @@ const resolve = (request) => tslib_1.__awaiter(void 0, void 0, void 0, function*
74
59
  const parentBranch = parent !== null && parent !== void 0 ? parent : (issue.parentKey ? findParentBranch({ root, storyKey: issue.parentKey, config: config.gitFlow }) : undefined);
75
60
  if (parentBranch) {
76
61
  return {
77
- spec: specForParent(Object.assign(Object.assign({ parent: parentBranch }, shared), { config: config.gitFlow })),
62
+ spec: (0, git_flow_1.nestedSpecFor)(Object.assign(Object.assign({ parent: parentBranch }, shared), { config: config.gitFlow })),
78
63
  issue,
79
64
  subjectSource: resolvedSubject.subjectSource,
80
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"git-flow-start.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/git-flow-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-flow-start.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/git-flow-start.ts"],"names":[],"mappings":"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"}
package/src/lib/plan.js CHANGED
@@ -52,11 +52,38 @@ const describeSdkSourcePath = (options) => {
52
52
  }
53
53
  return [];
54
54
  };
55
+ /**
56
+ * An API repo can be any stack, so there is no marker to check the way an SDK checkout has one —
57
+ * only that every entry names an app and points at a directory that is there.
58
+ */
59
+ const describeApiRepoPaths = (options) => {
60
+ const { root, value } = options;
61
+ if (value === undefined)
62
+ return [];
63
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
64
+ return [
65
+ `${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoPaths" value — use an object mapping an app name to its API repo path.`,
66
+ ];
67
+ }
68
+ return Object.entries(value).flatMap(([app, path]) => {
69
+ if (typeof path !== 'string' || path.trim().length === 0) {
70
+ return [`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoPaths.${app}" value — use a path to the API repo.`];
71
+ }
72
+ const absolute = (0, path_1.resolve)(root, path);
73
+ if (!(0, fs_1.existsSync)(absolute)) {
74
+ return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "apiRepoPaths.${app}" at ${absolute}, which does not exist.`];
75
+ }
76
+ if (!(0, fs_1.statSync)(absolute).isDirectory()) {
77
+ return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "apiRepoPaths.${app}" at ${absolute}, which is not a directory.`];
78
+ }
79
+ return [];
80
+ });
81
+ };
55
82
  /**
56
83
  * The local file only affects runtime behavior, never sync output — so the warnings here are about
57
84
  * the mistakes that would otherwise fail silently: a file the hooks can't parse, a key that
58
- * suggests someone expected sync-time overrides, a hook name nothing matches, or an SDK path that
59
- * no longer exists (the skills reading it would just report the checkout as missing).
85
+ * suggests someone expected sync-time overrides, a hook name nothing matches, or a checkout path
86
+ * that no longer exists (the skills reading it would just report the checkout as missing).
60
87
  */
61
88
  const collectLocalConfigWarnings = (root) => {
62
89
  const local = (0, config_1.readLocalConfig)(root);
@@ -67,9 +94,10 @@ const collectLocalConfigWarnings = (root) => {
67
94
  }
68
95
  const warnings = [];
69
96
  if (local.unknownKeys.length > 0) {
70
- warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} contains unsupported key(s): ${local.unknownKeys.join(', ')} — the local file supports "disableHooks", "disableAutoHandoffSave", "sdkSourcePath" and "jira"; it never changes what sync writes.`);
97
+ warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} contains unsupported key(s): ${local.unknownKeys.join(', ')} — the local file supports "disableHooks", "disableAutoHandoffSave", "sdkSourcePath", "apiRepoPaths" and "jira"; it never changes what sync writes.`);
71
98
  }
72
99
  warnings.push(...describeSdkSourcePath({ root, value: local.config.sdkSourcePath }));
100
+ warnings.push(...describeApiRepoPaths({ root, value: local.config.apiRepoPaths }));
73
101
  const disable = local.config.disableHooks;
74
102
  if (disable !== undefined && typeof disable !== 'boolean' && !Array.isArray(disable)) {
75
103
  warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "disableHooks" value — use true or an array of hook names; hooks stay enabled.`);
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The agent-facing half of Timetrack: everything here is one call into the running app.
3
+ *
4
+ * Nothing in this file knows a Jira host or a token. That is the point — an agent working in any
5
+ * repository asks the one process that holds them, so a machine has one secret to rotate rather than
6
+ * one per checkout.
7
+ */
8
+ export declare const timetrackCommand: (options: {
9
+ root: string;
10
+ argv: string[];
11
+ }) => Promise<number>;
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timetrackCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const timetrack_1 = require("./timetrack");
6
+ const FLAGS_WITH_VALUE = [
7
+ '--root',
8
+ '--project',
9
+ '--limit',
10
+ '--summary',
11
+ '--description',
12
+ '--type',
13
+ '--parent',
14
+ '--subject',
15
+ '--issue',
16
+ '--minutes',
17
+ '--at',
18
+ ];
19
+ const positionalArgs = (args) => args.filter((entry, index) => { var _a; return !entry.startsWith('--') && !FLAGS_WITH_VALUE.includes((_a = args[index - 1]) !== null && _a !== void 0 ? _a : ''); });
20
+ const flagValue = (args, flag) => {
21
+ const index = args.indexOf(flag);
22
+ return index === -1 ? undefined : args[index + 1];
23
+ };
24
+ const numberFlag = (args, flag) => {
25
+ const raw = flagValue(args, flag);
26
+ if (raw === undefined)
27
+ return undefined;
28
+ const value = Number(raw);
29
+ if (!Number.isFinite(value))
30
+ throw new Error(`${flag} takes a number, not ${raw}.`);
31
+ return value;
32
+ };
33
+ /** `--at` takes anything `Date` reads, so an agent may pass an ISO instant or leave it out for now. */
34
+ const instantFlag = (args) => {
35
+ const raw = flagValue(args, '--at');
36
+ if (!raw)
37
+ return Date.now();
38
+ const at = new Date(raw);
39
+ if (Number.isNaN(at.getTime()))
40
+ throw new Error(`--at takes a date, not ${raw}.`);
41
+ return at.getTime();
42
+ };
43
+ const issueLine = (issue) => [
44
+ issue.key,
45
+ issue.issueType,
46
+ issue.summary,
47
+ ...(issue.parentKey ? [`under ${issue.parentKey}`] : []),
48
+ ...(issue.subject ? [`subject ${issue.subject}`] : []),
49
+ ].join(' ');
50
+ const printed = (value, json) => {
51
+ if (json)
52
+ console.log(JSON.stringify(value, null, 2));
53
+ return 0;
54
+ };
55
+ const USAGE = `ethlete-agents timetrack — ask the running Timetrack app about Jira
56
+
57
+ The app holds this machine's Jira credentials, so no repository needs a token of its own.
58
+
59
+ timetrack status Whether the app is reachable, and which projects it holds
60
+ timetrack issue <KEY> One issue: its summary, type, parent and branch subject
61
+ timetrack search [text] Open issues of the picked projects, most recently touched first
62
+ timetrack project [path] Which Jira project a repository logs into
63
+ timetrack create --summary … File a new issue with the instance's own ticket settings
64
+ timetrack log --issue <KEY> --minutes <n>
65
+ Add a row nothing observed to the day it belongs to
66
+
67
+ Options for search
68
+ --project <KEY> Search this project instead of the picked ones
69
+ --mine Only the issues assigned to the account
70
+ --limit <n> How many issues to read (default 100)
71
+
72
+ Options for create
73
+ --summary <text> Required
74
+ --description <text>
75
+ --project <KEY> Required unless the app holds exactly one picked project
76
+ --type <name> Issue type by name (default: the app's configured type)
77
+ --parent <KEY> The story or epic it rolls up to
78
+ --subject <text> The branch subject, written to the instance's subject field
79
+
80
+ Options for log
81
+ --issue <KEY> Required
82
+ --minutes <n> Required
83
+ --at <date> When the work started (default: now)
84
+ --description <text>
85
+
86
+ Options everywhere
87
+ --json Print the raw answer instead of lines
88
+ `;
89
+ /**
90
+ * The agent-facing half of Timetrack: everything here is one call into the running app.
91
+ *
92
+ * Nothing in this file knows a Jira host or a token. That is the point — an agent working in any
93
+ * repository asks the one process that holds them, so a machine has one secret to rotate rather than
94
+ * one per checkout.
95
+ */
96
+ const timetrackCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
97
+ const { root, argv } = options;
98
+ const [subcommand, value] = positionalArgs(argv);
99
+ const json = argv.includes('--json');
100
+ if (subcommand === 'status') {
101
+ const status = yield (0, timetrack_1.timetrackStatus)();
102
+ if (!json) {
103
+ console.log(`Timetrack ${(0, timetrack_1.timetrackDiscoveryPath)()}`);
104
+ console.log(` jira ${status.jiraReady ? 'configured' : 'not configured — set it in Timetrack Settings'}`);
105
+ console.log(` projects ${status.projects.map((project) => project.key).join(', ') || '— none picked'}`);
106
+ console.log(` subject ${status.subjectField || '— no field configured, the summary is used'}`);
107
+ }
108
+ return printed(status, json);
109
+ }
110
+ if (subcommand === 'issue') {
111
+ if (!value)
112
+ throw new Error('Pass an issue key, e.g. `ethlete-agents timetrack issue FIP-2177`.');
113
+ const issue = yield (0, timetrack_1.timetrackIssue)(value);
114
+ if (!json)
115
+ console.log(issueLine(issue));
116
+ return printed(issue, json);
117
+ }
118
+ if (subcommand === 'search') {
119
+ const issues = yield (0, timetrack_1.timetrackSearch)({
120
+ text: value,
121
+ projectKey: flagValue(argv, '--project'),
122
+ assignedToMe: argv.includes('--mine'),
123
+ limit: numberFlag(argv, '--limit'),
124
+ });
125
+ if (!json) {
126
+ if (issues.length === 0)
127
+ console.log('No issue matches.');
128
+ issues.forEach((issue) => console.log(issueLine(issue)));
129
+ }
130
+ return printed(issues, json);
131
+ }
132
+ if (subcommand === 'project') {
133
+ const found = yield (0, timetrack_1.timetrackRepoProject)(value !== null && value !== void 0 ? value : root);
134
+ if (!json) {
135
+ const where = found.inherited ? ' (from a directory above it)' : '';
136
+ if (found.private)
137
+ console.log(`${found.repoPath} is marked private — work there is logged nowhere${where}.`);
138
+ else if (found.projectKey)
139
+ console.log(`${found.repoPath} logs into ${found.projectKey}${where}.`);
140
+ else if (found.suggestedProjectKey) {
141
+ console.log(`${found.repoPath} is linked to nothing. Its name suggests ${found.suggestedProjectKey}.`);
142
+ }
143
+ else
144
+ console.log(`${found.repoPath} is linked to no project. Link it in Timetrack Settings.`);
145
+ }
146
+ return printed(found, json);
147
+ }
148
+ if (subcommand === 'create') {
149
+ const summary = flagValue(argv, '--summary');
150
+ if (!summary)
151
+ throw new Error('Pass --summary "…".');
152
+ const issue = yield (0, timetrack_1.timetrackCreateIssue)({
153
+ summary,
154
+ description: flagValue(argv, '--description'),
155
+ projectKey: flagValue(argv, '--project'),
156
+ issueTypeName: flagValue(argv, '--type'),
157
+ parentKey: flagValue(argv, '--parent'),
158
+ subject: flagValue(argv, '--subject'),
159
+ });
160
+ if (!json)
161
+ console.log(`${issue.key} ${summary}`);
162
+ return printed(issue, json);
163
+ }
164
+ if (subcommand === 'log') {
165
+ const issueKey = flagValue(argv, '--issue');
166
+ const minutes = numberFlag(argv, '--minutes');
167
+ if (!issueKey)
168
+ throw new Error('Pass --issue <KEY>.');
169
+ if (!minutes || minutes <= 0)
170
+ throw new Error('Pass --minutes <n> above zero.');
171
+ const worklog = yield (0, timetrack_1.timetrackAddWorklog)({
172
+ issueKey,
173
+ description: flagValue(argv, '--description'),
174
+ fromMs: instantFlag(argv),
175
+ durationMs: Math.round(minutes * 60000),
176
+ });
177
+ if (!json) {
178
+ console.log(`${worklog.issueKey} ${minutes}m on ${worklog.day}`);
179
+ console.log('It is a row on the day, not a Tempo entry — review the day in Timetrack, then sync it.');
180
+ }
181
+ return printed(worklog, json);
182
+ }
183
+ console.log(USAGE);
184
+ return subcommand === undefined || subcommand === '--help' || subcommand === '-h' ? 0 : 1;
185
+ });
186
+ exports.timetrackCommand = timetrackCommand;
187
+ //# sourceMappingURL=timetrack-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetrack-command.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/timetrack-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ export type TimetrackIssue = {
2
+ key: string;
3
+ id: string;
4
+ summary: string;
5
+ issueType: string;
6
+ parentKey?: string;
7
+ subject?: string;
8
+ };
9
+ export type TimetrackStatus = {
10
+ version: number;
11
+ jiraReady: boolean;
12
+ projects: {
13
+ key: string;
14
+ name: string;
15
+ }[];
16
+ subjectField: string;
17
+ };
18
+ export type TimetrackRepoProject = {
19
+ repoPath: string;
20
+ projectKey?: string;
21
+ private: boolean;
22
+ inherited: boolean;
23
+ suggestedProjectKey?: string;
24
+ };
25
+ export type TimetrackWorklog = {
26
+ day: string;
27
+ issueKey: string;
28
+ description: string;
29
+ fromMs: number;
30
+ toMs: number;
31
+ durationMs: number;
32
+ };
33
+ /**
34
+ * Where the app writes the port and the token, which is its data directory on each platform.
35
+ *
36
+ * `TIMETRACK_AGENT_DISCOVERY` names the file directly, for a machine whose app data lives somewhere
37
+ * else and for a test.
38
+ */
39
+ export declare const timetrackDiscoveryPath: () => string;
40
+ /**
41
+ * Asks the running Timetrack app to carry out one operation.
42
+ *
43
+ * It is the only way this package reaches Jira. The token lives in the app's keychain entry and in no
44
+ * repository, so a checkout an agent works in holds nothing worth stealing and nothing to rotate.
45
+ */
46
+ export declare const askTimetrack: <T>(request: Record<string, unknown> & {
47
+ op: string;
48
+ }) => Promise<T>;
49
+ export declare const timetrackStatus: () => Promise<TimetrackStatus>;
50
+ export declare const timetrackIssue: (key: string) => Promise<TimetrackIssue>;
51
+ export declare const timetrackSearch: (options: {
52
+ text?: string;
53
+ projectKey?: string;
54
+ assignedToMe?: boolean;
55
+ limit?: number;
56
+ }) => Promise<TimetrackIssue[]>;
57
+ export declare const timetrackRepoProject: (repoPath: string) => Promise<TimetrackRepoProject>;
58
+ export declare const timetrackCreateIssue: (options: {
59
+ summary: string;
60
+ description?: string;
61
+ projectKey?: string;
62
+ issueTypeName?: string;
63
+ parentKey?: string;
64
+ subject?: string;
65
+ }) => Promise<{
66
+ key: string;
67
+ id: string;
68
+ }>;
69
+ export declare const timetrackAddWorklog: (options: {
70
+ issueKey: string;
71
+ description?: string;
72
+ fromMs: number;
73
+ durationMs: number;
74
+ }) => Promise<TimetrackWorklog>;