Files
openagent/ios_dashboard/OpenAgentDashboard.xcodeproj/project.pbxproj
Thomas Marchand 7e74e77a66 Fix iOS build by adding MarkdownView.swift to Xcode project (#34)
* Fix iOS build by adding MarkdownView.swift to Xcode project

The file existed on disk but was missing from the project file,
causing 'cannot find MarkdownView in scope' compilation error.

* Sync iOS Workspace model with backend and stub deprecated agents API

- Add new fields to Workspace model: skills, tools, plugins, template,
  distro, envVars, initScript to match backend WorkspaceResponse
- Add custom decoder to handle optional fields gracefully
- Stub listAgents/createAgent methods since /api/agents endpoint no
  longer exists (agents are now library-managed)

* Remove dead agents code from iOS app

The agents management was moved to library configuration in the backend.
This removes the orphaned iOS code:
- Delete AgentConfig.swift model
- Delete AgentsView.swift (was not in main navigation)
- Remove stub API methods for /api/agents endpoint
- Remove AgentConfig unit tests
- Update Xcode project references

Build: SUCCEEDED
Tests: 21 passed (was 23, removed 2 AgentConfig tests)
2026-01-15 00:21:35 -08:00

645 lines
30 KiB
Plaintext

// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
02DB7F25245D03FF72DD8E2E /* ControlView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A84519FDE8FC75084938B292 /* ControlView.swift */; };
03176DF3878C25A0B557462C /* ToolUIOptionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4D419C8490A0C5FC4DCDF20 /* ToolUIOptionListView.swift */; };
0620B298DEF91DFCAE050DAC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 66A48A20D2178760301256C9 /* Assets.xcassets */; };
0B5E1A6153270BFF21A54C23 /* TerminalState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52DDF35DB8CD7D70F3CFC4A6 /* TerminalState.swift */; };
1BBE749F3758FD704D1BFA0B /* ToolUIDataTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45213C3E550D451EDC566CDE /* ToolUIDataTableView.swift */; };
29372E691F6A5C5D2CCD9331 /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A09A33A3A1A99446C8A88DC /* HistoryView.swift */; };
2E26F9659B38872F562C3B2B /* WorkspacesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91BF18B4AEAEB407887401AC /* WorkspacesView.swift */; };
3361B14E949CB2A6E75B6962 /* ToolUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02CBD2029F8CF6751AD7C4E2 /* ToolUIView.swift */; };
3DD4D1D2E080C2F89C4881B7 /* ToolUIModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A6128ECBCA632D9E2D415F2 /* ToolUIModels.swift */; };
4B50B97618C0CC469FF64592 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504A1222CE8971417834D229 /* Theme.swift */; };
4D0CF2666262F45370D000DF /* TerminalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AC6317C4EAD4DB9A8190209 /* TerminalView.swift */; };
51436A7671B1E3C8478F81A2 /* RunningMissionsBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FC053808661C9A0E21E83C /* RunningMissionsBar.swift */; };
5152C5313CD5AC01276D0AE6 /* FileEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA70A2A73D3A386EAFD69FC4 /* FileEntry.swift */; };
652A0AE498D69C9DB728B2DF /* ANSIParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8D224B6758B664864F3987 /* ANSIParser.swift */; };
669F627A8254FB416397A029 /* ModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAF7507F11ED13E9E44A817D /* ModelTests.swift */; };
6865FE997D3E1D91D411F6BC /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B9834D4EE32058824F9DF00 /* LoadingView.swift */; };
6B87076797C9DFA01E24CC76 /* FilesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5908645A518F48B501390AB8 /* FilesView.swift */; };
6DCB8CE8092980A29DA5EE9A /* Workspace.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7C1198DDF17571DE85F5ABA /* Workspace.swift */; };
7B064EE6C0C1039360CCE40B /* DesktopStreamService.swift in Sources */ = {isa = PBXBuildFile; fileRef = A07EFDD6964AA3B251967041 /* DesktopStreamService.swift */; };
83BB0F0AAFE4F2735FF76B87 /* NavigationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3729F39FBF53046124D05BC1 /* NavigationState.swift */; };
871C9647BAE12DF171E61B6D /* ThemeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71C678EC6BAB6C340F9C3E7B /* ThemeTests.swift */; };
999ACAA94B0BD81A05288092 /* GlassCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB5A4720378F06807FDE73E1 /* GlassCard.swift */; };
9BC40E40E1B5622B24328AEB /* Mission.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4AB47CF121ABA1946A4D879 /* Mission.swift */; };
AA02567226057045DDD61CB1 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99B57FC3136B64DC87413CA6 /* ContentView.swift */; };
BD52A9FE6C97C3CC53810094 /* DesktopStreamView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCA36F5FA00B575DDD336598 /* DesktopStreamView.swift */; };
CA70EC5A864C3D007D42E781 /* ChatMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CB591B632D3EF26AB217976 /* ChatMessage.swift */; };
D64972881E36894950658708 /* APIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBC90C32FEF604E025FFBF78 /* APIService.swift */; };
DA4634D7424AF3FC985987E7 /* GlassButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5267DE67017A858357F68424 /* GlassButton.swift */; };
E1A2B3C4D5E6F78901234567 /* MarkdownView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1B2C3D4E5F6789012345678 /* MarkdownView.swift */; };
EFABDC95B65F6ED3420186FC /* NewMissionSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8191F935AB50463216395 /* NewMissionSheet.swift */; };
FA7E68F22D16E1AC0B5F5E22 /* StatusBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6FB2E54DC07BE7A1EB08F8 /* StatusBadge.swift */; };
FF9C447978711CBA9185B8B0 /* OpenAgentDashboardApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 139C740B7D55C13F3B167EF3 /* OpenAgentDashboardApp.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
A671C2F21CDC6F178EB0AB89 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F2797B25B56CE919907DC4F7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = DD68473111E6CED00E695F44;
remoteInfo = OpenAgentDashboard;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
02CBD2029F8CF6751AD7C4E2 /* ToolUIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolUIView.swift; sourceTree = "<group>"; };
0AC6317C4EAD4DB9A8190209 /* TerminalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalView.swift; sourceTree = "<group>"; };
139C740B7D55C13F3B167EF3 /* OpenAgentDashboardApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenAgentDashboardApp.swift; sourceTree = "<group>"; };
2B9834D4EE32058824F9DF00 /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = "<group>"; };
A1B2C3D4E5F6789012345678 /* MarkdownView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkdownView.swift; sourceTree = "<group>"; };
3729F39FBF53046124D05BC1 /* NavigationState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationState.swift; sourceTree = "<group>"; };
3CB591B632D3EF26AB217976 /* ChatMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessage.swift; sourceTree = "<group>"; };
43A2EBAE84C0FFDCA5E1D66E /* OpenAgentDashboard.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OpenAgentDashboard.entitlements; sourceTree = "<group>"; };
45213C3E550D451EDC566CDE /* ToolUIDataTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolUIDataTableView.swift; sourceTree = "<group>"; };
4D3D6B3EA3B04DE534F9709A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
504A1222CE8971417834D229 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
5267DE67017A858357F68424 /* GlassButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassButton.swift; sourceTree = "<group>"; };
52DDF35DB8CD7D70F3CFC4A6 /* TerminalState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalState.swift; sourceTree = "<group>"; };
5908645A518F48B501390AB8 /* FilesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilesView.swift; sourceTree = "<group>"; };
5A09A33A3A1A99446C8A88DC /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = "<group>"; };
66A48A20D2178760301256C9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
71C678EC6BAB6C340F9C3E7B /* ThemeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeTests.swift; sourceTree = "<group>"; };
8A6128ECBCA632D9E2D415F2 /* ToolUIModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolUIModels.swift; sourceTree = "<group>"; };
91BF18B4AEAEB407887401AC /* WorkspacesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkspacesView.swift; sourceTree = "<group>"; };
99B57FC3136B64DC87413CA6 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
A07EFDD6964AA3B251967041 /* DesktopStreamService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DesktopStreamService.swift; sourceTree = "<group>"; };
A4D419C8490A0C5FC4DCDF20 /* ToolUIOptionListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolUIOptionListView.swift; sourceTree = "<group>"; };
A84519FDE8FC75084938B292 /* ControlView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControlView.swift; sourceTree = "<group>"; };
A975E3E6378B1CE6CE766C20 /* OpenAgentDashboardTests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = OpenAgentDashboardTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BA70A2A73D3A386EAFD69FC4 /* FileEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileEntry.swift; sourceTree = "<group>"; };
CAF7507F11ED13E9E44A817D /* ModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModelTests.swift; sourceTree = "<group>"; };
CBC90C32FEF604E025FFBF78 /* APIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIService.swift; sourceTree = "<group>"; };
CD6FB2E54DC07BE7A1EB08F8 /* StatusBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBadge.swift; sourceTree = "<group>"; };
CD8D224B6758B664864F3987 /* ANSIParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ANSIParser.swift; sourceTree = "<group>"; };
D1A8191F935AB50463216395 /* NewMissionSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewMissionSheet.swift; sourceTree = "<group>"; };
D4AB47CF121ABA1946A4D879 /* Mission.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mission.swift; sourceTree = "<group>"; };
E7C1198DDF17571DE85F5ABA /* Workspace.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Workspace.swift; sourceTree = "<group>"; };
E7FC053808661C9A0E21E83C /* RunningMissionsBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunningMissionsBar.swift; sourceTree = "<group>"; };
EB5A4720378F06807FDE73E1 /* GlassCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassCard.swift; sourceTree = "<group>"; };
F51395D8FB559D3C79AAA0A4 /* OpenAgentDashboard.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = OpenAgentDashboard.app; sourceTree = BUILT_PRODUCTS_DIR; };
FCA36F5FA00B575DDD336598 /* DesktopStreamView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DesktopStreamView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
0C1185300420EEF31B892A3A /* Files */ = {
isa = PBXGroup;
children = (
5908645A518F48B501390AB8 /* FilesView.swift */,
);
path = Files;
sourceTree = "<group>";
};
0D9369EE2F3374EAA1EF332E /* Terminal */ = {
isa = PBXGroup;
children = (
0AC6317C4EAD4DB9A8190209 /* TerminalView.swift */,
);
path = Terminal;
sourceTree = "<group>";
};
1B2400F48D7D400DF42A11F0 /* DesignSystem */ = {
isa = PBXGroup;
children = (
504A1222CE8971417834D229 /* Theme.swift */,
);
path = DesignSystem;
sourceTree = "<group>";
};
279F9B8FE97DDCBF76C2E85E /* Products */ = {
isa = PBXGroup;
children = (
F51395D8FB559D3C79AAA0A4 /* OpenAgentDashboard.app */,
A975E3E6378B1CE6CE766C20 /* OpenAgentDashboardTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
2E7A509F8D87B5FCDE5387AF /* Workspaces */ = {
isa = PBXGroup;
children = (
91BF18B4AEAEB407887401AC /* WorkspacesView.swift */,
);
path = Workspaces;
sourceTree = "<group>";
};
2EF415E84544334B25BD8E26 /* Components */ = {
isa = PBXGroup;
children = (
5267DE67017A858357F68424 /* GlassButton.swift */,
EB5A4720378F06807FDE73E1 /* GlassCard.swift */,
2B9834D4EE32058824F9DF00 /* LoadingView.swift */,
A1B2C3D4E5F6789012345678 /* MarkdownView.swift */,
E7FC053808661C9A0E21E83C /* RunningMissionsBar.swift */,
CD6FB2E54DC07BE7A1EB08F8 /* StatusBadge.swift */,
D09E84E812213CF7E52E4FEF /* ToolUI */,
);
path = Components;
sourceTree = "<group>";
};
41497B05342DF1B32864A7A2 /* OpenAgentDashboardTests */ = {
isa = PBXGroup;
children = (
CAF7507F11ED13E9E44A817D /* ModelTests.swift */,
71C678EC6BAB6C340F9C3E7B /* ThemeTests.swift */,
);
path = OpenAgentDashboardTests;
sourceTree = "<group>";
};
5A40B212F0D2055C1C499FCC /* History */ = {
isa = PBXGroup;
children = (
5A09A33A3A1A99446C8A88DC /* HistoryView.swift */,
);
path = History;
sourceTree = "<group>";
};
73D80C56FA670F92E007E712 /* Views */ = {
isa = PBXGroup;
children = (
2EF415E84544334B25BD8E26 /* Components */,
DABAA3652C0B0A54CFC3221B /* Control */,
A688A831235D3E218A0A6783 /* Desktop */,
0C1185300420EEF31B892A3A /* Files */,
5A40B212F0D2055C1C499FCC /* History */,
0D9369EE2F3374EAA1EF332E /* Terminal */,
2E7A509F8D87B5FCDE5387AF /* Workspaces */,
);
path = Views;
sourceTree = "<group>";
};
A688A831235D3E218A0A6783 /* Desktop */ = {
isa = PBXGroup;
children = (
FCA36F5FA00B575DDD336598 /* DesktopStreamView.swift */,
);
path = Desktop;
sourceTree = "<group>";
};
AB86DCEEB152D8EA7E8CBD86 = {
isa = PBXGroup;
children = (
C86E333A0549E3B163391090 /* OpenAgentDashboard */,
41497B05342DF1B32864A7A2 /* OpenAgentDashboardTests */,
279F9B8FE97DDCBF76C2E85E /* Products */,
);
sourceTree = "<group>";
};
C786EDDB39D9D19A1A112CE9 /* Models */ = {
isa = PBXGroup;
children = (
3CB591B632D3EF26AB217976 /* ChatMessage.swift */,
BA70A2A73D3A386EAFD69FC4 /* FileEntry.swift */,
D4AB47CF121ABA1946A4D879 /* Mission.swift */,
E7C1198DDF17571DE85F5ABA /* Workspace.swift */,
);
path = Models;
sourceTree = "<group>";
};
C86E333A0549E3B163391090 /* OpenAgentDashboard */ = {
isa = PBXGroup;
children = (
66A48A20D2178760301256C9 /* Assets.xcassets */,
99B57FC3136B64DC87413CA6 /* ContentView.swift */,
4D3D6B3EA3B04DE534F9709A /* Info.plist */,
43A2EBAE84C0FFDCA5E1D66E /* OpenAgentDashboard.entitlements */,
139C740B7D55C13F3B167EF3 /* OpenAgentDashboardApp.swift */,
1B2400F48D7D400DF42A11F0 /* DesignSystem */,
C786EDDB39D9D19A1A112CE9 /* Models */,
E9CA77690CC753DF6D133ACC /* Services */,
73D80C56FA670F92E007E712 /* Views */,
);
path = OpenAgentDashboard;
sourceTree = "<group>";
};
D09E84E812213CF7E52E4FEF /* ToolUI */ = {
isa = PBXGroup;
children = (
45213C3E550D451EDC566CDE /* ToolUIDataTableView.swift */,
8A6128ECBCA632D9E2D415F2 /* ToolUIModels.swift */,
A4D419C8490A0C5FC4DCDF20 /* ToolUIOptionListView.swift */,
02CBD2029F8CF6751AD7C4E2 /* ToolUIView.swift */,
);
path = ToolUI;
sourceTree = "<group>";
};
DABAA3652C0B0A54CFC3221B /* Control */ = {
isa = PBXGroup;
children = (
A84519FDE8FC75084938B292 /* ControlView.swift */,
D1A8191F935AB50463216395 /* NewMissionSheet.swift */,
);
path = Control;
sourceTree = "<group>";
};
E9CA77690CC753DF6D133ACC /* Services */ = {
isa = PBXGroup;
children = (
CD8D224B6758B664864F3987 /* ANSIParser.swift */,
CBC90C32FEF604E025FFBF78 /* APIService.swift */,
A07EFDD6964AA3B251967041 /* DesktopStreamService.swift */,
3729F39FBF53046124D05BC1 /* NavigationState.swift */,
52DDF35DB8CD7D70F3CFC4A6 /* TerminalState.swift */,
);
path = Services;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
3219ED53223D0CF70BEA487C /* OpenAgentDashboardTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3D84E46DA9EFE066C7982F6C /* Build configuration list for PBXNativeTarget "OpenAgentDashboardTests" */;
buildPhases = (
7C6E722EDB94A55252C56835 /* Sources */,
);
buildRules = (
);
dependencies = (
7729D55B81D2478F08005911 /* PBXTargetDependency */,
);
name = OpenAgentDashboardTests;
packageProductDependencies = (
);
productName = OpenAgentDashboardTests;
productReference = A975E3E6378B1CE6CE766C20 /* OpenAgentDashboardTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
DD68473111E6CED00E695F44 /* OpenAgentDashboard */ = {
isa = PBXNativeTarget;
buildConfigurationList = 36DB69EB7A3A5AEB4D9D3B57 /* Build configuration list for PBXNativeTarget "OpenAgentDashboard" */;
buildPhases = (
BE523DA1714AE19926D7309A /* Sources */,
F834FCE2F6EA811F16BF98AE /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = OpenAgentDashboard;
packageProductDependencies = (
);
productName = OpenAgentDashboard;
productReference = F51395D8FB559D3C79AAA0A4 /* OpenAgentDashboard.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
F2797B25B56CE919907DC4F7 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1600;
TargetAttributes = {
3219ED53223D0CF70BEA487C = {
DevelopmentTeam = "";
};
DD68473111E6CED00E695F44 = {
DevelopmentTeam = "";
};
};
};
buildConfigurationList = DFB11F92DB10F2E14DD9B35E /* Build configuration list for PBXProject "OpenAgentDashboard" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
Base,
en,
);
mainGroup = AB86DCEEB152D8EA7E8CBD86;
minimizedProjectReferenceProxies = 1;
preferredProjectObjectVersion = 77;
projectDirPath = "";
projectRoot = "";
targets = (
DD68473111E6CED00E695F44 /* OpenAgentDashboard */,
3219ED53223D0CF70BEA487C /* OpenAgentDashboardTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
F834FCE2F6EA811F16BF98AE /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0620B298DEF91DFCAE050DAC /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
7C6E722EDB94A55252C56835 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
669F627A8254FB416397A029 /* ModelTests.swift in Sources */,
871C9647BAE12DF171E61B6D /* ThemeTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BE523DA1714AE19926D7309A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
652A0AE498D69C9DB728B2DF /* ANSIParser.swift in Sources */,
D64972881E36894950658708 /* APIService.swift in Sources */,
CA70EC5A864C3D007D42E781 /* ChatMessage.swift in Sources */,
AA02567226057045DDD61CB1 /* ContentView.swift in Sources */,
02DB7F25245D03FF72DD8E2E /* ControlView.swift in Sources */,
7B064EE6C0C1039360CCE40B /* DesktopStreamService.swift in Sources */,
BD52A9FE6C97C3CC53810094 /* DesktopStreamView.swift in Sources */,
5152C5313CD5AC01276D0AE6 /* FileEntry.swift in Sources */,
6B87076797C9DFA01E24CC76 /* FilesView.swift in Sources */,
DA4634D7424AF3FC985987E7 /* GlassButton.swift in Sources */,
999ACAA94B0BD81A05288092 /* GlassCard.swift in Sources */,
29372E691F6A5C5D2CCD9331 /* HistoryView.swift in Sources */,
6865FE997D3E1D91D411F6BC /* LoadingView.swift in Sources */,
E1A2B3C4D5E6F78901234567 /* MarkdownView.swift in Sources */,
9BC40E40E1B5622B24328AEB /* Mission.swift in Sources */,
83BB0F0AAFE4F2735FF76B87 /* NavigationState.swift in Sources */,
EFABDC95B65F6ED3420186FC /* NewMissionSheet.swift in Sources */,
FF9C447978711CBA9185B8B0 /* OpenAgentDashboardApp.swift in Sources */,
51436A7671B1E3C8478F81A2 /* RunningMissionsBar.swift in Sources */,
FA7E68F22D16E1AC0B5F5E22 /* StatusBadge.swift in Sources */,
0B5E1A6153270BFF21A54C23 /* TerminalState.swift in Sources */,
4D0CF2666262F45370D000DF /* TerminalView.swift in Sources */,
4B50B97618C0CC469FF64592 /* Theme.swift in Sources */,
1BBE749F3758FD704D1BFA0B /* ToolUIDataTableView.swift in Sources */,
3DD4D1D2E080C2F89C4881B7 /* ToolUIModels.swift in Sources */,
03176DF3878C25A0B557462C /* ToolUIOptionListView.swift in Sources */,
3361B14E949CB2A6E75B6962 /* ToolUIView.swift in Sources */,
6DCB8CE8092980A29DA5EE9A /* Workspace.swift in Sources */,
2E26F9659B38872F562C3B2B /* WorkspacesView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
7729D55B81D2478F08005911 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DD68473111E6CED00E695F44 /* OpenAgentDashboard */;
targetProxy = A671C2F21CDC6F178EB0AB89 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
1B992B358619781B5F0F8C5F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = md.thomas.openagent.dashboard.tests;
PRODUCT_NAME = OpenAgentDashboardTests;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Open Agent.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Open Agent";
};
name = Release;
};
387AE8B7392A5AF971AD749A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = OpenAgentDashboard/OpenAgentDashboard.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = OpenAgentDashboard/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = md.thomas.openagent.dashboard;
PRODUCT_NAME = "Open Agent";
SDKROOT = iphoneos;
SWIFT_EMIT_LOC_STRINGS = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
9A248EB7DD7B3E88A6324395 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGNING_REQUIRED = NO;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
ENABLE_PREVIEWS = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"DEBUG=1",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 6.0;
};
name = Debug;
};
ADC68A4DC006EED0F9D123CC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = OpenAgentDashboard/OpenAgentDashboard.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = OpenAgentDashboard/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = md.thomas.openagent.dashboard;
PRODUCT_NAME = "Open Agent";
SDKROOT = iphoneos;
SWIFT_EMIT_LOC_STRINGS = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
B45295B3864E2C7973AE65C3 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGNING_REQUIRED = NO;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_PREVIEWS = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 6.0;
};
name = Release;
};
BB5691F2CA25FF645174D4D8 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 18.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = md.thomas.openagent.dashboard.tests;
PRODUCT_NAME = OpenAgentDashboardTests;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Open Agent.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Open Agent";
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
36DB69EB7A3A5AEB4D9D3B57 /* Build configuration list for PBXNativeTarget "OpenAgentDashboard" */ = {
isa = XCConfigurationList;
buildConfigurations = (
387AE8B7392A5AF971AD749A /* Debug */,
ADC68A4DC006EED0F9D123CC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3D84E46DA9EFE066C7982F6C /* Build configuration list for PBXNativeTarget "OpenAgentDashboardTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BB5691F2CA25FF645174D4D8 /* Debug */,
1B992B358619781B5F0F8C5F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
DFB11F92DB10F2E14DD9B35E /* Build configuration list for PBXProject "OpenAgentDashboard" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9A248EB7DD7B3E88A6324395 /* Debug */,
B45295B3864E2C7973AE65C3 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = F2797B25B56CE919907DC4F7 /* Project object */;
}