@2amtech/hai 0.0.3 → 0.0.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 (42) hide show
  1. package/README.md +17 -18
  2. package/dist/cli.js +0 -0
  3. package/dist/commands/init.js +1 -1
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/pull.js +24 -12
  6. package/dist/commands/pull.js.map +1 -1
  7. package/dist/helpers/init.js.map +1 -1
  8. package/dist/helpers/preflight.d.ts +1 -1
  9. package/dist/helpers/preflight.js +1 -1
  10. package/dist/helpers/preflight.js.map +1 -1
  11. package/dist/helpers/pull.d.ts +1 -0
  12. package/dist/helpers/pull.js +2 -0
  13. package/dist/helpers/pull.js.map +1 -1
  14. package/dist/plugins/atlassian/adf/convert.d.ts +4 -0
  15. package/dist/plugins/atlassian/adf/convert.js +171 -0
  16. package/dist/plugins/atlassian/adf/convert.js.map +1 -0
  17. package/dist/plugins/atlassian/adf/marks.d.ts +4 -0
  18. package/dist/plugins/atlassian/adf/marks.js +34 -0
  19. package/dist/plugins/atlassian/adf/marks.js.map +1 -0
  20. package/dist/plugins/atlassian/adf/tables.d.ts +11 -0
  21. package/dist/plugins/atlassian/adf/tables.js +73 -0
  22. package/dist/plugins/atlassian/adf/tables.js.map +1 -0
  23. package/dist/plugins/atlassian/adf/types.d.ts +14 -0
  24. package/dist/plugins/atlassian/adf/types.js +2 -0
  25. package/dist/plugins/atlassian/adf/types.js.map +1 -0
  26. package/dist/plugins/atlassian/adf-to-markdown.d.ts +2 -11
  27. package/dist/plugins/atlassian/adf-to-markdown.js +1 -120
  28. package/dist/plugins/atlassian/adf-to-markdown.js.map +1 -1
  29. package/dist/plugins/atlassian/confluence-client.d.ts +1 -1
  30. package/dist/plugins/atlassian/confluence-client.js +49 -21
  31. package/dist/plugins/atlassian/confluence-client.js.map +1 -1
  32. package/dist/plugins/vscode-copilot/agents.js.map +1 -1
  33. package/dist/plugins/vscode-copilot/index.js.map +1 -1
  34. package/dist/plugins/vscode-copilot/prompts.js.map +1 -1
  35. package/dist/types.d.ts +1 -0
  36. package/dist/wizard/summary-step.d.ts +1 -1
  37. package/dist/wizard/summary-step.js +5 -3
  38. package/dist/wizard/summary-step.js.map +1 -1
  39. package/package.json +9 -7
  40. package/dist/commands/mcp/specs.d.ts +0 -2
  41. package/dist/commands/mcp/specs.js +0 -325
  42. package/dist/commands/mcp/specs.js.map +0 -1
package/README.md CHANGED
@@ -66,8 +66,8 @@ All providers register the HAI MCP server and install the full set of prompts an
66
66
 
67
67
  ### Atlassian provider
68
68
 
69
- - **Jira**: Fetches active and done tickets by project, supports recursive linked-issue fetching, custom fields, and comments
70
- - **Confluence**: Fetches pages by space (optionally scoped to an ancestor page), converts Atlassian Document Format (ADF) to Markdown, and preserves page hierarchy
69
+ - **Jira**: Fetches active and done tickets by project, supports recursive linked-issue fetching, custom fields, and comments
70
+ - **Confluence**: Fetches pages by space (optionally scoped to an ancestor page), converts Atlassian Document Format (ADF) to Markdown, and preserves page hierarchy
71
71
 
72
72
  ## Prompts
73
73
 
@@ -149,27 +149,26 @@ Running `hai init` creates a `hai.json` at the project root (should be gitignore
149
149
 
150
150
  ```json
151
151
  {
152
- "plugins": [
153
- {
154
- "plugin": "atlassian",
155
- "provides": ["tickets", "specs"],
156
- "host": "https://your-org.atlassian.net",
157
- "email": "you@example.com",
158
- "token": "...",
159
- "projects": ["PROJ"],
160
- "spaces": ["TEAM"]
161
- },
162
- {
163
- "plugin": "claude-code",
164
- "provides": ["ai"]
165
- }
166
- ]
152
+ "plugins": [
153
+ {
154
+ "plugin": "atlassian",
155
+ "provides": ["tickets", "specs"],
156
+ "host": "https://your-org.atlassian.net",
157
+ "email": "you@example.com",
158
+ "token": "...",
159
+ "projects": ["PROJ"],
160
+ "spaces": ["TEAM"]
161
+ },
162
+ {
163
+ "plugin": "claude-code",
164
+ "provides": ["ai"]
165
+ }
166
+ ]
167
167
  }
168
168
  ```
169
169
 
170
170
  Use `hai init` again to reconfigure at any time.
171
171
 
172
-
173
172
  ## License
174
173
 
175
174
  ```
package/dist/cli.js CHANGED
File without changes
@@ -60,7 +60,7 @@ export default function InitCommand() {
60
60
  }
61
61
  const currentStep = steps[0];
62
62
  if (!currentStep) {
63
- return React.createElement(SummaryStep, { aiAlreadyInitialized: initResult?.aiAlreadyInitialized ?? false });
63
+ return (React.createElement(SummaryStep, { aiAlreadyInitialized: initResult?.aiAlreadyInitialized ?? false }));
64
64
  }
65
65
  const { capability, label } = STEP_MAP[currentStep];
66
66
  return (React.createElement(ProviderStep, { key: currentStep, capability: capability, label: label, onComplete: (plugin, data) => {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../source/commands/init.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../source/commands/init.tsx"],"names":[],"mappings":"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"}
@@ -1,24 +1,32 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import { Text } from 'ink';
2
+ import { Text, useApp } from 'ink';
3
3
  import '../plugins/index.js';
4
4
  import Spinner from '../ui/spinner.js';
5
5
  import { useConfigContext } from '../contexts/config-context.js';
6
6
  import { pullTickets, pullSpecs } from '../helpers/pull.js';
7
7
  const PHASE_FLOW = ['tickets', 'specs', 'done'];
8
8
  export default function PullCommand({ dryRun, tickets, specs, updateLocal, }) {
9
- const [phases, setPhases] = useState([...PHASE_FLOW]);
9
+ const { exit } = useApp();
10
+ const [phases, setPhases] = useState(() => PHASE_FLOW.filter(phase => {
11
+ if (phase === 'tickets')
12
+ return tickets;
13
+ if (phase === 'specs')
14
+ return specs;
15
+ return true;
16
+ }));
10
17
  const [error, setError] = useState(null);
11
18
  useEffect(() => {
12
- if (tickets) {
13
- setPhases(prev => prev.slice(1));
19
+ if (phases[0] === 'done') {
20
+ exit();
21
+ process.exit(0);
14
22
  }
15
- else if (specs) {
16
- setPhases(prev => prev.slice(2));
17
- }
18
- else {
19
- setPhases(['done']);
23
+ }, [phases, exit]);
24
+ useEffect(() => {
25
+ if (error) {
26
+ exit(error);
27
+ process.exit(1);
20
28
  }
21
- }, [tickets, specs]);
29
+ }, [error, exit]);
22
30
  if (error) {
23
31
  return React.createElement(Text, { color: "red" },
24
32
  "Error during pull: ",
@@ -40,22 +48,26 @@ function RenderPhase({ phase, onNextPhase, onError, isDryRun, shouldUpdateLocal,
40
48
  }
41
49
  function TicketSync({ onNextPhase, onError, isDryRun, shouldUpdateLocal, }) {
42
50
  const { config } = useConfigContext();
51
+ const [progress, setProgress] = useState('Syncing tickets...');
43
52
  useEffect(() => {
44
53
  pullTickets(config, {
45
54
  dryRun: isDryRun,
46
55
  updateLocal: shouldUpdateLocal,
56
+ onProgress: setProgress,
47
57
  }).then(onNextPhase, onError);
48
58
  }, [config, isDryRun, shouldUpdateLocal, onNextPhase, onError]);
49
- return React.createElement(Spinner, { label: "Syncing tickets..." });
59
+ return React.createElement(Spinner, { label: progress });
50
60
  }
51
61
  function SpecSync({ onNextPhase, onError, isDryRun, shouldUpdateLocal, }) {
52
62
  const { config } = useConfigContext();
63
+ const [progress, setProgress] = useState('Syncing specs...');
53
64
  useEffect(() => {
54
65
  pullSpecs(config, {
55
66
  dryRun: isDryRun,
56
67
  updateLocal: shouldUpdateLocal,
68
+ onProgress: setProgress,
57
69
  }).then(onNextPhase, onError);
58
70
  }, [config, isDryRun, shouldUpdateLocal, onNextPhase, onError]);
59
- return React.createElement(Spinner, { label: "Syncing specs..." });
71
+ return React.createElement(Spinner, { label: progress });
60
72
  }
61
73
  //# sourceMappingURL=pull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../source/commands/pull.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AACzB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAW1D,MAAM,UAAU,GAAY,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEzD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EACnC,MAAM,EACN,OAAO,EACP,KAAK,EACL,WAAW,GACJ;IACP,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrB,CAAC;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK;;YAAqB,KAAK,CAAC,OAAO,CAAQ,CAAC;IACpE,CAAC;IAED,OAAO,CACN,oBAAC,WAAW,IACX,GAAG,EAAE,MAAM,CAAC,CAAC,CAAE,EACf,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,EACjB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,WAAW,EAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACnD,OAAO,EAAE,QAAQ,GAChB,CACF,CAAC;AACH,CAAC;AAUD,SAAS,WAAW,CAAC,EACpB,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,iBAAiB,GACD;IAChB,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,MAAM;YACV,OAAO,oBAAC,IAAI,qBAAkB,CAAC;QAChC,KAAK,SAAS;YACb,OAAO,CACN,oBAAC,UAAU,IACV,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,GACf,CACF,CAAC;QACH,KAAK,OAAO;YACX,OAAO,CACN,oBAAC,QAAQ,IACR,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,GACf,CACF,CAAC;QACH;YACC,OAAO,oBAAC,IAAI,oBAAiB,CAAC;IAChC,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,EACnB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,iBAAiB,GACD;IAChB,MAAM,EAAC,MAAM,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACd,WAAW,CAAC,MAAO,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,iBAAiB;SAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,OAAO,oBAAC,OAAO,IAAC,KAAK,EAAC,oBAAoB,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,EACjB,WAAW,EACX,OAAO,EACP,QAAQ,EACR,iBAAiB,GACD;IAChB,MAAM,EAAC,MAAM,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACd,SAAS,CAAC,MAAO,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,iBAAiB;SAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,OAAO,oBAAC,OAAO,IAAC,KAAK,EAAC,kBAAkB,GAAG,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../source/commands/pull.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../source/helpers/init.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACN,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAiB;IAC5D,MAAM,kBAAkB,CAAC;QACxB,+BAA+B,EAAE,KAAK;KACtC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAExC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACpB,oBAAoB,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,sBAAsB,EAAE,CAAC;IAE/B,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtB,OAAO,EAAC,oBAAoB,EAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../source/helpers/init.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACN,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,MAAiB;IAEjB,MAAM,kBAAkB,CAAC;QACxB,+BAA+B,EAAE,KAAK;KACtC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAExC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACpB,oBAAoB,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,sBAAsB,EAAE,CAAC;IAE/B,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtB,OAAO,EAAC,oBAAoB,EAAC,CAAC;AAC/B,CAAC"}
@@ -4,5 +4,5 @@ interface PrflightChecks {
4
4
  mustBeInGit?: boolean;
5
5
  gitIgnoreEntriesMustBeSatisfied?: boolean;
6
6
  }
7
- export declare function runPreflightChecks({ mustBeInGit, gitIgnoreEntriesMustBeSatisfied }?: PrflightChecks): Promise<void>;
7
+ export declare function runPreflightChecks({ mustBeInGit, gitIgnoreEntriesMustBeSatisfied, }?: PrflightChecks): Promise<void>;
8
8
  export {};
@@ -47,7 +47,7 @@ export async function ensureGitignoreEntries() {
47
47
  function isFlagSet(flag) {
48
48
  return flag === undefined || flag === true;
49
49
  }
50
- export async function runPreflightChecks({ mustBeInGit, gitIgnoreEntriesMustBeSatisfied } = {}) {
50
+ export async function runPreflightChecks({ mustBeInGit, gitIgnoreEntriesMustBeSatisfied, } = {}) {
51
51
  if (isFlagSet(mustBeInGit)) {
52
52
  await assertGitRoot();
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../source/helpers/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../source/helpers/preflight.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { HaiConfig } from '../schemas/config.js';
2
2
  type PullOptions = {
3
3
  dryRun?: boolean;
4
4
  updateLocal?: boolean;
5
+ onProgress?: (message: string) => void;
5
6
  };
6
7
  export declare function pullTickets(config: HaiConfig, options?: PullOptions): Promise<void>;
7
8
  export declare function pullSpecs(config: HaiConfig, options?: PullOptions): Promise<void>;
@@ -11,6 +11,7 @@ export async function pullTickets(config, options = {}) {
11
11
  await provider.sync(destPath, {
12
12
  dryRun: options.dryRun ?? false,
13
13
  updateLocal: options.updateLocal ?? false,
14
+ onProgress: options.onProgress,
14
15
  });
15
16
  if (!options.dryRun) {
16
17
  await generateIndex(aiDir, destPath, 'Ticket Index', 'ticket-index.md');
@@ -25,6 +26,7 @@ export async function pullSpecs(config, options = {}) {
25
26
  await provider.sync(destPath, {
26
27
  dryRun: options.dryRun ?? false,
27
28
  updateLocal: options.updateLocal ?? false,
29
+ onProgress: options.onProgress,
28
30
  });
29
31
  if (!options.dryRun) {
30
32
  await generateIndex(aiDir, destPath, 'Specifications Index', 'specification-index.md');
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../source/helpers/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../source/helpers/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AdfNode, ConvertContext } from './types.js';
2
+ export declare function convertChildren(node: AdfNode, ctx: ConvertContext): string;
3
+ export declare function convertNode(node: AdfNode, ctx?: ConvertContext): string;
4
+ export declare function adfToMarkdown(node: AdfNode | null | undefined): string;
@@ -0,0 +1,171 @@
1
+ import { applyMarks } from './marks.js';
2
+ import { convertTable } from './tables.js';
3
+ const PANEL_LABELS = {
4
+ info: 'ℹ️ Info',
5
+ note: '📝 Note',
6
+ tip: '💡 Tip',
7
+ success: '✅ Success',
8
+ warning: '⚠️ Warning',
9
+ error: '🛑 Error',
10
+ };
11
+ export function convertChildren(node, ctx) {
12
+ if (!node.content)
13
+ return '';
14
+ return node.content.map(child => convertNode(child, ctx)).join('');
15
+ }
16
+ /**
17
+ * Render block content as a blockquote, prefixing each line with `> `.
18
+ * Used for panels (info/note/tip/warning/error) so their body text survives.
19
+ */
20
+ function asBlockquote(node, ctx, label) {
21
+ const inner = convertChildren(node, ctx).trimEnd();
22
+ const lines = inner.length > 0 ? inner.split('\n') : [];
23
+ const quoted = lines.map(line => (line ? `> ${line}` : '>'));
24
+ if (label)
25
+ quoted.unshift(`> **${label}**`);
26
+ return quoted.join('\n') + '\n\n';
27
+ }
28
+ function formatDate(timestamp) {
29
+ const ms = Number(timestamp);
30
+ if (!Number.isFinite(ms))
31
+ return '';
32
+ const iso = new Date(ms).toISOString();
33
+ return iso.slice(0, 10);
34
+ }
35
+ export function convertNode(node, ctx = {}) {
36
+ switch (node.type) {
37
+ case 'doc': {
38
+ return convertChildren(node, ctx);
39
+ }
40
+ case 'paragraph': {
41
+ return convertChildren(node, ctx) + '\n\n';
42
+ }
43
+ case 'text': {
44
+ return applyMarks(node.text ?? '', node.marks);
45
+ }
46
+ case 'hardBreak': {
47
+ return '\n';
48
+ }
49
+ case 'heading': {
50
+ const level = node.attrs?.['level'] ?? 1;
51
+ const prefix = '#'.repeat(level);
52
+ return `${prefix} ${convertChildren(node, ctx)}\n\n`;
53
+ }
54
+ case 'bulletList': {
55
+ return convertChildren(node, { ...ctx, listType: 'bullet' });
56
+ }
57
+ case 'orderedList': {
58
+ return convertChildren(node, { ...ctx, listType: 'ordered' });
59
+ }
60
+ case 'listItem': {
61
+ const indent = ctx.indent ?? 0;
62
+ const prefix = ' '.repeat(indent * 2) +
63
+ (ctx.listType === 'ordered' ? '1. ' : '- ');
64
+ const parts = [];
65
+ for (const child of node.content ?? []) {
66
+ if (child.type === 'bulletList' ||
67
+ child.type === 'orderedList') {
68
+ parts.push(convertNode(child, {
69
+ ...ctx,
70
+ indent: (ctx.indent ?? 0) + 1,
71
+ }));
72
+ continue;
73
+ }
74
+ parts.push(`${prefix}${convertChildren(child, ctx)}\n`);
75
+ }
76
+ return parts.join('');
77
+ }
78
+ case 'taskList': {
79
+ return convertChildren(node, ctx) + '\n';
80
+ }
81
+ case 'taskItem': {
82
+ const done = node.attrs?.['state'] === 'DONE';
83
+ const box = done ? '[x]' : '[ ]';
84
+ return `- ${box} ${convertChildren(node, ctx).trim()}\n`;
85
+ }
86
+ case 'decisionList': {
87
+ return convertChildren(node, ctx) + '\n';
88
+ }
89
+ case 'decisionItem': {
90
+ return `- **Decision:** ${convertChildren(node, ctx).trim()}\n`;
91
+ }
92
+ case 'panel': {
93
+ const panelType = node.attrs?.['panelType'] ?? 'info';
94
+ const label = PANEL_LABELS[panelType] ?? 'ℹ️ Info';
95
+ return asBlockquote(node, ctx, label);
96
+ }
97
+ case 'expand':
98
+ case 'nestedExpand': {
99
+ const title = node.attrs?.['title'] ?? 'Details';
100
+ return `**${title}**\n\n${convertChildren(node, ctx).trimEnd()}\n\n`;
101
+ }
102
+ case 'codeBlock': {
103
+ const lang = node.attrs?.['language'] ?? '';
104
+ return `\`\`\`${lang}\n${convertChildren(node, ctx)}\n\`\`\`\n\n`;
105
+ }
106
+ case 'blockquote': {
107
+ return asBlockquote(node, ctx);
108
+ }
109
+ case 'rule': {
110
+ return '---\n\n';
111
+ }
112
+ case 'table': {
113
+ return convertTable(node, ctx);
114
+ }
115
+ case 'layoutSection':
116
+ case 'layoutColumn': {
117
+ return convertChildren(node, ctx);
118
+ }
119
+ case 'status': {
120
+ const text = node.attrs?.['text'] ?? '';
121
+ return text ? `\`${text}\`` : '';
122
+ }
123
+ case 'inlineCard': {
124
+ const url = node.attrs?.['url'];
125
+ return url ? `<${url}>` : '';
126
+ }
127
+ case 'mention': {
128
+ return node.attrs?.['text'] ?? '@unknown';
129
+ }
130
+ case 'emoji': {
131
+ return (node.attrs?.['text'] ??
132
+ node.attrs?.['shortName'] ??
133
+ '');
134
+ }
135
+ case 'date': {
136
+ return formatDate(node.attrs?.['timestamp']);
137
+ }
138
+ case 'mediaSingle':
139
+ case 'mediaGroup': {
140
+ return convertChildren(node, ctx);
141
+ }
142
+ case 'media':
143
+ case 'mediaInline': {
144
+ const alt = node.attrs?.['alt'] ??
145
+ node.attrs?.['id'] ??
146
+ 'image';
147
+ return `[${alt}]\n\n`;
148
+ }
149
+ case 'extension':
150
+ case 'bodiedExtension':
151
+ case 'inlineExtension': {
152
+ const key = node.attrs?.['extensionKey'] ?? 'unknown';
153
+ const body = convertChildren(node, ctx).trim();
154
+ const marker = `_[embedded macro: ${key}]_`;
155
+ if (node.type === 'inlineExtension')
156
+ return marker;
157
+ return body ? `${marker}\n\n${body}\n\n` : `${marker}\n\n`;
158
+ }
159
+ default: {
160
+ // Unknown node type: never drop content — recurse into children so
161
+ // text inside future or unhandled wrappers is always preserved.
162
+ return convertChildren(node, ctx);
163
+ }
164
+ }
165
+ }
166
+ export function adfToMarkdown(node) {
167
+ if (!node)
168
+ return '';
169
+ return convertNode(node).trim();
170
+ }
171
+ //# sourceMappingURL=convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../source/plugins/atlassian/adf/convert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function applyMarks(text: string, marks?: Array<{
2
+ type: string;
3
+ attrs?: Record<string, unknown>;
4
+ }>): string;
@@ -0,0 +1,34 @@
1
+ export function applyMarks(text, marks) {
2
+ if (!marks)
3
+ return text;
4
+ let result = text;
5
+ for (const mark of marks) {
6
+ switch (mark.type) {
7
+ case 'strong': {
8
+ result = `**${result}**`;
9
+ break;
10
+ }
11
+ case 'em': {
12
+ result = `*${result}*`;
13
+ break;
14
+ }
15
+ case 'code': {
16
+ result = `\`${result}\``;
17
+ break;
18
+ }
19
+ case 'strike': {
20
+ result = `~~${result}~~`;
21
+ break;
22
+ }
23
+ case 'link': {
24
+ result = `[${result}](${mark.attrs?.['href'] ?? ''})`;
25
+ break;
26
+ }
27
+ default: {
28
+ break;
29
+ }
30
+ }
31
+ }
32
+ return result;
33
+ }
34
+ //# sourceMappingURL=marks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marks.js","sourceRoot":"","sources":["../../../../source/plugins/atlassian/adf/marks.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CACzB,IAAY,EACZ,KAA8D;IAE9D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACf,MAAM,GAAG,KAAK,MAAM,IAAI,CAAC;gBACzB,MAAM;YACP,CAAC;YAED,KAAK,IAAI,CAAC,CAAC,CAAC;gBACX,MAAM,GAAG,IAAI,MAAM,GAAG,CAAC;gBACvB,MAAM;YACP,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,MAAM,GAAG,KAAK,MAAM,IAAI,CAAC;gBACzB,MAAM;YACP,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACf,MAAM,GAAG,KAAK,MAAM,IAAI,CAAC;gBACzB,MAAM;YACP,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,MAAM,GAAG,IAAI,MAAM,KACjB,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAY,IAAI,EACrC,GAAG,CAAC;gBACJ,MAAM;YACP,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACT,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { AdfNode, ConvertContext } from './types.js';
2
+ /**
3
+ * Convert an ADF `table` node into a GitHub-flavoured markdown table.
4
+ *
5
+ * The first row is used as the header (whether its cells are `tableHeader` or
6
+ * `tableCell`), which keeps the output a valid markdown table regardless of how
7
+ * the source table is structured. Merged cells are expanded into empty trailing
8
+ * cells so columns stay aligned; all text is preserved even when layout cannot
9
+ * be reproduced exactly.
10
+ */
11
+ export declare function convertTable(node: AdfNode, ctx: ConvertContext): string;
@@ -0,0 +1,73 @@
1
+ import { convertNode } from './convert.js';
2
+ /**
3
+ * Render the block content of a single table cell as inline markdown.
4
+ *
5
+ * Markdown tables only support inline content on a single line, so block
6
+ * structure inside a cell (paragraphs, lists, line breaks) is collapsed into
7
+ * `<br>` separators and embedded pipes are escaped so they don't break the
8
+ * column layout.
9
+ */
10
+ function renderCell(cell, ctx) {
11
+ const raw = (cell.content ?? [])
12
+ .map(child => convertNode(child, ctx))
13
+ .join('')
14
+ .trim();
15
+ if (!raw)
16
+ return '';
17
+ return raw
18
+ .replace(/\r?\n+/g, '<br>')
19
+ .replace(/\|/g, '\\|')
20
+ .replace(/\s+/g, ' ')
21
+ .trim();
22
+ }
23
+ /**
24
+ * The number of columns a cell occupies (ADF merged cells set `colspan`).
25
+ */
26
+ function cellSpan(cell) {
27
+ const span = cell.attrs?.['colspan'];
28
+ return typeof span === 'number' && span > 0 ? span : 1;
29
+ }
30
+ function renderRow(cells, columnCount) {
31
+ const padded = [...cells];
32
+ while (padded.length < columnCount)
33
+ padded.push('');
34
+ return `| ${padded.join(' | ')} |`;
35
+ }
36
+ /**
37
+ * Convert an ADF `table` node into a GitHub-flavoured markdown table.
38
+ *
39
+ * The first row is used as the header (whether its cells are `tableHeader` or
40
+ * `tableCell`), which keeps the output a valid markdown table regardless of how
41
+ * the source table is structured. Merged cells are expanded into empty trailing
42
+ * cells so columns stay aligned; all text is preserved even when layout cannot
43
+ * be reproduced exactly.
44
+ */
45
+ export function convertTable(node, ctx) {
46
+ const rows = (node.content ?? []).filter(child => child.type === 'tableRow');
47
+ if (rows.length === 0)
48
+ return '';
49
+ // Render every cell up front and track how many columns each row spans.
50
+ const renderedRows = rows.map(row => {
51
+ const out = [];
52
+ for (const cell of row.content ?? []) {
53
+ if (cell.type !== 'tableCell' && cell.type !== 'tableHeader')
54
+ continue;
55
+ out.push(renderCell(cell, ctx));
56
+ // Expand merged cells into empty placeholders to keep alignment.
57
+ for (let i = 1; i < cellSpan(cell); i++)
58
+ out.push('');
59
+ }
60
+ return out;
61
+ });
62
+ const columnCount = renderedRows.reduce((max, row) => Math.max(max, row.length), 0);
63
+ if (columnCount === 0)
64
+ return '';
65
+ const [headerCells, ...bodyRows] = renderedRows;
66
+ const lines = [];
67
+ lines.push(renderRow(headerCells ?? [], columnCount));
68
+ lines.push(`| ${Array.from({ length: columnCount }, () => '---').join(' | ')} |`);
69
+ for (const row of bodyRows)
70
+ lines.push(renderRow(row, columnCount));
71
+ return lines.join('\n') + '\n\n';
72
+ }
73
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../source/plugins/atlassian/adf/tables.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,IAAa,EAAE,GAAmB;IACrD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SAC9B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACrC,IAAI,CAAC,EAAE,CAAC;SACR,IAAI,EAAE,CAAC;IAET,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,OAAO,GAAG;SACR,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACV,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAa;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,SAAS,CAAC,KAAe,EAAE,WAAmB;IACtD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,MAAM,GAAG,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,GAAmB;IAC9D,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CACvC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAClC,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,wEAAwE;IACxE,MAAM,YAAY,GAAe,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC/C,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;gBAC3D,SAAS;YACV,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAChC,iEAAiE;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EACvC,CAAC,CACD,CAAC;IACF,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,GAAG,YAAY,CAAC;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACnE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAClC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface AdfNode {
2
+ type: string;
3
+ text?: string;
4
+ content?: AdfNode[];
5
+ attrs?: Record<string, unknown>;
6
+ marks?: Array<{
7
+ type: string;
8
+ attrs?: Record<string, unknown>;
9
+ }>;
10
+ }
11
+ export interface ConvertContext {
12
+ listType?: 'bullet' | 'ordered';
13
+ indent?: number;
14
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../source/plugins/atlassian/adf/types.ts"],"names":[],"mappings":""}