@gajae-code/coding-agent 0.14.0 → 0.14.1

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 (33) hide show
  1. package/CHANGELOG.md +21 -3
  2. package/dist/types/modes/components/tool-execution.d.ts +1 -1
  3. package/dist/types/sdk/broker/lifecycle.d.ts +3 -0
  4. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +1 -1
  5. package/dist/types/session/blob-store.d.ts +9 -0
  6. package/dist/types/session/session-manager.d.ts +2 -0
  7. package/dist/types/slash-commands/helpers/usage-report.d.ts +10 -0
  8. package/dist/types/tools/ask-contract.d.ts +7 -7
  9. package/dist/types/tools/descriptor-validation.d.ts +2 -2
  10. package/package.json +7 -7
  11. package/src/config/model-profiles.ts +68 -0
  12. package/src/config/model-registry.ts +20 -2
  13. package/src/defaults/gjc/skills/deep-interview/SKILL.md +14 -8
  14. package/src/internal-urls/docs-index.generated.ts +3 -3
  15. package/src/modes/components/tool-execution.ts +24 -4
  16. package/src/modes/controllers/command-controller.ts +115 -13
  17. package/src/modes/controllers/input-controller.ts +51 -18
  18. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +10 -1
  19. package/src/sdk/broker/lifecycle.ts +21 -0
  20. package/src/sdk/broker/session-index.ts +13 -0
  21. package/src/sdk/bus/telegram-daemon-contract.ts +1 -1
  22. package/src/sdk/bus/telegram-daemon.ts +29 -6
  23. package/src/sdk/router/session-router.ts +11 -4
  24. package/src/session/account-inventory.ts +25 -21
  25. package/src/session/agent-session.ts +9 -0
  26. package/src/session/blob-store.ts +73 -7
  27. package/src/session/session-manager.ts +104 -15
  28. package/src/slash-commands/builtin-registry.ts +11 -2
  29. package/src/slash-commands/helpers/usage-report.ts +56 -2
  30. package/src/tools/ask-contract.ts +1 -1
  31. package/src/tools/computer.enforcement.test.ts +9 -1
  32. package/src/tools/computer.redteam.test.ts +893 -0
  33. package/src/utils/herdr-pane.ts +17 -2
@@ -36,6 +36,21 @@ const CONTROL_CHARS = /[\u0000-\u001f\u007f-\u009f]/g;
36
36
  /** Herdr truncates to the pane width anyway; this only bounds the argv. */
37
37
  const MAX_PANE_TITLE_CHARS = 120;
38
38
 
39
+ /**
40
+ * Herdr records the highest sequence it has accepted per source and drops any
41
+ * later report that does not exceed it. That watermark belongs to the pane's
42
+ * terminal, so it outlives the gjc process that set it: a counter restarting at
43
+ * zero makes every report of the next session in that pane look stale, and the
44
+ * session stays invisible in the sidebar until it happens to out-count its
45
+ * predecessor. Seeding from wall-clock milliseconds keeps sequences rising
46
+ * across processes, which is also what Herdr's own bundled integrations do.
47
+ * The multiplier leaves 1000 sequence slots per millisecond, so a chatty
48
+ * session cannot count past the seed of the process that replaces it.
49
+ */
50
+ function initialSeq(): number {
51
+ return Date.now() * 1000;
52
+ }
53
+
39
54
  /**
40
55
  * Metadata reports carry their own per-source sequence in Herdr, independent of
41
56
  * the lifecycle-state sequence, so title updates need a counter of their own.
@@ -43,7 +58,7 @@ const MAX_PANE_TITLE_CHARS = 120;
43
58
  * reporter instance: `setSessionTerminalTitle` is called from controllers that
44
59
  * never see the reporter.
45
60
  */
46
- let metadataSeq = 0;
61
+ let metadataSeq = initialSeq();
47
62
 
48
63
  function nextMetadataSeq(): number {
49
64
  metadataSeq += 1;
@@ -263,7 +278,7 @@ export function createHerdrReporter(
263
278
  subscribe: (listener: (event: HerdrSessionEvent) => void) => () => void,
264
279
  options: HerdrReporterOptions = {},
265
280
  ): HerdrReporter {
266
- let seq = 0;
281
+ let seq = initialSeq();
267
282
  let currentState: HerdrAgentState | null = null;
268
283
  let released = false;
269
284
  /** Nesting depth of blocking ask calls; a nested ask must not unblock early. */