mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
Retire UnifiedAgents compatibility shim
This commit is contained in:
@@ -52,25 +52,24 @@ management, and fleet control surfaces.
|
||||
28. `frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx`
|
||||
29. `frontend-modern/src/components/Settings/useInfrastructureSettingsState.ts`
|
||||
30. `frontend-modern/src/components/Settings/useProxmoxDirectWorkspaceState.ts`
|
||||
31. `frontend-modern/src/components/Settings/UnifiedAgents.tsx`
|
||||
32. `frontend-modern/src/components/Settings/NodeModal.tsx`
|
||||
33. `frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx`
|
||||
34. `frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx`
|
||||
35. `frontend-modern/src/components/Settings/nodeModalModel.ts`
|
||||
36. `frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx`
|
||||
37. `frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx`
|
||||
38. `frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx`
|
||||
39. `frontend-modern/src/components/Settings/useNodeModalState.ts`
|
||||
40. `frontend-modern/src/components/SetupWizard/SetupCompletionPanel.tsx`
|
||||
41. `frontend-modern/src/components/Infrastructure/deploy/ResultsStep.tsx`
|
||||
42. `frontend-modern/src/utils/agentProfilesPresentation.ts`
|
||||
43. `frontend-modern/src/utils/agentInstallCommand.ts`
|
||||
44. `frontend-modern/src/api/nodes.ts`
|
||||
45. `frontend-modern/src/components/Settings/InfrastructureInstallerSection.tsx`
|
||||
46. `frontend-modern/src/components/Settings/InfrastructureInventorySection.tsx`
|
||||
47. `frontend-modern/src/components/Settings/InfrastructureActiveRowDetails.tsx`
|
||||
48. `frontend-modern/src/components/Settings/InfrastructureIgnoredRowDetails.tsx`
|
||||
49. `frontend-modern/src/components/Settings/InfrastructureStopMonitoringDialog.tsx`
|
||||
31. `frontend-modern/src/components/Settings/NodeModal.tsx`
|
||||
32. `frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx`
|
||||
33. `frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx`
|
||||
34. `frontend-modern/src/components/Settings/nodeModalModel.ts`
|
||||
35. `frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx`
|
||||
36. `frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx`
|
||||
37. `frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx`
|
||||
38. `frontend-modern/src/components/Settings/useNodeModalState.ts`
|
||||
39. `frontend-modern/src/components/SetupWizard/SetupCompletionPanel.tsx`
|
||||
40. `frontend-modern/src/components/Infrastructure/deploy/ResultsStep.tsx`
|
||||
41. `frontend-modern/src/utils/agentProfilesPresentation.ts`
|
||||
42. `frontend-modern/src/utils/agentInstallCommand.ts`
|
||||
43. `frontend-modern/src/api/nodes.ts`
|
||||
44. `frontend-modern/src/components/Settings/InfrastructureInstallerSection.tsx`
|
||||
45. `frontend-modern/src/components/Settings/InfrastructureInventorySection.tsx`
|
||||
46. `frontend-modern/src/components/Settings/InfrastructureActiveRowDetails.tsx`
|
||||
47. `frontend-modern/src/components/Settings/InfrastructureIgnoredRowDetails.tsx`
|
||||
48. `frontend-modern/src/components/Settings/InfrastructureStopMonitoringDialog.tsx`
|
||||
|
||||
## Shared Boundaries
|
||||
|
||||
@@ -85,15 +84,14 @@ management, and fleet control surfaces.
|
||||
9. `frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx` shared with `api-contracts`: the node setup monitoring section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
10. `frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx` shared with `api-contracts`: the node setup guide section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
11. `frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx` shared with `api-contracts`: the node setup status/footer section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
12. `frontend-modern/src/components/Settings/UnifiedAgents.tsx` shared with `api-contracts`: the UnifiedAgents module is a compatibility shim for the canonical infrastructure operations controller and remains on the same shared agent lifecycle and API contract boundary while the old module path exists.
|
||||
13. `frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx` shared with `api-contracts`: the shared infrastructure operations state hook is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary.
|
||||
14. `frontend-modern/src/components/Settings/useNodeModalState.ts` shared with `api-contracts`: the node setup modal state hook is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
15. `frontend-modern/src/utils/agentInstallCommand.ts` shared with `api-contracts`: the shared frontend install-command helper is both an agent lifecycle control surface and a canonical API/install transport contract boundary.
|
||||
16. `internal/api/agent_install_command_shared.go` shared with `api-contracts`: agent install command assembly is both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
17. `internal/api/config_setup_handlers.go` shared with `api-contracts`: auto-register and setup handlers are both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
18. `internal/api/unified_agent.go` shared with `api-contracts`: unified agent download and installer handlers are both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
19. `scripts/install.ps1` shared with `deployment-installability`: the Windows installer is both a deployment installability entry point and a canonical agent lifecycle runtime continuity boundary.
|
||||
20. `scripts/install.sh` shared with `deployment-installability`: the shell installer is both a deployment installability entry point and a canonical agent lifecycle runtime continuity boundary.
|
||||
12. `frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx` shared with `api-contracts`: the shared infrastructure operations state hook is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary.
|
||||
13. `frontend-modern/src/components/Settings/useNodeModalState.ts` shared with `api-contracts`: the node setup modal state hook is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
14. `frontend-modern/src/utils/agentInstallCommand.ts` shared with `api-contracts`: the shared frontend install-command helper is both an agent lifecycle control surface and a canonical API/install transport contract boundary.
|
||||
15. `internal/api/agent_install_command_shared.go` shared with `api-contracts`: agent install command assembly is both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
16. `internal/api/config_setup_handlers.go` shared with `api-contracts`: auto-register and setup handlers are both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
17. `internal/api/unified_agent.go` shared with `api-contracts`: unified agent download and installer handlers are both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
18. `scripts/install.ps1` shared with `deployment-installability`: the Windows installer is both a deployment installability entry point and a canonical agent lifecycle runtime continuity boundary.
|
||||
19. `scripts/install.sh` shared with `deployment-installability`: the shell installer is both a deployment installability entry point and a canonical agent lifecycle runtime continuity boundary.
|
||||
|
||||
## Extension Points
|
||||
|
||||
|
||||
@@ -33,22 +33,21 @@ Own canonical runtime payload shapes between backend and frontend.
|
||||
10. `frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx`
|
||||
11. `frontend-modern/src/components/Settings/useAPITokenManagerState.ts`
|
||||
12. `frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx`
|
||||
13. `frontend-modern/src/components/Settings/UnifiedAgents.tsx`
|
||||
14. `frontend-modern/src/components/Settings/NodeModal.tsx`
|
||||
15. `frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx`
|
||||
16. `frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx`
|
||||
17. `frontend-modern/src/components/Settings/nodeModalModel.ts`
|
||||
18. `frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx`
|
||||
19. `frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx`
|
||||
20. `frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx`
|
||||
21. `frontend-modern/src/components/Settings/useNodeModalState.ts`
|
||||
22. `frontend-modern/src/utils/agentInstallCommand.ts`
|
||||
23. `frontend-modern/src/api/nodes.ts`
|
||||
24. `frontend-modern/src/api/license.ts`
|
||||
25. `frontend-modern/src/api/monitoredSystemLedger.ts`
|
||||
26. `frontend-modern/src/api/resources.ts`
|
||||
27. `frontend-modern/src/api/monitoring.ts`
|
||||
28. `internal/api/monitored_system_ledger.go`
|
||||
13. `frontend-modern/src/components/Settings/NodeModal.tsx`
|
||||
14. `frontend-modern/src/components/Settings/NodeModalAuthenticationSection.tsx`
|
||||
15. `frontend-modern/src/components/Settings/NodeModalBasicInfoSection.tsx`
|
||||
16. `frontend-modern/src/components/Settings/nodeModalModel.ts`
|
||||
17. `frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx`
|
||||
18. `frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx`
|
||||
19. `frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx`
|
||||
20. `frontend-modern/src/components/Settings/useNodeModalState.ts`
|
||||
21. `frontend-modern/src/utils/agentInstallCommand.ts`
|
||||
22. `frontend-modern/src/api/nodes.ts`
|
||||
23. `frontend-modern/src/api/license.ts`
|
||||
24. `frontend-modern/src/api/monitoredSystemLedger.ts`
|
||||
25. `frontend-modern/src/api/resources.ts`
|
||||
26. `frontend-modern/src/api/monitoring.ts`
|
||||
27. `internal/api/monitored_system_ledger.go`
|
||||
|
||||
## Shared Boundaries
|
||||
|
||||
@@ -70,12 +69,11 @@ Own canonical runtime payload shapes between backend and frontend.
|
||||
16. `frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx` shared with `agent-lifecycle`: the node setup monitoring section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
17. `frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx` shared with `agent-lifecycle`: the node setup guide section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
18. `frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx` shared with `agent-lifecycle`: the node setup status/footer section is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
19. `frontend-modern/src/components/Settings/UnifiedAgents.tsx` shared with `agent-lifecycle`: the UnifiedAgents module is a compatibility shim for the canonical infrastructure operations controller and remains on the same shared agent lifecycle and API contract boundary while the old module path exists.
|
||||
20. `frontend-modern/src/components/Settings/useAPITokenManagerState.ts` shared with `security-privacy`: the API token settings state hook is both a security/privacy control surface and a canonical API payload contract boundary.
|
||||
21. `frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx` shared with `agent-lifecycle`: the shared infrastructure operations state hook is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary.
|
||||
22. `frontend-modern/src/components/Settings/useNodeModalState.ts` shared with `agent-lifecycle`: the node setup modal state hook is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
23. `frontend-modern/src/utils/agentInstallCommand.ts` shared with `agent-lifecycle`: the shared frontend install-command helper is both an agent lifecycle control surface and a canonical API/install transport contract boundary.
|
||||
24. `internal/api/agent_install_command_shared.go` shared with `agent-lifecycle`: agent install command assembly is both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
19. `frontend-modern/src/components/Settings/useAPITokenManagerState.ts` shared with `security-privacy`: the API token settings state hook is both a security/privacy control surface and a canonical API payload contract boundary.
|
||||
20. `frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx` shared with `agent-lifecycle`: the shared infrastructure operations state hook is both an agent fleet lifecycle control surface and an API token, lookup, assignment, and reporting/install contract boundary.
|
||||
21. `frontend-modern/src/components/Settings/useNodeModalState.ts` shared with `agent-lifecycle`: the node setup modal state hook is both an agent lifecycle control surface and a shared API-backed install/setup contract boundary.
|
||||
22. `frontend-modern/src/utils/agentInstallCommand.ts` shared with `agent-lifecycle`: the shared frontend install-command helper is both an agent lifecycle control surface and a canonical API/install transport contract boundary.
|
||||
23. `internal/api/agent_install_command_shared.go` shared with `agent-lifecycle`: agent install command assembly is both an agent lifecycle control surface and a canonical API payload contract boundary.
|
||||
20. `internal/api/ai_handler.go` shared with `ai-runtime`: Pulse Assistant handlers are both an AI runtime control surface and a canonical API payload contract boundary.
|
||||
21. `internal/api/ai_handlers.go` shared with `ai-runtime`: AI settings and remediation handlers are both an AI runtime control surface and a canonical API payload contract boundary.
|
||||
22. `internal/api/ai_intelligence_handlers.go` shared with `ai-runtime`: AI intelligence handlers are both an AI runtime control surface and a canonical API payload contract boundary.
|
||||
|
||||
@@ -201,14 +201,6 @@
|
||||
"security-privacy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "frontend-modern/src/components/Settings/UnifiedAgents.tsx",
|
||||
"rationale": "the UnifiedAgents module is a compatibility shim for the canonical infrastructure operations controller and remains on the same shared agent lifecycle and API contract boundary while the old module path exists",
|
||||
"subsystems": [
|
||||
"agent-lifecycle",
|
||||
"api-contracts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "frontend-modern/src/components/Settings/useAPITokenManagerState.ts",
|
||||
"rationale": "the API token settings state hook is both a security/privacy control surface and a canonical API payload contract boundary",
|
||||
@@ -437,7 +429,6 @@
|
||||
"frontend-modern/src/components/Settings/proxmoxSettingsModel.ts",
|
||||
"frontend-modern/src/components/Settings/ProxmoxSettingsPanel.tsx",
|
||||
"frontend-modern/src/components/Settings/SettingsSectionNav.tsx",
|
||||
"frontend-modern/src/components/Settings/UnifiedAgents.tsx",
|
||||
"frontend-modern/src/components/Settings/useAgentProfilesPanelState.ts",
|
||||
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
||||
"frontend-modern/src/components/Settings/useInfrastructureSettingsState.ts",
|
||||
@@ -653,7 +644,6 @@
|
||||
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
||||
"frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
||||
"frontend-modern/src/components/Settings/InfrastructureStopMonitoringDialog.tsx",
|
||||
"frontend-modern/src/components/Settings/UnifiedAgents.tsx",
|
||||
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx"
|
||||
],
|
||||
"allow_same_subsystem_tests": false,
|
||||
@@ -661,8 +651,8 @@
|
||||
"exact_files": [
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx"
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -691,10 +681,10 @@
|
||||
"allow_same_subsystem_tests": false,
|
||||
"test_prefixes": [],
|
||||
"exact_files": [
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts"
|
||||
]
|
||||
}
|
||||
@@ -889,7 +879,6 @@
|
||||
"frontend-modern/src/components/Settings/NodeModalMonitoringSection.tsx",
|
||||
"frontend-modern/src/components/Settings/NodeModalSetupGuideSection.tsx",
|
||||
"frontend-modern/src/components/Settings/NodeModalStatusFooter.tsx",
|
||||
"frontend-modern/src/components/Settings/UnifiedAgents.tsx",
|
||||
"frontend-modern/src/components/Settings/useAPITokenManagerState.ts",
|
||||
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx",
|
||||
"frontend-modern/src/components/Settings/useNodeModalState.ts",
|
||||
@@ -1127,7 +1116,6 @@
|
||||
"match_files": [
|
||||
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx",
|
||||
"frontend-modern/src/components/Settings/infrastructureOperationsModel.tsx",
|
||||
"frontend-modern/src/components/Settings/UnifiedAgents.tsx",
|
||||
"frontend-modern/src/components/Settings/useInfrastructureOperationsState.tsx"
|
||||
],
|
||||
"allow_same_subsystem_tests": false,
|
||||
@@ -1136,8 +1124,8 @@
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/api/__tests__/security.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx"
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
export {
|
||||
InfrastructureOperationsController,
|
||||
InfrastructureOperationsController as UnifiedAgents,
|
||||
} from './InfrastructureOperationsController';
|
||||
|
||||
export type { InfrastructureOperationsControllerProps as UnifiedAgentsProps } from './InfrastructureOperationsController';
|
||||
+8
-8
@@ -3,7 +3,7 @@ import { render, fireEvent, screen, waitFor, cleanup, within } from '@solidjs/te
|
||||
import { createSignal } from 'solid-js';
|
||||
import { createStore } from 'solid-js/store';
|
||||
import { Router, Route } from '@solidjs/router';
|
||||
import { UnifiedAgents } from '../UnifiedAgents';
|
||||
import { InfrastructureOperationsController } from '../InfrastructureOperationsController';
|
||||
import infrastructureInstallPanelSource from '../InfrastructureInstallPanel.tsx?raw';
|
||||
import infrastructureInstallerSectionSource from '../InfrastructureInstallerSection.tsx?raw';
|
||||
import infrastructureOperationsControllerSource from '../InfrastructureOperationsController.tsx?raw';
|
||||
@@ -51,7 +51,7 @@ const refetchResourcesMock = vi.fn();
|
||||
const [mockResources, setMockResources] = createSignal<any[]>([]);
|
||||
let securityStatusResponse = { requiresAuth: true, apiTokenConfigured: false };
|
||||
|
||||
describe('UnifiedAgents ownership guardrails', () => {
|
||||
describe('InfrastructureOperationsController ownership guardrails', () => {
|
||||
it('routes controller and workspace panels through the shared infrastructure operations state owner', () => {
|
||||
expect(infrastructureOperationsControllerSource).toContain('InfrastructureOperationsStateProvider');
|
||||
expect(infrastructureOperationsControllerSource).toContain('InfrastructureInstallerSection');
|
||||
@@ -502,7 +502,7 @@ const setupComponent = (
|
||||
|
||||
return render(() => (
|
||||
<Router>
|
||||
<Route path="/" component={() => <UnifiedAgents />} />
|
||||
<Route path="/" component={() => <InfrastructureOperationsController />} />
|
||||
</Router>
|
||||
));
|
||||
};
|
||||
@@ -523,7 +523,7 @@ const setupWithResources = (resources: any[], connectedInfrastructure: Connected
|
||||
|
||||
return render(() => (
|
||||
<Router>
|
||||
<Route path="/" component={() => <UnifiedAgents />} />
|
||||
<Route path="/" component={() => <InfrastructureOperationsController />} />
|
||||
</Router>
|
||||
));
|
||||
};
|
||||
@@ -577,7 +577,7 @@ afterEach(() => {
|
||||
vi.unstubAllGlobals();
|
||||
});
|
||||
|
||||
describe('UnifiedAgents token generation', () => {
|
||||
describe('InfrastructureOperationsController token generation', () => {
|
||||
it('renders the token generation UI when auth is required', async () => {
|
||||
setupComponent();
|
||||
|
||||
@@ -623,7 +623,7 @@ describe('UnifiedAgents token generation', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('UnifiedAgents agent lookup', () => {
|
||||
describe('InfrastructureOperationsController agent lookup', () => {
|
||||
it('performs agent lookup and displays results', async () => {
|
||||
createTokenMock.mockResolvedValue({
|
||||
token: 'token-123',
|
||||
@@ -726,7 +726,7 @@ describe('UnifiedAgents agent lookup', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('UnifiedAgents managed agents table', () => {
|
||||
describe('InfrastructureOperationsController managed agents table', () => {
|
||||
it('displays agents in the table', async () => {
|
||||
const host = createAgent({ hostname: 'test-server.local', displayName: 'Test Server' });
|
||||
setupComponent([host]);
|
||||
@@ -2133,7 +2133,7 @@ describe('UnifiedAgents managed agents table', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('UnifiedAgents platform commands', () => {
|
||||
describe('InfrastructureOperationsController platform commands', () => {
|
||||
it('shows installation commands for all platforms after token generation', async () => {
|
||||
createTokenMock.mockResolvedValue({
|
||||
token: 'test-token',
|
||||
+1
-1
@@ -261,7 +261,7 @@ describe('monitored-system model guardrails', () => {
|
||||
expect(apiTokenPresentationSource).toContain('export function getAPITokensLoadErrorMessage');
|
||||
});
|
||||
|
||||
it('keeps UnifiedAgents free of v5 merge-workaround patterns', () => {
|
||||
it('keeps infrastructure operations free of v5 merge-workaround patterns', () => {
|
||||
expect(infrastructureOperationsStateSource).not.toContain('previousHostTypes');
|
||||
expect(infrastructureOperationsStateSource).not.toContain('const allHosts = createMemo(');
|
||||
expect(infrastructureOperationsSource).toContain('@/utils/unifiedAgentStatusPresentation');
|
||||
|
||||
@@ -241,7 +241,7 @@ export default defineConfig({
|
||||
if (/Security|RolesPanel|UserAssignmentsPanel|APIAccessPanel|APITokenManager|ChangePasswordModal|QuickSecuritySetup/.test(id)) {
|
||||
return 'settings-auth';
|
||||
}
|
||||
if (/Audit|ProLicensePanel|GeneralSettingsPanel|NetworkSettingsPanel|UpdatesSettingsPanel|RecoverySettingsPanel|UnifiedAgents/.test(id)) {
|
||||
if (/Audit|ProLicensePanel|GeneralSettingsPanel|NetworkSettingsPanel|UpdatesSettingsPanel|RecoverySettingsPanel/.test(id)) {
|
||||
return 'settings-admin';
|
||||
}
|
||||
if (/Settings\.tsx|SettingsSectionNav|ResourcePicker|SuggestProfileModal/.test(id)) {
|
||||
|
||||
@@ -1771,9 +1771,9 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
|
||||
def test_unified_agent_settings_change_requires_lifecycle_and_api_contracts(self):
|
||||
def test_infrastructure_operations_controller_change_requires_lifecycle_and_api_contracts(self):
|
||||
required = infer_impacted_subsystems(
|
||||
["frontend-modern/src/components/Settings/UnifiedAgents.tsx"]
|
||||
["frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx"]
|
||||
)
|
||||
self.assertEqual(set(required), {"agent-lifecycle", "api-contracts"})
|
||||
|
||||
@@ -1784,7 +1784,7 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual(
|
||||
lifecycle["touched_runtime_files"],
|
||||
["frontend-modern/src/components/Settings/UnifiedAgents.tsx"],
|
||||
["frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx"],
|
||||
)
|
||||
self.assertEqual(
|
||||
lifecycle["verification_requirements"],
|
||||
@@ -1793,15 +1793,15 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
"id": "unified-agent-settings-surface",
|
||||
"label": "unified agent settings lifecycle proof",
|
||||
"touched_runtime_files": [
|
||||
"frontend-modern/src/components/Settings/UnifiedAgents.tsx"
|
||||
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx"
|
||||
],
|
||||
"allow_same_subsystem_tests": False,
|
||||
"test_prefixes": [],
|
||||
"exact_files": [
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
],
|
||||
}
|
||||
],
|
||||
@@ -1814,7 +1814,7 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual(
|
||||
api_contracts["touched_runtime_files"],
|
||||
["frontend-modern/src/components/Settings/UnifiedAgents.tsx"],
|
||||
["frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx"],
|
||||
)
|
||||
self.assertEqual(
|
||||
api_contracts["verification_requirements"],
|
||||
@@ -1823,7 +1823,7 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
"id": "unified-agent-settings-surface",
|
||||
"label": "infrastructure operations API proof",
|
||||
"touched_runtime_files": [
|
||||
"frontend-modern/src/components/Settings/UnifiedAgents.tsx"
|
||||
"frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx"
|
||||
],
|
||||
"allow_same_subsystem_tests": False,
|
||||
"test_prefixes": [],
|
||||
@@ -1831,8 +1831,8 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/api/__tests__/security.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
],
|
||||
}
|
||||
],
|
||||
@@ -1860,8 +1860,8 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
"allow_same_subsystem_tests": False,
|
||||
"test_prefixes": [],
|
||||
"exact_files": [
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
||||
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
||||
@@ -1924,8 +1924,8 @@ class CanonicalCompletionGuardTest(unittest.TestCase):
|
||||
"exact_files": [
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
],
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1321,8 +1321,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
match["verification_requirement"]["exact_files"],
|
||||
[
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
||||
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
||||
@@ -1357,8 +1357,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
match["verification_requirement"]["exact_files"],
|
||||
[
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
||||
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
||||
@@ -1397,8 +1397,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
match["verification_requirement"]["exact_files"],
|
||||
[
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
||||
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
||||
@@ -1433,8 +1433,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
match["verification_requirement"]["exact_files"],
|
||||
[
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureWorkspace.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/monitoredSystemModelGuardrails.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts",
|
||||
"frontend-modern/src/utils/__tests__/frontendResourceTypeBoundaries.test.ts",
|
||||
@@ -2330,8 +2330,10 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
|
||||
def test_lookup_paths_assigns_unified_agents_to_shared_agent_lifecycle_and_api_contracts(self) -> None:
|
||||
result = lookup_paths(["frontend-modern/src/components/Settings/UnifiedAgents.tsx"])
|
||||
def test_lookup_paths_assigns_infrastructure_operations_controller_to_shared_agent_lifecycle_and_api_contracts(self) -> None:
|
||||
result = lookup_paths(
|
||||
["frontend-modern/src/components/Settings/InfrastructureOperationsController.tsx"]
|
||||
)
|
||||
self.assertEqual(result["unowned_runtime_files"], [])
|
||||
self.assertEqual(
|
||||
{item["subsystem"] for item in result["impacted_subsystems"]},
|
||||
@@ -2365,8 +2367,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/api/__tests__/security.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -2384,8 +2386,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
[
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -2420,8 +2422,8 @@ class SubsystemLookupTest(unittest.TestCase):
|
||||
[
|
||||
"frontend-modern/src/api/__tests__/agentProfiles.test.ts",
|
||||
"frontend-modern/src/api/__tests__/monitoring.test.ts",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsController.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/InfrastructureOperationsModel.test.tsx",
|
||||
"frontend-modern/src/components/Settings/__tests__/UnifiedAgents.test.tsx",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user