@codyswann/lisa 4.62.4 → 4.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/all/copy-contents/.gitattributes +1 -0
  2. package/all/copy-contents/gitignore +1 -0
  3. package/dist/cli/effectiveness-cmd.d.ts +8 -0
  4. package/dist/cli/effectiveness-cmd.d.ts.map +1 -0
  5. package/dist/cli/effectiveness-cmd.js +40 -0
  6. package/dist/cli/effectiveness-cmd.js.map +1 -0
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +4 -10
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/ui-cmd.d.ts +24 -0
  11. package/dist/cli/ui-cmd.d.ts.map +1 -1
  12. package/dist/cli/ui-cmd.js +40 -13
  13. package/dist/cli/ui-cmd.js.map +1 -1
  14. package/dist/cli/ui-health.d.ts.map +1 -1
  15. package/dist/cli/ui-health.js +1 -40
  16. package/dist/cli/ui-health.js.map +1 -1
  17. package/dist/cli/ui-request-origin.d.ts +8 -0
  18. package/dist/cli/ui-request-origin.d.ts.map +1 -0
  19. package/dist/cli/ui-request-origin.js +41 -0
  20. package/dist/cli/ui-request-origin.js.map +1 -0
  21. package/dist/cli/ui-starter-sync.d.ts +17 -0
  22. package/dist/cli/ui-starter-sync.d.ts.map +1 -0
  23. package/dist/cli/ui-starter-sync.js +75 -0
  24. package/dist/cli/ui-starter-sync.js.map +1 -0
  25. package/dist/cli/update-check-hook.js +1 -0
  26. package/dist/cli/update-check-hook.js.map +1 -1
  27. package/dist/core/effectiveness-store.d.ts +104 -0
  28. package/dist/core/effectiveness-store.d.ts.map +1 -0
  29. package/dist/core/effectiveness-store.js +237 -0
  30. package/dist/core/effectiveness-store.js.map +1 -0
  31. package/dist/core/learnings-merge-driver.d.ts.map +1 -1
  32. package/dist/core/learnings-merge-driver.js +1 -0
  33. package/dist/core/learnings-merge-driver.js.map +1 -1
  34. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  35. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  36. package/dist/core/upstream-evidence-manifest.js +43 -10
  37. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  38. package/dist/utils/effectiveness.d.ts +72 -0
  39. package/dist/utils/effectiveness.d.ts.map +1 -0
  40. package/dist/utils/effectiveness.js +183 -0
  41. package/dist/utils/effectiveness.js.map +1 -0
  42. package/dist/utils/usage-accounting.d.ts +2 -0
  43. package/dist/utils/usage-accounting.d.ts.map +1 -1
  44. package/dist/utils/usage-accounting.js +24 -2
  45. package/dist/utils/usage-accounting.js.map +1 -1
  46. package/package.json +4 -4
  47. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa/.codex-plugin/skills/lisa-learnings-audit/SKILL.md +10 -1
  50. package/plugins/lisa/.codex-plugin/skills/lisa-queue-status/SKILL.md +10 -0
  51. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/SKILL.md +20 -0
  52. package/plugins/lisa/.codex-plugin/skills/lisa-starter-sync/SKILL.md +35 -0
  53. package/plugins/lisa/.codex-plugin/skills/lisa-starter-sync/agents/openai.yaml +4 -0
  54. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/SKILL.md +9 -0
  55. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  56. package/plugins/lisa/commands/starter-sync.md +6 -0
  57. package/plugins/lisa/rules/reference/usage-accounting.md +5 -1
  58. package/plugins/lisa/scripts/automation-status-expected-fleet.mjs +15 -0
  59. package/plugins/lisa/skills/lisa-learnings-audit/SKILL.md +10 -1
  60. package/plugins/lisa/skills/lisa-queue-status/SKILL.md +10 -0
  61. package/plugins/lisa/skills/lisa-setup-automations/SKILL.md +20 -0
  62. package/plugins/lisa/skills/lisa-starter-sync/SKILL.md +35 -0
  63. package/plugins/lisa/skills/lisa-starter-sync/agents/openai.yaml +4 -0
  64. package/plugins/lisa/skills/lisa-usage-accounting/SKILL.md +9 -0
  65. package/plugins/lisa/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  66. package/plugins/lisa-agy/commands/lisa/starter-sync.md +6 -0
  67. package/plugins/lisa-agy/plugin.json +1 -1
  68. package/plugins/lisa-agy/scripts/automation-status-expected-fleet.mjs +15 -0
  69. package/plugins/lisa-agy/skills/lisa-learnings-audit/SKILL.md +10 -1
  70. package/plugins/lisa-agy/skills/lisa-queue-status/SKILL.md +10 -0
  71. package/plugins/lisa-agy/skills/lisa-setup-automations/SKILL.md +20 -0
  72. package/plugins/lisa-agy/skills/lisa-starter-sync/SKILL.md +35 -0
  73. package/plugins/lisa-agy/skills/lisa-usage-accounting/SKILL.md +9 -0
  74. package/plugins/lisa-agy/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  75. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  78. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-copilot/commands/lisa/starter-sync.md +6 -0
  82. package/plugins/lisa-copilot/rules/reference/usage-accounting.md +5 -1
  83. package/plugins/lisa-copilot/scripts/automation-status-expected-fleet.mjs +15 -0
  84. package/plugins/lisa-copilot/skills/lisa-learnings-audit/SKILL.md +10 -1
  85. package/plugins/lisa-copilot/skills/lisa-queue-status/SKILL.md +10 -0
  86. package/plugins/lisa-copilot/skills/lisa-setup-automations/SKILL.md +20 -0
  87. package/plugins/lisa-copilot/skills/lisa-starter-sync/SKILL.md +35 -0
  88. package/plugins/lisa-copilot/skills/lisa-usage-accounting/SKILL.md +9 -0
  89. package/plugins/lisa-copilot/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  90. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-cursor/commands/lisa/starter-sync.md +6 -0
  92. package/plugins/lisa-cursor/rules/usage-accounting-reference.mdc +5 -1
  93. package/plugins/lisa-cursor/scripts/automation-status-expected-fleet.mjs +15 -0
  94. package/plugins/lisa-cursor/skills/lisa-learnings-audit/SKILL.md +10 -1
  95. package/plugins/lisa-cursor/skills/lisa-queue-status/SKILL.md +10 -0
  96. package/plugins/lisa-cursor/skills/lisa-setup-automations/SKILL.md +20 -0
  97. package/plugins/lisa-cursor/skills/lisa-starter-sync/SKILL.md +35 -0
  98. package/plugins/lisa-cursor/skills/lisa-usage-accounting/SKILL.md +9 -0
  99. package/plugins/lisa-cursor/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  100. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  102. package/plugins/lisa-expo-agy/plugin.json +1 -1
  103. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  105. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  106. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  107. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  108. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  111. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  112. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  113. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  116. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  117. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  118. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  120. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  121. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  122. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  123. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  125. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  126. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  127. package/plugins/lisa-rails-agy/plugin.json +1 -1
  128. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  129. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  130. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  131. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  132. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  133. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  134. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  135. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  136. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  137. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  138. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  139. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  140. package/plugins/src/base/commands/starter-sync.md +6 -0
  141. package/plugins/src/base/rules/reference/usage-accounting.md +5 -1
  142. package/plugins/src/base/scripts/automation-status-expected-fleet.mjs +15 -0
  143. package/plugins/src/base/skills/lisa-learnings-audit/SKILL.md +10 -1
  144. package/plugins/src/base/skills/lisa-queue-status/SKILL.md +10 -0
  145. package/plugins/src/base/skills/lisa-setup-automations/SKILL.md +20 -0
  146. package/plugins/src/base/skills/lisa-starter-sync/SKILL.md +35 -0
  147. package/plugins/src/base/skills/lisa-usage-accounting/SKILL.md +9 -0
  148. package/plugins/src/base/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  149. package/ui/README.md +30 -0
  150. package/ui/index.html +129 -12
@@ -33,5 +33,6 @@
33
33
  # collision this ledger exists to prevent. Entries carry an expiry and
34
34
  # stop applying on their own, so the file drains without an editor.
35
35
  .lisa/HAZARDS.jsonl merge=union
36
+ .lisa/RECURRENCES.jsonl merge=union
36
37
 
37
38
  # END: AI GUARDRAILS
@@ -269,6 +269,7 @@ expo-env.d.ts
269
269
  # adding this line does not untrack a file already committed
270
270
  # (CodySwannGT/lisa#3046).
271
271
  .lisa/readiness.json
272
+ .lisa/effectiveness/
272
273
 
273
274
  # Remote-dispatch ledger. Records the sessions this machine started so a later
274
275
  # run can find them. Per developer by construction — each fires their own
@@ -0,0 +1,8 @@
1
+ /** Adapter for existing lifecycle accounting and read-only queue reports. */
2
+ import type { Command } from "commander";
3
+ /**
4
+ * Register observation writes and inspection; no scheduling or tracker writes.
5
+ * @param program - Parent CLI
6
+ */
7
+ export declare function addEffectivenessCommand(program: Command): void;
8
+ //# sourceMappingURL=effectiveness-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectiveness-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/effectiveness-cmd.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+C9D"}
@@ -0,0 +1,40 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { recordEffectiveness, recordRecurrence, readEffectivenessReport, } from "../core/effectiveness-store.js";
3
+ import { invariantFingerprint } from "../utils/effectiveness.js";
4
+ const INPUT_OPTION = "--input <file>";
5
+ /**
6
+ * Register observation writes and inspection; no scheduling or tracker writes.
7
+ * @param program - Parent CLI
8
+ */
9
+ export function addEffectivenessCommand(program) {
10
+ const command = program
11
+ .command("effectiveness")
12
+ .description("Record sourced delivery observations and report recurring failures");
13
+ command
14
+ .command("record")
15
+ .requiredOption(INPUT_OPTION, "JSON accounting row: entryId, artifactRef, effectiveness")
16
+ .action(async (options) => {
17
+ await recordEffectiveness(process.cwd(), JSON.parse(await readFile(options.input, "utf8")));
18
+ process.stdout.write("Local effectiveness observation recorded.\n");
19
+ });
20
+ command
21
+ .command("recurrence")
22
+ .requiredOption(INPUT_OPTION, "JSON post-control recurrence evidence")
23
+ .action(async (options) => {
24
+ const count = await recordRecurrence(process.cwd(), JSON.parse(await readFile(options.input, "utf8")));
25
+ process.stdout.write(`${JSON.stringify({ recurrenceCount: count })}\n`);
26
+ });
27
+ command
28
+ .command("report")
29
+ .description("Read local observations and committed recurrence history without writing")
30
+ .action(async () => {
31
+ process.stdout.write(`${JSON.stringify(await readEffectivenessReport(process.cwd()), null, 2)}\n`);
32
+ });
33
+ command
34
+ .command("fingerprint")
35
+ .requiredOption(INPUT_OPTION, "Invariant text, shared with the gardener")
36
+ .action(async (options) => {
37
+ process.stdout.write(`${invariantFingerprint(await readFile(options.input, "utf8"))}\n`);
38
+ });
39
+ }
40
+ //# sourceMappingURL=effectiveness-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectiveness-cmd.js","sourceRoot":"","sources":["../../src/cli/effectiveness-cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CACV,oEAAoE,CACrE,CAAC;IACJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CACb,YAAY,EACZ,0DAA0D,CAC3D;SACA,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,MAAM,mBAAmB,CACvB,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAY,CAC7D,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IACL,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,cAAc,CAAC,YAAY,EAAE,uCAAuC,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAY,CAC7D,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,0EAA0E,CAC3E;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,cAAc,CAAC,YAAY,EAAE,0CAA0C,CAAC;SACxE,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,oBAAoB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAyND;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAiET;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAgND;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAiET;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
package/dist/cli/index.js CHANGED
@@ -16,7 +16,7 @@ import { SETUP_TYPES } from "./starters.js";
16
16
  import { addStarterCommand } from "./starter-cmd.js";
17
17
  import { addStandardsProofCommand, runStandardsProofCli, } from "./standards-proof-cmd.js";
18
18
  import { runSync } from "./sync-cmd.js";
19
- import { runUi } from "./ui-cmd.js";
19
+ import { runUi, addUiCommand } from "./ui-cmd.js";
20
20
  import { runUpdate } from "./update-cmd.js";
21
21
  import { runUpdateCheck } from "./update-check.js";
22
22
  import { addUpdateCheckHook } from "./update-check-hook.js";
@@ -25,6 +25,7 @@ import { addEnvironmentCommand } from "./environment-cmd.js";
25
25
  import { addRemoteEnvCommand } from "./remote-env-cmd.js";
26
26
  import { addWorkstationCommand } from "./workstation-cmd.js";
27
27
  import { getPackageVersion } from "./version.js";
28
+ import { addEffectivenessCommand } from "./effectiveness-cmd.js";
28
29
  const DEFAULT_DEPENDENCIES = {
29
30
  runApply,
30
31
  runSetupProject,
@@ -146,6 +147,7 @@ function addMaintenanceCommands(program, deps) {
146
147
  }
147
148
  });
148
149
  addWorkstationCommand(program);
150
+ addEffectivenessCommand(program);
149
151
  addRemoteEnvCommand(program);
150
152
  addEnvironmentCommand(program);
151
153
  addDoctorCommand(program, deps);
@@ -163,15 +165,7 @@ function addMaintenanceCommands(program, deps) {
163
165
  process.exitCode = code;
164
166
  }
165
167
  });
166
- program
167
- .command("ui")
168
- .description("Serve the Lisa settings console for a project (runs a config sync first)")
169
- .argument("[path]", PATH_ARG_DESCRIPTION)
170
- .option("--port <port>", "Port to listen on", "4780")
171
- .option("--no-sync", "Skip the config sync on startup")
172
- .action(async (targetPath, options) => {
173
- await deps.runUi(targetPath, options);
174
- });
168
+ addUiCommand(program, deps.runUi);
175
169
  addGateCommands(program, deps);
176
170
  addKaneCommands(program, deps);
177
171
  addPruneCommands(program);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,18 @@
1
+ /**
2
+ * `lisa ui` — serve the Lisa settings console for a project.
3
+ *
4
+ * Runs a config sync first (so the config file is fully populated — the UI's
5
+ * contract is "no unset configs"), then serves the packaged `ui/index.html`
6
+ * with the project's merged live config injected as
7
+ * `window.LISA_LIVE_CONFIG`, which the page uses to hydrate its controls.
8
+ * @module cli/ui-cmd
9
+ */
10
+ import type { Command } from "commander";
1
11
  import * as http from "node:http";
2
12
  import type { JsonObject } from "../sync/json-path.js";
3
13
  import { type RemoteEnvironmentStatus } from "./remote-environment.js";
4
14
  import { type StatusProbe } from "./ui-status.js";
15
+ import { type UiStarterSyncDependencies } from "./ui-starter-sync.js";
5
16
  import { type GateReportDependencies } from "./ui-gate-report.js";
6
17
  import { type UiHealthDependencies } from "./ui-health.js";
7
18
  import { type SetupReadinessDependencies } from "./ui-setup-readiness.js";
@@ -23,18 +34,31 @@ export interface UiCmdOptions {
23
34
  readonly port?: string;
24
35
  /** Set false (via --no-sync) to skip the config sync on startup */
25
36
  readonly sync?: boolean;
37
+ /** Optional attribution for starter-sync commits made through this console. */
38
+ readonly workItem?: string;
39
+ readonly coAuthor?: string;
26
40
  }
27
41
  /** Injectable runtime collaborators for `lisa ui`. */
28
42
  export interface UiRuntimeDependencies {
43
+ /** Trusted in-process host receives the private launch URL instead of printing it. */
44
+ readonly onListening?: (launchUrl: string) => void;
29
45
  /** Status probes exposed by GET /api/status. */
30
46
  readonly probes?: readonly StatusProbe[];
31
47
  /** Health storage and execution boundaries exposed by /api/health. */
32
48
  readonly health?: Partial<UiHealthDependencies>;
49
+ /** Existing starter-sync command invoked by the console write endpoint. */
50
+ readonly starterSync?: Partial<UiStarterSyncDependencies>;
33
51
  /** Read-only setup-readiness boundaries exposed by /api/setup-readiness. */
34
52
  readonly setupReadiness?: SetupReadinessDependencies;
35
53
  /** Read-only gate-report boundaries exposed by /api/gate-report. */
36
54
  readonly gateReport?: GateReportDependencies;
37
55
  }
56
+ /**
57
+ * Register the console and its server-bound starter attribution.
58
+ * @param program - Root CLI program.
59
+ * @param run - Console startup operation.
60
+ */
61
+ export declare function addUiCommand(program: Command, run: typeof runUi): void;
38
62
  /**
39
63
  * Locate the packaged `ui/index.html` by walking up from this module until a
40
64
  * directory containing `ui/index.html` is found (works from both `src/` and
@@ -1 +1 @@
1
- {"version":3,"file":"ui-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/ui-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/ui-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
- /**
2
- * `lisa ui` — serve the Lisa settings console for a project.
3
- *
4
- * Runs a config sync first (so the config file is fully populated — the UI's
5
- * contract is "no unset configs"), then serves the packaged `ui/index.html`
6
- * with the project's merged live config injected as
7
- * `window.LISA_LIVE_CONFIG`, which the page uses to hydrate its controls.
8
- * @module cli/ui-cmd
9
- */
10
- /* eslint-disable max-lines -- the central UI route registry stays auditable in one module */
1
+ import { randomBytes } from "node:crypto";
11
2
  import { existsSync } from "node:fs";
12
3
  import { readFile } from "node:fs/promises";
13
4
  import * as http from "node:http";
@@ -25,6 +16,7 @@ import { createGithubAuthProbe, readStatusSnapshot, validateStatusProbes, } from
25
16
  import { createEnabledPluginsProbe } from "./ui-enabled-plugins.js";
26
17
  import { createAutomationsProbe } from "./ui-automations.js";
27
18
  import { createObservabilityProviderProbes } from "./ui-observability-providers.js";
19
+ import { createUiStarterSyncHandler, } from "./ui-starter-sync.js";
28
20
  import { serveConfigWrite } from "./ui-config-write.js";
29
21
  import { createGateReportHandler, } from "./ui-gate-report.js";
30
22
  import { createUiHealthHandler, } from "./ui-health.js";
@@ -44,6 +36,24 @@ export const DEFAULT_UI_PORT = 4780;
44
36
  const JSON_CONTENT_TYPE = "application/json; charset=utf-8";
45
37
  const NO_STORE = "no-store";
46
38
  const TEXT_CONTENT_TYPE = "text/plain; charset=utf-8";
39
+ /**
40
+ * Register the console and its server-bound starter attribution.
41
+ * @param program - Root CLI program.
42
+ * @param run - Console startup operation.
43
+ */
44
+ export function addUiCommand(program, run) {
45
+ program
46
+ .command("ui")
47
+ .description("Serve the Lisa settings console for a project (runs a config sync first)")
48
+ .argument("[path]", "Project directory (defaults to current directory)")
49
+ .option("--port <port>", "Port to listen on", "4780")
50
+ .option("--no-sync", "Skip the config sync on startup")
51
+ .option("--work-item <ref>", "Work item for starter-sync commits")
52
+ .option("--co-author <identity>", "Actual agent co-author for starter-sync commits")
53
+ .action(async (targetPath, options) => {
54
+ await run(targetPath, options);
55
+ });
56
+ }
47
57
  /**
48
58
  * Read the CLI process environment through one explicit, reviewable exception.
49
59
  * Only boolean presence checks derived from this map reach the browser.
@@ -252,14 +262,22 @@ function isLoopbackHost(host) {
252
262
  * @param page - Hydrated settings console HTML
253
263
  * @param probes - Live-status probes registered for this server
254
264
  * @param destDir - Project root served by this UI process
265
+ * @param starterCapability - Per-launch credential for the Git-mutating route
255
266
  * @param healthDependencies - Injectable Health v1 storage/run boundaries
256
267
  * @param setupReadinessDependencies - Injectable read-only Setup boundaries
257
268
  * @param gateReportDependencies - Injectable read-only Doctor boundaries
269
+ * @param starterSyncDependencies - Existing starter landing operation
270
+ * @param options - Server-bound commit attribution
258
271
  * @returns Loopback HTTP request handler
259
272
  */
260
- function createUiRequestHandler(page, probes, destDir, healthDependencies = {}, setupReadinessDependencies = {}, gateReportDependencies = {}) {
273
+ function createUiRequestHandler(page, probes, destDir, starterCapability, healthDependencies = {}, setupReadinessDependencies = {}, gateReportDependencies = {}, starterSyncDependencies = {}, options = {}) {
261
274
  const readSnapshot = createStatusSnapshotReader(probes);
262
275
  const serveHealth = createUiHealthHandler(destDir, healthDependencies);
276
+ const serveStarterSync = createUiStarterSyncHandler({
277
+ path: destDir,
278
+ ...(options.workItem ? { workItem: options.workItem } : {}),
279
+ ...(options.coAuthor ? { coAuthor: options.coAuthor } : {}),
280
+ }, starterCapability, starterSyncDependencies);
263
281
  const serveGateReport = createGateReportHandler(destDir, gateReportDependencies);
264
282
  const readCurrentSetup = createSetupReadinessSnapshotReader(createSetupReadinessReader(destDir, setupReadinessDependencies));
265
283
  validateStatusProbes(probes);
@@ -283,6 +301,10 @@ function createUiRequestHandler(page, probes, destDir, healthDependencies = {},
283
301
  serveConfigWrite(request, response, destDir);
284
302
  return;
285
303
  }
304
+ if (pathname === "/api/starter-sync") {
305
+ serveStarterSync(request, response);
306
+ return;
307
+ }
286
308
  if (pathname === "/api/health") {
287
309
  serveHealth(request, response);
288
310
  return;
@@ -330,6 +352,7 @@ export async function runUi(targetPath, options = {}, dependencies = {}) {
330
352
  const config = await readMergedUiConfig(destDir).catch(() => ({}));
331
353
  const remoteEnvironment = await inspectRemoteEnvironment(destDir, config, getProcessEnvironment());
332
354
  const page = injectLiveConfig(html, config, remoteEnvironment);
355
+ const starterCapability = randomBytes(32).toString("hex");
333
356
  const probes = dependencies.probes ?? [
334
357
  createGithubAuthProbe(destDir),
335
358
  createEnabledPluginsProbe(destDir),
@@ -341,14 +364,18 @@ export async function runUi(targetPath, options = {}, dependencies = {}) {
341
364
  ...createObservabilityProviderProbes(),
342
365
  createAutomationsProbe({ cwd: destDir }),
343
366
  ];
344
- const server = http.createServer(createUiRequestHandler(page, probes, destDir, dependencies.health, dependencies.setupReadiness, dependencies.gateReport));
367
+ const server = http.createServer(createUiRequestHandler(page, probes, destDir, starterCapability, dependencies.health, dependencies.setupReadiness, dependencies.gateReport, dependencies.starterSync, options));
345
368
  await new Promise(resolve => {
346
369
  server.listen(port, "127.0.0.1", resolve);
347
370
  });
348
371
  const address = server.address();
349
372
  const boundPort = typeof address === "object" && address !== null ? address.port : port;
373
+ const launchUrl = `http://127.0.0.1:${boundPort}/#lisa-token=${starterCapability}`;
350
374
  console.log(`Lisa console for ${destDir}`);
351
- console.log(` → http://127.0.0.1:${boundPort}`);
375
+ if (dependencies.onListening)
376
+ dependencies.onListening(launchUrl);
377
+ else
378
+ console.log(` → ${launchUrl}`);
352
379
  console.log("Press Ctrl+C to stop.");
353
380
  return server;
354
381
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ui-cmd.js","sourceRoot":"","sources":["../../src/cli/ui-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-cmd.js","sourceRoot":"","sources":["../../src/cli/ui-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-health.d.ts","sourceRoot":"","sources":["../../src/cli/ui-health.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAM5B,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,sBAAsB,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,OAAO,kBAAkB,CAAC;CAClD;AA6ED;;;;;;;GAOG;AAEH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,OAAO,CAAC,oBAAoB,CAAM,GAC/C,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAwFxE"}
1
+ {"version":3,"file":"ui-health.d.ts","sourceRoot":"","sources":["../../src/cli/ui-health.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAM5B,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,sBAAsB,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,OAAO,kBAAkB,CAAC;CAClD;AA8BD;;;;;;;GAOG;AAEH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,OAAO,CAAC,oBAAoB,CAAM,GAC/C,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAwFxE"}
@@ -1,3 +1,4 @@
1
+ import { isExpectedLoopbackOrigin } from "./ui-request-origin.js";
1
2
  import { readLatestHealthResult, runPersistedHealth, serializeHealthResult, } from "../health/index.js";
2
3
  const JSON_CONTENT_TYPE = "application/json; charset=utf-8";
3
4
  const NO_STORE = "no-store";
@@ -6,46 +7,6 @@ const DEFAULT_DEPENDENCIES = {
6
7
  readLatest: readLatestHealthResult,
7
8
  runPersisted: runPersistedHealth,
8
9
  };
9
- /**
10
- * Restrict origins to the exact loopback authority advertised by `lisa ui`.
11
- * @param origin - Incoming Origin header
12
- * @param host - Incoming Host header
13
- * @returns Whether origin exactly matches the loopback listener
14
- */
15
- function isExpectedLoopbackOrigin(origin, host) {
16
- if (origin === undefined || host === undefined)
17
- return false;
18
- try {
19
- const parsed = new URL(origin);
20
- return (origin === parsed.origin &&
21
- parsed.protocol === "http:" &&
22
- parsed.host === host &&
23
- isLoopbackHost(parsed.host));
24
- }
25
- catch {
26
- return false;
27
- }
28
- }
29
- /**
30
- * Match the config writer's accepted 127.0.0.1 authority shape.
31
- * @param host - URL authority to inspect
32
- * @returns Whether the authority is valid loopback
33
- */
34
- function isLoopbackHost(host) {
35
- if (host === "127.0.0.1")
36
- return true;
37
- const prefix = "127.0.0.1:";
38
- if (!host.startsWith(prefix))
39
- return false;
40
- const portText = host.slice(prefix.length);
41
- const digitsOnly = Array.from(portText).every(character => character >= "0" && character <= "9");
42
- const port = Number(portText);
43
- return (portText.length > 0 &&
44
- portText.length <= 5 &&
45
- digitsOnly &&
46
- port > 0 &&
47
- port <= 65_535);
48
- }
49
10
  /**
50
11
  * Write a no-store response without leaking runtime or filesystem details.
51
12
  * @param response - HTTP response
@@ -1 +1 @@
1
- {"version":3,"file":"ui-health.js","sourceRoot":"","sources":["../../src/cli/ui-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-health.js","sourceRoot":"","sources":["../../src/cli/ui-health.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Restrict origins to the exact loopback authority advertised by `lisa ui`.
3
+ * @param origin - Incoming Origin header
4
+ * @param host - Incoming Host header
5
+ * @returns Whether origin exactly matches the loopback listener
6
+ */
7
+ export declare function isExpectedLoopbackOrigin(origin: string | undefined, host: string | undefined): boolean;
8
+ //# sourceMappingURL=ui-request-origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-request-origin.d.ts","sourceRoot":"","sources":["../../src/cli/ui-request-origin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAaT"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Restrict origins to the exact loopback authority advertised by `lisa ui`.
3
+ * @param origin - Incoming Origin header
4
+ * @param host - Incoming Host header
5
+ * @returns Whether origin exactly matches the loopback listener
6
+ */
7
+ export function isExpectedLoopbackOrigin(origin, host) {
8
+ if (origin === undefined || host === undefined)
9
+ return false;
10
+ try {
11
+ const parsed = new URL(origin);
12
+ return (origin === parsed.origin &&
13
+ parsed.protocol === "http:" &&
14
+ parsed.host === host &&
15
+ isLoopbackHost(parsed.host));
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ }
21
+ /**
22
+ * Match the config writer's accepted 127.0.0.1 authority shape.
23
+ * @param host - URL authority to inspect
24
+ * @returns Whether the authority is valid loopback
25
+ */
26
+ function isLoopbackHost(host) {
27
+ if (host === "127.0.0.1")
28
+ return true;
29
+ const prefix = "127.0.0.1:";
30
+ if (!host.startsWith(prefix))
31
+ return false;
32
+ const portText = host.slice(prefix.length);
33
+ const digitsOnly = Array.from(portText).every(character => character >= "0" && character <= "9");
34
+ const port = Number(portText);
35
+ return (portText.length > 0 &&
36
+ portText.length <= 5 &&
37
+ digitsOnly &&
38
+ port > 0 &&
39
+ port <= 65_535);
40
+ }
41
+ //# sourceMappingURL=ui-request-origin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-request-origin.js","sourceRoot":"","sources":["../../src/cli/ui-request-origin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA0B,EAC1B,IAAwB;IAExB,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CACL,MAAM,KAAK,MAAM,CAAC,MAAM;YACxB,MAAM,CAAC,QAAQ,KAAK,OAAO;YAC3B,MAAM,CAAC,IAAI,KAAK,IAAI;YACpB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAC3C,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAClD,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,CACL,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,QAAQ,CAAC,MAAM,IAAI,CAAC;QACpB,UAAU;QACV,IAAI,GAAG,CAAC;QACR,IAAI,IAAI,MAAM,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** Project-bound, same-origin caller of the existing starter landing command. */
2
+ import type { IncomingMessage, ServerResponse } from "node:http";
3
+ import { runStarterSync, type StarterSyncCommandOptions } from "./starter-sync-command.js";
4
+ /** Only the existing landing operation is replaceable by tests. */
5
+ export interface UiStarterSyncDependencies {
6
+ readonly run: typeof runStarterSync;
7
+ }
8
+ /**
9
+ * Bind writes to the server's project and attribution, never request input.
10
+ * Overlapping requests fail explicitly instead of starting another Git mutation.
11
+ * @param options - Trusted server startup options.
12
+ * @param capability - Secret generated for this console launch, never served over HTTP.
13
+ * @param dependencies - Existing landing command boundary.
14
+ * @returns POST handler with one active sync per console.
15
+ */
16
+ export declare function createUiStarterSyncHandler(options: StarterSyncCommandOptions, capability: string, dependencies?: Partial<UiStarterSyncDependencies>): (request: IncomingMessage, response: ServerResponse) => void;
17
+ //# sourceMappingURL=ui-starter-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-starter-sync.d.ts","sourceRoot":"","sources":["../../src/cli/ui-starter-sync.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EACL,cAAc,EACd,KAAK,yBAAyB,EAC/B,MAAM,2BAA2B,CAAC;AAGnC,mEAAmE;AACnE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,OAAO,cAAc,CAAC;CACrC;AAqBD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,yBAAyB,EAClC,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,OAAO,CAAC,yBAAyB,CAAM,GACpD,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CA8C9D"}
@@ -0,0 +1,75 @@
1
+ import { timingSafeEqual } from "node:crypto";
2
+ import { runStarterSync, } from "./starter-sync-command.js";
3
+ import { isExpectedLoopbackOrigin } from "./ui-request-origin.js";
4
+ /**
5
+ * Serialize an outcome without allowing intermediary caching.
6
+ * @param response - Request's response.
7
+ * @param status - HTTP status.
8
+ * @param outcome - Actual landing outcome or failure.
9
+ */
10
+ function reply(response, status, outcome) {
11
+ response.writeHead(status, {
12
+ "content-type": "application/json; charset=utf-8",
13
+ "cache-control": "no-store",
14
+ ...(status === 405 ? { allow: "POST" } : {}),
15
+ });
16
+ response.end(JSON.stringify(outcome));
17
+ }
18
+ /**
19
+ * Bind writes to the server's project and attribution, never request input.
20
+ * Overlapping requests fail explicitly instead of starting another Git mutation.
21
+ * @param options - Trusted server startup options.
22
+ * @param capability - Secret generated for this console launch, never served over HTTP.
23
+ * @param dependencies - Existing landing command boundary.
24
+ * @returns POST handler with one active sync per console.
25
+ */
26
+ export function createUiStarterSyncHandler(options, capability, dependencies = {}) {
27
+ const run = dependencies.run ?? runStarterSync;
28
+ // eslint-disable-next-line functional/no-let -- server-local mutation lock released only when the command settles
29
+ let running = false;
30
+ return (request, response) => {
31
+ if (request.method !== "POST") {
32
+ reply(response, 405, { state: "failed", error: "Method not allowed" });
33
+ return;
34
+ }
35
+ if (!isExpectedLoopbackOrigin(request.headers.origin, request.headers.host) ||
36
+ !hasLaunchCapability(request.headers["x-lisa-starter-token"], capability)) {
37
+ reply(response, 403, {
38
+ state: "failed",
39
+ error: "Open the console using its terminal launch link to authorize starter sync",
40
+ });
41
+ return;
42
+ }
43
+ if (running) {
44
+ reply(response, 409, {
45
+ state: "failed",
46
+ error: "Starter sync is already running. Wait for its result before retrying.",
47
+ });
48
+ return;
49
+ }
50
+ running = true;
51
+ void Promise.resolve()
52
+ .then(() => run(options))
53
+ .then(result => reply(response, 200, result), error => reply(response, 500, {
54
+ state: "failed",
55
+ error: error instanceof Error
56
+ ? error.message
57
+ : "Unable to sync the starter. Check the Lisa console terminal for details.",
58
+ }))
59
+ .finally(() => {
60
+ running = false;
61
+ });
62
+ };
63
+ }
64
+ /**
65
+ * Authenticate a local caller independently of its forgeable HTTP headers.
66
+ * @param supplied - Request capability header
67
+ * @param expected - Per-launch capability known only to the initiating process
68
+ * @returns Whether this request carries the current launch capability
69
+ */
70
+ function hasLaunchCapability(supplied, expected) {
71
+ return (typeof supplied === "string" &&
72
+ /^[a-f0-9]{64}$/u.test(supplied) &&
73
+ timingSafeEqual(Buffer.from(supplied, "utf8"), Buffer.from(expected, "utf8")));
74
+ }
75
+ //# sourceMappingURL=ui-starter-sync.js.map