Forge
csharp3407750f
1namespace AgentForge.Abstractions;
2
3/// <summary>Human-layer org catalog repo list grouping (FORGE-ADR-0027).</summary>
4public sealed record ForgeOrgCatalogRepoItem(
5 string Name,
6 string Visibility,
7 string DriveMode,
8 string UrlPath,
9 string? Org = null,
10 string? Group = null,
11 DateTimeOffset? CreatedAt = null);
12
13/// <summary>Catalog view state for grouping toolbar and repo lists.</summary>
14public sealed record ForgeOrgCatalogViewContext(
15 string CatalogBasePath,
16 string? ActiveGroupPath,
17 IReadOnlyList<string> GroupStack,
18 int EditorRowCount = 0);
19
20public interface IForgeOrgCatalogGrouping
21{
22 IReadOnlyList<string> ParseGroupStack(string? groupStackQuery);
23
24 int ParseEditorRowCount(string? groupStackRowsQuery, int stackCount);
25
26 string BuildCatalogUrl(
27 in ForgeOrgCatalogViewContext context,
28 string? groupPath = null,
29 IReadOnlyList<string>? groupStack = null,
30 int? editorRowCount = null);
31
32 string RenderToolbar(in ForgeOrgCatalogViewContext context);
33
34 void AppendRepoNodes(
35 ICollection<string> childNodes,
36 IReadOnlyList<ForgeOrgCatalogRepoItem> repos,
37 in ForgeOrgCatalogViewContext context);
38
39 string RenderRepoBody(
40 IReadOnlyList<ForgeOrgCatalogRepoItem> repos,
41 in ForgeOrgCatalogViewContext context);
42}
43
View only · write via MCP/CIDE