@agentuity/opencode 0.1.42 → 0.1.44

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 (122) hide show
  1. package/README.md +9 -9
  2. package/dist/agents/architect.d.ts +1 -1
  3. package/dist/agents/architect.d.ts.map +1 -1
  4. package/dist/agents/architect.js +4 -0
  5. package/dist/agents/architect.js.map +1 -1
  6. package/dist/agents/builder.d.ts +1 -1
  7. package/dist/agents/builder.d.ts.map +1 -1
  8. package/dist/agents/builder.js +4 -0
  9. package/dist/agents/builder.js.map +1 -1
  10. package/dist/agents/expert.d.ts +1 -1
  11. package/dist/agents/expert.d.ts.map +1 -1
  12. package/dist/agents/expert.js +2 -2
  13. package/dist/agents/index.d.ts.map +1 -1
  14. package/dist/agents/index.js +4 -0
  15. package/dist/agents/index.js.map +1 -1
  16. package/dist/agents/lead.d.ts +1 -1
  17. package/dist/agents/lead.d.ts.map +1 -1
  18. package/dist/agents/lead.js +94 -11
  19. package/dist/agents/lead.js.map +1 -1
  20. package/dist/agents/memory/entities.d.ts +32 -0
  21. package/dist/agents/memory/entities.d.ts.map +1 -0
  22. package/dist/agents/memory/entities.js +168 -0
  23. package/dist/agents/memory/entities.js.map +1 -0
  24. package/dist/agents/memory/index.d.ts +4 -0
  25. package/dist/agents/memory/index.d.ts.map +1 -0
  26. package/dist/agents/memory/index.js +2 -0
  27. package/dist/agents/memory/index.js.map +1 -0
  28. package/dist/agents/memory/types.d.ts +71 -0
  29. package/dist/agents/memory/types.d.ts.map +1 -0
  30. package/dist/agents/memory/types.js +2 -0
  31. package/dist/agents/memory/types.js.map +1 -0
  32. package/dist/agents/memory.d.ts +1 -1
  33. package/dist/agents/memory.d.ts.map +1 -1
  34. package/dist/agents/memory.js +344 -7
  35. package/dist/agents/memory.js.map +1 -1
  36. package/dist/agents/product.d.ts +4 -0
  37. package/dist/agents/product.d.ts.map +1 -0
  38. package/dist/agents/product.js +333 -0
  39. package/dist/agents/product.js.map +1 -0
  40. package/dist/agents/reasoner.d.ts +16 -0
  41. package/dist/agents/reasoner.d.ts.map +1 -0
  42. package/dist/agents/reasoner.js +160 -0
  43. package/dist/agents/reasoner.js.map +1 -0
  44. package/dist/agents/reviewer.d.ts +1 -1
  45. package/dist/agents/reviewer.d.ts.map +1 -1
  46. package/dist/agents/reviewer.js +9 -0
  47. package/dist/agents/reviewer.js.map +1 -1
  48. package/dist/background/manager.d.ts +1 -0
  49. package/dist/background/manager.d.ts.map +1 -1
  50. package/dist/background/manager.js +7 -1
  51. package/dist/background/manager.js.map +1 -1
  52. package/dist/plugin/hooks/index.d.ts +2 -0
  53. package/dist/plugin/hooks/index.d.ts.map +1 -0
  54. package/dist/plugin/hooks/index.js +2 -0
  55. package/dist/plugin/hooks/index.js.map +1 -0
  56. package/dist/plugin/hooks/session-memory.d.ts.map +1 -1
  57. package/dist/plugin/hooks/session-memory.js +5 -0
  58. package/dist/plugin/hooks/session-memory.js.map +1 -1
  59. package/dist/plugin/hooks/tools.d.ts +11 -0
  60. package/dist/plugin/hooks/tools.d.ts.map +1 -1
  61. package/dist/plugin/hooks/tools.js +18 -1
  62. package/dist/plugin/hooks/tools.js.map +1 -1
  63. package/dist/plugin/plugin.d.ts.map +1 -1
  64. package/dist/plugin/plugin.js +203 -12
  65. package/dist/plugin/plugin.js.map +1 -1
  66. package/dist/tmux/executor.d.ts +43 -20
  67. package/dist/tmux/executor.d.ts.map +1 -1
  68. package/dist/tmux/executor.js +547 -243
  69. package/dist/tmux/executor.js.map +1 -1
  70. package/dist/tmux/index.d.ts +1 -1
  71. package/dist/tmux/index.d.ts.map +1 -1
  72. package/dist/tmux/index.js +1 -1
  73. package/dist/tmux/index.js.map +1 -1
  74. package/dist/tmux/manager.d.ts +37 -3
  75. package/dist/tmux/manager.d.ts.map +1 -1
  76. package/dist/tmux/manager.js +219 -96
  77. package/dist/tmux/manager.js.map +1 -1
  78. package/dist/tmux/types.d.ts +10 -0
  79. package/dist/tmux/types.d.ts.map +1 -1
  80. package/dist/tmux/types.js.map +1 -1
  81. package/dist/tmux/utils.d.ts +17 -0
  82. package/dist/tmux/utils.d.ts.map +1 -1
  83. package/dist/tmux/utils.js +39 -0
  84. package/dist/tmux/utils.js.map +1 -1
  85. package/dist/tools/background.d.ts +2 -0
  86. package/dist/tools/background.d.ts.map +1 -1
  87. package/dist/tools/background.js +3 -3
  88. package/dist/tools/background.js.map +1 -1
  89. package/dist/tools/delegate.d.ts +4 -0
  90. package/dist/tools/delegate.d.ts.map +1 -1
  91. package/dist/tools/delegate.js +18 -3
  92. package/dist/tools/delegate.js.map +1 -1
  93. package/dist/types.d.ts +2 -0
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.js +2 -0
  96. package/dist/types.js.map +1 -1
  97. package/package.json +3 -3
  98. package/src/agents/architect.ts +4 -0
  99. package/src/agents/builder.ts +4 -0
  100. package/src/agents/expert.ts +2 -2
  101. package/src/agents/index.ts +4 -0
  102. package/src/agents/lead.ts +94 -11
  103. package/src/agents/memory/entities.ts +220 -0
  104. package/src/agents/memory/index.ts +22 -0
  105. package/src/agents/memory/types.ts +76 -0
  106. package/src/agents/memory.ts +344 -7
  107. package/src/agents/product.ts +336 -0
  108. package/src/agents/reasoner.ts +182 -0
  109. package/src/agents/reviewer.ts +9 -0
  110. package/src/background/manager.ts +7 -1
  111. package/src/plugin/hooks/index.ts +1 -0
  112. package/src/plugin/hooks/session-memory.ts +5 -0
  113. package/src/plugin/hooks/tools.ts +24 -1
  114. package/src/plugin/plugin.ts +228 -12
  115. package/src/tmux/executor.ts +610 -249
  116. package/src/tmux/index.ts +5 -2
  117. package/src/tmux/manager.ts +241 -98
  118. package/src/tmux/types.ts +11 -0
  119. package/src/tmux/utils.ts +39 -0
  120. package/src/tools/background.ts +3 -3
  121. package/src/tools/delegate.ts +18 -3
  122. package/src/types.ts +2 -0
@@ -1,4 +1,15 @@
1
1
  import type { PaneAction, WindowState, TmuxConfig } from './types';
2
+ type OwnershipContext = {
3
+ instanceId: string;
4
+ ownerPid: number;
5
+ serverKey: string;
6
+ tmuxSessionId?: string;
7
+ };
8
+ type OwnershipLookup = {
9
+ serverKey: string;
10
+ instanceId: string;
11
+ tmuxSessionId?: string;
12
+ };
2
13
  export interface ActionResult {
3
14
  success: boolean;
4
15
  paneId?: string;
@@ -6,6 +17,14 @@ export interface ActionResult {
6
17
  pid?: number;
7
18
  error?: string;
8
19
  }
20
+ export declare function getPanePid(paneId: string): Promise<number | undefined>;
21
+ export declare function getPanePidSync(paneId: string): number | undefined;
22
+ export declare function findOwnedAgentPanes(serverKey: string): Promise<Array<{
23
+ paneId: string;
24
+ panePid?: number;
25
+ sessionId?: string;
26
+ instanceId?: string;
27
+ }>>;
9
28
  /**
10
29
  * Kill a process and all its children (the entire process tree).
11
30
  *
@@ -23,6 +42,7 @@ export declare function executeAction(action: PaneAction, ctx: {
23
42
  config: TmuxConfig;
24
43
  serverUrl: string;
25
44
  windowState: WindowState;
45
+ ownership: OwnershipContext;
26
46
  }): Promise<ActionResult>;
27
47
  /**
28
48
  * Execute multiple actions in sequence
@@ -31,6 +51,7 @@ export declare function executeActions(actions: PaneAction[], ctx: {
31
51
  config: TmuxConfig;
32
52
  serverUrl: string;
33
53
  windowState: WindowState;
54
+ ownership: OwnershipContext;
34
55
  }): Promise<{
35
56
  success: boolean;
36
57
  spawnedPaneId?: string;
@@ -47,38 +68,40 @@ export declare function closePaneById(paneId: string, pid?: number): Promise<Act
47
68
  /**
48
69
  * Reset the agents window state (for cleanup)
49
70
  */
50
- export declare function resetAgentsWindow(): void;
71
+ export declare function resetAgentsWindow(ownership?: OwnershipContext): void;
51
72
  /**
52
73
  * Close the agents window if it exists
53
74
  * This kills the entire window, which closes all panes within it
75
+ *
76
+ * SAFETY: Verifies the window is named "Agents" before killing to prevent
77
+ * accidentally killing user windows if the cached ID is stale.
54
78
  */
55
- export declare function closeAgentsWindow(): Promise<void>;
79
+ export declare function closeAgentsWindow(ownership?: OwnershipLookup): Promise<void>;
56
80
  /**
57
81
  * Synchronously close the agents window (for shutdown)
58
- * Uses spawnSync to ensure it completes before process exit
82
+ * Uses runTmuxCommandSync to ensure it completes before process exit
83
+ *
84
+ * SAFETY: Verifies the window is named "Agents" before killing to prevent
85
+ * accidentally killing user windows if the cached ID is stale.
59
86
  */
60
- export declare function closeAgentsWindowSync(): void;
87
+ export declare function closeAgentsWindowSync(ownership?: OwnershipLookup): void;
61
88
  /**
62
89
  * Get the current agents window ID (for testing/debugging)
63
- * Also checks persisted file for crash recovery
64
90
  */
65
- export declare function getAgentsWindowId(): string | undefined;
91
+ export declare function getAgentsWindowId(ownership?: OwnershipContext): string | undefined;
66
92
  /**
67
- * Kill all orphaned opencode attach processes for a given server URL.
68
- * This is a fallback cleanup method when PID-based cleanup fails.
69
- *
70
- * @param serverUrl - The server URL to match (optional, kills all if not provided)
71
- * @param logger - Optional logging function for debug output
72
- * @returns Number of processes killed
93
+ * Clean up owned tmux windows/panes using ownership tags.
73
94
  */
74
- export declare function killOrphanedAttachProcesses(serverUrl?: string, logger?: (msg: string) => void): Promise<number>;
95
+ export declare function cleanupOwnedResources(serverKey: string, instanceId: string): Promise<{
96
+ panesClosed: number;
97
+ windowClosed: boolean;
98
+ }>;
75
99
  /**
76
- * Synchronous version of killOrphanedAttachProcesses for shutdown handlers.
77
- * Uses spawnSync to ensure completion before process exit.
78
- *
79
- * @param serverUrl - The server URL to match (optional, kills all if not provided)
80
- * @param logger - Optional logging function for debug output
81
- * @returns Number of processes killed
100
+ * Synchronous cleanup for owned tmux windows/panes.
82
101
  */
83
- export declare function killOrphanedAttachProcessesSync(serverUrl?: string, logger?: (msg: string) => void): number;
102
+ export declare function cleanupOwnedResourcesSync(serverKey: string, instanceId: string): {
103
+ panesClosed: number;
104
+ windowClosed: boolean;
105
+ };
106
+ export {};
84
107
  //# sourceMappingURL=executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tmux/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA2BnE,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAuBD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDpE;AAsDD;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GACtE,OAAO,CAAC,YAAY,CAAC,CASvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,UAAU,EAAE,EACrB,GAAG,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GACtE,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC7D,CAAC,CAgBD;AAUD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAevF;AAkKD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CASvD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAChD,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,MAAM,CAAC,CAqEjB;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC9C,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,MAAM,CA4ER"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tmux/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAsBnE,KAAK,gBAAgB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAcD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO5E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOjE;AAyHD,wBAAsB,mBAAmB,CACxC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA+C/F;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDpE;AAmCD;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE;IACJ,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;CAC5B,GACC,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,UAAU,EAAE,EACrB,GAAG,EAAE;IACJ,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;CAC5B,GACC,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC7D,CAAC,CAgBD;AAUD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAevF;AA+PD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAMpE;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDlF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAoDvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAQlF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAuEzD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAuEhD"}