actoviq-agent-sdk 0.4.12 → 0.4.13

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 (194) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/config/agentDefinitionMigration.d.ts +125 -0
  3. package/dist/src/config/agentDefinitionMigration.d.ts.map +1 -0
  4. package/dist/src/config/agentDefinitionMigration.js +540 -0
  5. package/dist/src/config/agentDefinitionMigration.js.map +1 -0
  6. package/dist/src/config/agentProfiles.d.ts +19 -0
  7. package/dist/src/config/agentProfiles.d.ts.map +1 -1
  8. package/dist/src/config/agentProfiles.js +65 -13
  9. package/dist/src/config/agentProfiles.js.map +1 -1
  10. package/dist/src/config/modelConfigurationCatalog.d.ts +25 -0
  11. package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -0
  12. package/dist/src/config/modelConfigurationCatalog.js +50 -0
  13. package/dist/src/config/modelConfigurationCatalog.js.map +1 -0
  14. package/dist/src/gui/agentTargetPicker.d.ts +32 -0
  15. package/dist/src/gui/agentTargetPicker.d.ts.map +1 -0
  16. package/dist/src/gui/agentTargetPicker.js +99 -0
  17. package/dist/src/gui/agentTargetPicker.js.map +1 -0
  18. package/dist/src/gui/electronMain.js +1 -0
  19. package/dist/src/gui/electronMain.js.map +1 -1
  20. package/dist/src/gui/hadamardGui.d.ts +23 -0
  21. package/dist/src/gui/hadamardGui.d.ts.map +1 -1
  22. package/dist/src/gui/hadamardGui.js +4120 -931
  23. package/dist/src/gui/hadamardGui.js.map +1 -1
  24. package/dist/src/gui/projectWorkbench.d.ts +6 -2
  25. package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
  26. package/dist/src/gui/projectWorkbench.js +76 -67
  27. package/dist/src/gui/projectWorkbench.js.map +1 -1
  28. package/dist/src/gui/promptTemplates.d.ts +0 -1
  29. package/dist/src/gui/promptTemplates.d.ts.map +1 -1
  30. package/dist/src/gui/promptTemplates.js +0 -3
  31. package/dist/src/gui/promptTemplates.js.map +1 -1
  32. package/dist/src/gui/transcript/clientBundle.d.ts +6 -1
  33. package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
  34. package/dist/src/gui/transcript/clientBundle.js +6 -1
  35. package/dist/src/gui/transcript/clientBundle.js.map +1 -1
  36. package/dist/src/help/productCapabilities.d.ts +17 -0
  37. package/dist/src/help/productCapabilities.d.ts.map +1 -0
  38. package/dist/src/help/productCapabilities.js +146 -0
  39. package/dist/src/help/productCapabilities.js.map +1 -0
  40. package/dist/src/index.d.ts +15 -4
  41. package/dist/src/index.d.ts.map +1 -1
  42. package/dist/src/index.js +9 -3
  43. package/dist/src/index.js.map +1 -1
  44. package/dist/src/issues/issueExecution.d.ts.map +1 -1
  45. package/dist/src/issues/issueExecution.js +29 -9
  46. package/dist/src/issues/issueExecution.js.map +1 -1
  47. package/dist/src/manager/assistantGlobalTools.d.ts +44 -0
  48. package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -1
  49. package/dist/src/manager/assistantGlobalTools.js +565 -32
  50. package/dist/src/manager/assistantGlobalTools.js.map +1 -1
  51. package/dist/src/manager/assistantProposals.d.ts +87 -0
  52. package/dist/src/manager/assistantProposals.d.ts.map +1 -0
  53. package/dist/src/manager/assistantProposals.js +207 -0
  54. package/dist/src/manager/assistantProposals.js.map +1 -0
  55. package/dist/src/manager/referenceIndex.d.ts +82 -0
  56. package/dist/src/manager/referenceIndex.d.ts.map +1 -0
  57. package/dist/src/manager/referenceIndex.js +167 -0
  58. package/dist/src/manager/referenceIndex.js.map +1 -0
  59. package/dist/src/manager/referenceOperations.d.ts +108 -0
  60. package/dist/src/manager/referenceOperations.d.ts.map +1 -0
  61. package/dist/src/manager/referenceOperations.js +821 -0
  62. package/dist/src/manager/referenceOperations.js.map +1 -0
  63. package/dist/src/manager/resolveTargetRef.d.ts +67 -0
  64. package/dist/src/manager/resolveTargetRef.d.ts.map +1 -0
  65. package/dist/src/manager/resolveTargetRef.js +81 -0
  66. package/dist/src/manager/resolveTargetRef.js.map +1 -0
  67. package/dist/src/router/modelRouter.d.ts +22 -2
  68. package/dist/src/router/modelRouter.d.ts.map +1 -1
  69. package/dist/src/router/modelRouter.js +76 -9
  70. package/dist/src/router/modelRouter.js.map +1 -1
  71. package/dist/src/runtime/agentClient.d.ts +18 -0
  72. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  73. package/dist/src/runtime/agentClient.js +209 -21
  74. package/dist/src/runtime/agentClient.js.map +1 -1
  75. package/dist/src/runtime/agentSession.d.ts +7 -0
  76. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  77. package/dist/src/runtime/agentSession.js +10 -0
  78. package/dist/src/runtime/agentSession.js.map +1 -1
  79. package/dist/src/runtime/agentTemplates.d.ts +28 -0
  80. package/dist/src/runtime/agentTemplates.d.ts.map +1 -0
  81. package/dist/src/runtime/agentTemplates.js +73 -0
  82. package/dist/src/runtime/agentTemplates.js.map +1 -0
  83. package/dist/src/runtime/conversationEngine.d.ts +2 -0
  84. package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
  85. package/dist/src/runtime/conversationEngine.js +10 -1
  86. package/dist/src/runtime/conversationEngine.js.map +1 -1
  87. package/dist/src/runtime/defaultHadamardAgents.d.ts.map +1 -1
  88. package/dist/src/runtime/defaultHadamardAgents.js +9 -47
  89. package/dist/src/runtime/defaultHadamardAgents.js.map +1 -1
  90. package/dist/src/runtime/effectiveAgentRunOptions.d.ts +49 -0
  91. package/dist/src/runtime/effectiveAgentRunOptions.d.ts.map +1 -0
  92. package/dist/src/runtime/effectiveAgentRunOptions.js +50 -0
  93. package/dist/src/runtime/effectiveAgentRunOptions.js.map +1 -0
  94. package/dist/src/runtime/externalAgentRunner.d.ts +25 -0
  95. package/dist/src/runtime/externalAgentRunner.d.ts.map +1 -0
  96. package/dist/src/runtime/externalAgentRunner.js +57 -0
  97. package/dist/src/runtime/externalAgentRunner.js.map +1 -0
  98. package/dist/src/runtime/hadamardAgentDefinitions.d.ts +15 -0
  99. package/dist/src/runtime/hadamardAgentDefinitions.d.ts.map +1 -1
  100. package/dist/src/runtime/hadamardAgentDefinitions.js +42 -2
  101. package/dist/src/runtime/hadamardAgentDefinitions.js.map +1 -1
  102. package/dist/src/runtime/hadamardAgents.d.ts +6 -0
  103. package/dist/src/runtime/hadamardAgents.d.ts.map +1 -1
  104. package/dist/src/runtime/hadamardAgents.js +52 -1
  105. package/dist/src/runtime/hadamardAgents.js.map +1 -1
  106. package/dist/src/runtime/hadamardPermissions.d.ts +1 -0
  107. package/dist/src/runtime/hadamardPermissions.d.ts.map +1 -1
  108. package/dist/src/runtime/hadamardPermissions.js +6 -0
  109. package/dist/src/runtime/hadamardPermissions.js.map +1 -1
  110. package/dist/src/runtime/tools.d.ts.map +1 -1
  111. package/dist/src/runtime/tools.js +2 -0
  112. package/dist/src/runtime/tools.js.map +1 -1
  113. package/dist/src/team/executorTarget.d.ts +26 -0
  114. package/dist/src/team/executorTarget.d.ts.map +1 -0
  115. package/dist/src/team/executorTarget.js +15 -0
  116. package/dist/src/team/executorTarget.js.map +1 -0
  117. package/dist/src/team/modelTeam.d.ts +5 -1
  118. package/dist/src/team/modelTeam.d.ts.map +1 -1
  119. package/dist/src/team/modelTeam.js +157 -41
  120. package/dist/src/team/modelTeam.js.map +1 -1
  121. package/dist/src/team/teamComposition.d.ts +20 -0
  122. package/dist/src/team/teamComposition.d.ts.map +1 -0
  123. package/dist/src/team/teamComposition.js +78 -0
  124. package/dist/src/team/teamComposition.js.map +1 -0
  125. package/dist/src/team/teamDefinitions.d.ts +10 -1
  126. package/dist/src/team/teamDefinitions.d.ts.map +1 -1
  127. package/dist/src/team/teamDefinitions.js +123 -16
  128. package/dist/src/team/teamDefinitions.js.map +1 -1
  129. package/dist/src/team/teamGraph.d.ts +1 -1
  130. package/dist/src/team/teamGraph.d.ts.map +1 -1
  131. package/dist/src/team/teamGraph.js +1 -1
  132. package/dist/src/team/teamGraph.js.map +1 -1
  133. package/dist/src/team/teamPrompts.d.ts.map +1 -1
  134. package/dist/src/team/teamPrompts.js +0 -4
  135. package/dist/src/team/teamPrompts.js.map +1 -1
  136. package/dist/src/team/teamProposalService.d.ts +9 -1
  137. package/dist/src/team/teamProposalService.d.ts.map +1 -1
  138. package/dist/src/team/teamProposalService.js +66 -6
  139. package/dist/src/team/teamProposalService.js.map +1 -1
  140. package/dist/src/team/teamPropose.d.ts +3 -1
  141. package/dist/src/team/teamPropose.d.ts.map +1 -1
  142. package/dist/src/team/teamPropose.js +16 -10
  143. package/dist/src/team/teamPropose.js.map +1 -1
  144. package/dist/src/team/teamRuntime.d.ts +5 -0
  145. package/dist/src/team/teamRuntime.d.ts.map +1 -1
  146. package/dist/src/team/teamRuntime.js +23 -5
  147. package/dist/src/team/teamRuntime.js.map +1 -1
  148. package/dist/src/team/workflowSquad.d.ts +10 -2
  149. package/dist/src/team/workflowSquad.d.ts.map +1 -1
  150. package/dist/src/team/workflowSquad.js +250 -12
  151. package/dist/src/team/workflowSquad.js.map +1 -1
  152. package/dist/src/tools/enterWorktree.d.ts.map +1 -1
  153. package/dist/src/tools/enterWorktree.js +3 -0
  154. package/dist/src/tools/enterWorktree.js.map +1 -1
  155. package/dist/src/tools/exaSearch.d.ts +2 -2
  156. package/dist/src/tools/exitWorktree.d.ts.map +1 -1
  157. package/dist/src/tools/exitWorktree.js +3 -1
  158. package/dist/src/tools/exitWorktree.js.map +1 -1
  159. package/dist/src/tools/hadamardCoreTools.d.ts +5 -14
  160. package/dist/src/tools/hadamardCoreTools.d.ts.map +1 -1
  161. package/dist/src/tools/hadamardCoreTools.js +31 -0
  162. package/dist/src/tools/hadamardCoreTools.js.map +1 -1
  163. package/dist/src/tools/hadamardFileTools.d.ts.map +1 -1
  164. package/dist/src/tools/hadamardFileTools.js +116 -38
  165. package/dist/src/tools/hadamardFileTools.js.map +1 -1
  166. package/dist/src/tools/planMode/PlanModeTools.js +2 -2
  167. package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
  168. package/dist/src/tui/hadamardTui.d.ts.map +1 -1
  169. package/dist/src/tui/hadamardTui.js +358 -69
  170. package/dist/src/tui/hadamardTui.js.map +1 -1
  171. package/dist/src/tui/pendingInput.d.ts +17 -0
  172. package/dist/src/tui/pendingInput.d.ts.map +1 -0
  173. package/dist/src/tui/pendingInput.js +23 -0
  174. package/dist/src/tui/pendingInput.js.map +1 -0
  175. package/dist/src/tui/reasoningDisplay.d.ts +13 -0
  176. package/dist/src/tui/reasoningDisplay.d.ts.map +1 -0
  177. package/dist/src/tui/reasoningDisplay.js +45 -0
  178. package/dist/src/tui/reasoningDisplay.js.map +1 -0
  179. package/dist/src/tui/screen.d.ts +11 -1
  180. package/dist/src/tui/screen.d.ts.map +1 -1
  181. package/dist/src/tui/screen.js +64 -34
  182. package/dist/src/tui/screen.js.map +1 -1
  183. package/dist/src/types.d.ts +171 -4
  184. package/dist/src/types.d.ts.map +1 -1
  185. package/dist/src/types.js.map +1 -1
  186. package/dist/src/ui/commandSurface.d.ts +8 -0
  187. package/dist/src/ui/commandSurface.d.ts.map +1 -1
  188. package/dist/src/ui/commandSurface.js +71 -7
  189. package/dist/src/ui/commandSurface.js.map +1 -1
  190. package/package.json +1 -1
  191. package/dist/src/gui/projectSettings.d.ts +0 -2
  192. package/dist/src/gui/projectSettings.d.ts.map +0 -1
  193. package/dist/src/gui/projectSettings.js +0 -2
  194. package/dist/src/gui/projectSettings.js.map +0 -1
@@ -0,0 +1,167 @@
1
+ import { migrateRouterRouteTarget } from '../router/modelRouter.js';
2
+ /** The index target of an `AgentTargetRef`; null for raw model refs (`config: ''`). */
3
+ function targetRefTarget(ref) {
4
+ switch (ref.kind) {
5
+ case 'agent':
6
+ return { kind: 'agent', name: ref.name };
7
+ case 'team':
8
+ return { kind: 'team', name: ref.name };
9
+ case 'model':
10
+ // A raw legacy model ref (config: '') does not know its originating
11
+ // config, so it produces no config edge.
12
+ return ref.config ? { kind: 'config', name: ref.config } : null;
13
+ }
14
+ }
15
+ function pushTargetRefEdge(edges, from, field, ref) {
16
+ if (!ref)
17
+ return;
18
+ const to = targetRefTarget(ref);
19
+ if (to)
20
+ edges.push({ from, to, field });
21
+ }
22
+ function collectWorkflowNodeEdges(edges, from, node, pathPrefix) {
23
+ if (!node)
24
+ return;
25
+ if (node.type === 'agent') {
26
+ pushTargetRefEdge(edges, from, `${pathPrefix}${node.id}.targetRef`, node.targetRef);
27
+ }
28
+ for (const child of node.children ?? []) {
29
+ collectWorkflowNodeEdges(edges, from, child, pathPrefix);
30
+ }
31
+ }
32
+ /** Build every reference edge across the supplied definitions and active state. */
33
+ export function buildReferenceIndex(input) {
34
+ const edges = [];
35
+ const agentNames = new Set((input.agentProfiles ?? []).map((profile) => profile.name));
36
+ // config ← agent profile.bridgeConfig
37
+ for (const profile of input.agentProfiles ?? []) {
38
+ if (!profile.bridgeConfig)
39
+ continue;
40
+ edges.push({
41
+ from: { kind: 'agent', name: profile.name },
42
+ to: { kind: 'config', name: profile.bridgeConfig },
43
+ field: 'bridgeConfig',
44
+ });
45
+ }
46
+ // config ← project Manager (manager.json bridgeConfig)
47
+ for (const manager of input.managerConfigs ?? []) {
48
+ if (!manager.bridgeConfig)
49
+ continue;
50
+ edges.push({
51
+ from: { kind: 'manager', name: manager.name },
52
+ to: { kind: 'config', name: manager.bridgeConfig },
53
+ field: 'bridgeConfig',
54
+ });
55
+ }
56
+ const assistantConfig = input.assistantConfig?.bridgeConfig?.trim();
57
+ if (assistantConfig) {
58
+ edges.push({
59
+ from: { kind: 'assistant', name: 'global' },
60
+ to: { kind: 'config', name: assistantConfig },
61
+ field: 'bridgeConfig',
62
+ });
63
+ }
64
+ for (const issue of input.issues ?? []) {
65
+ const agent = issue.agentConfig?.trim();
66
+ if (!agent)
67
+ continue;
68
+ edges.push({
69
+ from: { kind: 'issue', name: issue.id },
70
+ to: { kind: 'agent', name: agent },
71
+ field: 'agentConfig',
72
+ });
73
+ }
74
+ // agent/team/config ← router route targets + fallback (post-migration)
75
+ for (const router of input.routers ?? []) {
76
+ const from = { kind: 'router', name: router.name };
77
+ const routerModelTarget = router.routerModelTarget
78
+ ?? { kind: 'model', config: '', model: router.routerModel.model };
79
+ pushTargetRefEdge(edges, from, 'routerModelTarget', routerModelTarget);
80
+ router.routes.forEach((route, index) => {
81
+ const migrated = migrateRouterRouteTarget(route, agentNames);
82
+ pushTargetRefEdge(edges, from, `routes[${index}].target`, migrated.target);
83
+ });
84
+ const fallbackTarget = router.fallbackTarget
85
+ ?? (router.fallback ? { kind: 'model', config: '', model: router.fallback.model } : undefined);
86
+ pushTargetRefEdge(edges, from, 'fallbackTarget', fallbackTarget);
87
+ }
88
+ // team ← graph teamRef nodes / typed targetRefs (graph nodes + workflow tree)
89
+ for (const team of input.teams ?? []) {
90
+ const from = { kind: 'team', name: team.name };
91
+ for (const node of team.nodes ?? []) {
92
+ const nodeRef = node.id ?? node.name ?? node.role ?? '?';
93
+ const ref = node.targetRef
94
+ ?? (node.type === 'team' && node.teamRef
95
+ ? { kind: 'team', name: node.teamRef }
96
+ : undefined);
97
+ pushTargetRefEdge(edges, from, `nodes[${nodeRef}].${node.targetRef ? 'targetRef' : 'teamRef'}`, ref);
98
+ }
99
+ collectWorkflowNodeEdges(edges, from, team.workflowTree, 'workflowTree.');
100
+ }
101
+ // team ← automation tasks (Agent-page workflow squads referenced by name)
102
+ for (const task of input.automationTasks ?? []) {
103
+ if (task.kind !== 'workflow')
104
+ continue;
105
+ const name = task.workflowName?.trim();
106
+ if (!name)
107
+ continue;
108
+ edges.push({
109
+ from: { kind: 'automation', name: task.name || task.id },
110
+ to: task.workflowSource === 'agent'
111
+ ? { kind: 'team', name }
112
+ : { kind: 'workflow-script', name },
113
+ field: 'workflowName',
114
+ });
115
+ }
116
+ // team ← teamPreferences.defaultAttached
117
+ const defaultAttached = input.teamPreferences?.defaultAttached?.trim();
118
+ if (defaultAttached) {
119
+ edges.push({
120
+ from: { kind: 'preference', name: 'team.defaultAttached' },
121
+ to: { kind: 'team', name: defaultAttached },
122
+ field: 'defaultAttached',
123
+ });
124
+ }
125
+ // Active-state edges (composer/session activation) — distinct from.kind so
126
+ // the UI can distinguish them from definition-level references.
127
+ const session = input.session;
128
+ if (session) {
129
+ const from = { kind: 'session', name: 'active' };
130
+ if (session.activeAgent?.trim()) {
131
+ edges.push({ from, to: { kind: 'agent', name: session.activeAgent.trim() }, field: 'activeAgent' });
132
+ }
133
+ if (session.activeConfig?.trim()) {
134
+ edges.push({ from, to: { kind: 'config', name: session.activeConfig.trim() }, field: 'activeConfig' });
135
+ }
136
+ if (session.activeRouterName?.trim()) {
137
+ edges.push({ from, to: { kind: 'router', name: session.activeRouterName.trim() }, field: 'activeRouterName' });
138
+ }
139
+ if (session.activeTeamName?.trim()) {
140
+ edges.push({ from, to: { kind: 'team', name: session.activeTeamName.trim() }, field: 'activeTeamName' });
141
+ }
142
+ }
143
+ return edges;
144
+ }
145
+ /** "Who uses this definition?" — all edges pointing at `kind`/`name`. */
146
+ export function findUsages(index, kind, name) {
147
+ return index.filter((edge) => edge.to.kind === kind && edge.to.name === name);
148
+ }
149
+ /**
150
+ * "Is what I reference still there?" — edges whose target name is absent from
151
+ * the known set for that target kind. A target kind whose set is omitted from
152
+ * `known` is not reported (unknown ≠ broken).
153
+ */
154
+ export function findBrokenRefs(index, known) {
155
+ const sets = {
156
+ config: known.configs ? new Set(known.configs) : undefined,
157
+ agent: known.agents ? new Set(known.agents) : undefined,
158
+ team: known.teams ? new Set(known.teams) : undefined,
159
+ router: known.routers ? new Set(known.routers) : undefined,
160
+ 'workflow-script': known.workflows ? new Set(known.workflows) : undefined,
161
+ };
162
+ return index.filter((edge) => {
163
+ const set = sets[edge.to.kind];
164
+ return set ? !set.has(edge.to.name) : false;
165
+ });
166
+ }
167
+ //# sourceMappingURL=referenceIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceIndex.js","sourceRoot":"","sources":["../../../src/manager/referenceIndex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import type { RouterProfile, TeamDefinition } from '../types.js';
2
+ import type { TeamPreferences } from '../team/teamPreferences.js';
3
+ export type ReferenceDefinitionKind = 'config' | 'agent' | 'router' | 'team';
4
+ /** Force-delete fallback strategy chosen in the impact dialog. */
5
+ export type DeleteFallbackStrategy =
6
+ /** Leave references pointing at the deleted name (they show as broken). */
7
+ {
8
+ type: 'leave';
9
+ }
10
+ /** config → another config; agent → another agent. */
11
+ | {
12
+ type: 'repoint';
13
+ target: string;
14
+ }
15
+ /** agent → degrade references to a raw model ref keeping the model name. */
16
+ | {
17
+ type: 'degrade-model';
18
+ }
19
+ /** team → remove referencing graph nodes (and their edges) from other teams. */
20
+ | {
21
+ type: 'remove-nodes';
22
+ };
23
+ export interface ReferenceOperationContext {
24
+ /** Project directory (workDir) for project-scoped routers/teams/automations. */
25
+ projectDir?: string;
26
+ homeDir?: string;
27
+ /** Project path whose manager.json participates; defaults to projectDir. */
28
+ managerProjectPath?: string;
29
+ /** Accessor for teamPreferences.defaultAttached rewrites (settings.json). */
30
+ teamPreferences?: {
31
+ read(): TeamPreferences;
32
+ write(prefs: TeamPreferences): void | Promise<void>;
33
+ };
34
+ /** Issue-store adapter used to rewrite `agentConfig` across file/SQLite modes. */
35
+ issues?: {
36
+ read(): Promise<Array<{
37
+ id: string;
38
+ number?: number;
39
+ agentConfig?: string;
40
+ }>>;
41
+ writeAgentConfig(id: string, agentConfig: string | null): Promise<void>;
42
+ };
43
+ /** Global Assistant config adapter used to rewrite `bridgeConfig`. */
44
+ assistantConfig?: {
45
+ read(): Promise<{
46
+ bridgeConfig?: string;
47
+ }>;
48
+ write(config: {
49
+ bridgeConfig?: string;
50
+ }): Promise<void>;
51
+ };
52
+ }
53
+ export interface ReferenceOperationReport {
54
+ /** Human-readable descriptions of every rewritten reference. */
55
+ rewritten: string[];
56
+ }
57
+ /**
58
+ * Rewrite references inside a raw router profile JSON. `agentNames` are the
59
+ * pre-rename saved profile names, used to recognize legacy role/name-matched
60
+ * routes (their implicit agent reference follows the rename).
61
+ * Returns true when anything changed.
62
+ */
63
+ export declare function rewriteRouterFileRefs(raw: RouterProfile, kind: ReferenceDefinitionKind, oldName: string, newName: string, agentNames: ReadonlySet<string>): boolean;
64
+ /** Rewrite references inside a raw team definition JSON. Returns true when changed. */
65
+ export declare function rewriteTeamFileRefs(raw: TeamDefinition, kind: ReferenceDefinitionKind, oldName: string, newName: string): boolean;
66
+ /** Degrade agent references in a raw router profile to raw model refs. Returns changed flag. */
67
+ export declare function degradeAgentRefsInRouter(raw: RouterProfile, agentName: string, model: string): boolean;
68
+ /** Strip agent targetRefs from a raw team definition (legacy model fields remain). */
69
+ export declare function removeAgentRefsInTeam(raw: TeamDefinition, agentName: string): boolean;
70
+ /**
71
+ * Remove graph nodes that invoke the given team (legacy `teamRef` or typed
72
+ * `targetRef`) plus their incident edges. Workflow-tree nodes keep the node
73
+ * and lose only the targetRef (tree surgery would change semantics).
74
+ */
75
+ export declare function removeTeamRefNodes(raw: TeamDefinition, teamName: string): boolean;
76
+ /**
77
+ * Rename a config / agent / router / team and rewrite every reference the
78
+ * index knows about. Referencers are written first, the definition itself
79
+ * last; any failure restores the original bytes of every touched file.
80
+ */
81
+ export declare function renameDefinitionAndReferences(kind: ReferenceDefinitionKind, oldName: string, newName: string, ctx?: ReferenceOperationContext): Promise<ReferenceOperationReport>;
82
+ /**
83
+ * Rewrite referencers ahead of a force-delete. The definition deletion itself
84
+ * stays with the calling endpoint. `leave` is a no-op by design — the broken
85
+ * references stay visible via the reference index and ⚠ badges.
86
+ */
87
+ export declare function applyDeleteFallback(kind: ReferenceDefinitionKind, name: string, strategy: DeleteFallbackStrategy, ctx?: ReferenceOperationContext): Promise<ReferenceOperationReport>;
88
+ /**
89
+ * Convert-on-save for legacy single-agent squads (squadType 'agent'). The
90
+ * caller has already written the unified .md agent; this removes the squad
91
+ * json (built-in presets are immutable — skipped, the .md shadows them) and
92
+ * rewires references P1-style:
93
+ * - team graph/workflow nodes invoking the squad (legacy teamRef or typed
94
+ * targetRef kind 'team') become { kind: 'agent' } targetRefs;
95
+ * - teamPreferences.defaultAttached pointing at the squad is cleared (an
96
+ * agent cannot be attached as a team);
97
+ * - automation tasks keep their workflowName — the reference goes broken
98
+ * on purpose (visible via the index ⚠ badges), matching 'leave'.
99
+ */
100
+ export declare function convertAgentSquadToAgentDefinition(squadName: string, agentName: string, ctx?: ReferenceOperationContext): Promise<ReferenceOperationReport>;
101
+ /**
102
+ * Re-point every typed reference to `configName`'s `fromModel` onto
103
+ * `toModel` (same config). Used when a model is removed from a config:
104
+ * agent profiles (bridgeConfig+model), router route/fallback targets, and
105
+ * team node targetRefs.
106
+ */
107
+ export declare function repointConfigModel(configName: string, fromModel: string, toModel: string, ctx?: ReferenceOperationContext): Promise<ReferenceOperationReport>;
108
+ //# sourceMappingURL=referenceOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceOperations.d.ts","sourceRoot":"","sources":["../../../src/manager/referenceOperations.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAkB,aAAa,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AAmB/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7E,kEAAkE;AAClE,MAAM,MAAM,sBAAsB;AAChC,2EAA2E;AACzE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB,sDAAsD;GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACrC,4EAA4E;GAC1E;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE;AAC3B,gFAAgF;GAC9E;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAE7B,MAAM,WAAW,yBAAyB;IACxC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,EAAE;QAChB,IAAI,IAAI,eAAe,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACrD,CAAC;IACF,kFAAkF;IAClF,MAAM,CAAC,EAAE;QACP,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAC;QAC9E,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACzE,CAAC;IACF,sEAAsE;IACtE,eAAe,CAAC,EAAE;QAChB,IAAI,IAAI,OAAO,CAAC;YAAE,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACzD,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AA8BD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,OAAO,CAiCT;AAqBD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAiBT;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAYtG;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAiBrF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuBjF;AAuED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,yBAA8B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAsOnC;AAID;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,sBAAsB,EAChC,GAAG,GAAE,yBAA8B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAiInC;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,kCAAkC,CACtD,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,yBAA8B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAiDnC;AAID;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,yBAA8B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAkFnC"}