@package-broker/ui 2.0.0-rc.1 → 2.0.0-rc.3

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 (129) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/api-types.d.ts +50 -5
  3. package/dist/api-types.d.ts.map +1 -1
  4. package/dist/api.d.ts +1 -1
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +6 -0
  7. package/dist/api.js.map +1 -1
  8. package/dist/app.d.ts +8 -14
  9. package/dist/app.d.ts.map +1 -1
  10. package/dist/app.js +22 -20
  11. package/dist/app.js.map +1 -1
  12. package/dist/assets/access.6859f43998ca.js +1 -0
  13. package/dist/assets/app.e8434f3343de.js +9 -0
  14. package/dist/assets/app.f15f8f21f88b.css +2 -0
  15. package/dist/assets/audit.576009342714.js +1 -0
  16. package/dist/assets/chunk.297a2d571f9c.js +4 -0
  17. package/dist/assets/chunk.3704953b4a66.js +1 -0
  18. package/dist/assets/chunk.6e23a75a1324.js +1 -0
  19. package/dist/assets/chunk.7cb6f6b4daaa.js +1 -0
  20. package/dist/assets/chunk.855a50f45830.js +1 -0
  21. package/dist/assets/chunk.862544cf5835.js +2 -0
  22. package/dist/assets/chunk.976a2ff4338e.js +1 -0
  23. package/dist/assets/chunk.bb25fc845269.js +1 -0
  24. package/dist/assets/chunk.bf48b04e6a00.js +1 -0
  25. package/dist/assets/chunk.ce96495b8b55.js +1 -0
  26. package/dist/assets/chunk.f922af39a279.js +1 -0
  27. package/dist/assets/import.e2a1e35fcb8d.js +1 -0
  28. package/dist/assets/index.html +6 -2
  29. package/dist/assets/manifest.json +80 -8
  30. package/dist/assets/packages.a8726e5144de.js +1 -0
  31. package/dist/assets/projects.711deb86b7c9.js +1 -0
  32. package/dist/assets/setup.dfed30ecfbad.js +1 -0
  33. package/dist/assets/setup.html +3 -3
  34. package/dist/assets/sources.d0ba0048bd96.js +1 -0
  35. package/dist/assets/tokens.f48d235e8d25.js +4 -0
  36. package/dist/auth.d.ts +4 -0
  37. package/dist/auth.d.ts.map +1 -1
  38. package/dist/auth.js +4 -0
  39. package/dist/auth.js.map +1 -1
  40. package/dist/components/product-footer-content.d.ts +21 -0
  41. package/dist/components/product-footer-content.d.ts.map +1 -0
  42. package/dist/components/product-footer-content.js +30 -0
  43. package/dist/components/product-footer-content.js.map +1 -0
  44. package/dist/components/product-footer.d.ts +3 -0
  45. package/dist/components/product-footer.d.ts.map +1 -0
  46. package/dist/components/product-footer.js +6 -0
  47. package/dist/components/product-footer.js.map +1 -0
  48. package/dist/manifest.d.ts +32 -0
  49. package/dist/manifest.d.ts.map +1 -1
  50. package/dist/manifest.js +41 -0
  51. package/dist/manifest.js.map +1 -1
  52. package/dist/page-loader.d.ts +5 -0
  53. package/dist/page-loader.d.ts.map +1 -0
  54. package/dist/page-loader.js +39 -0
  55. package/dist/page-loader.js.map +1 -0
  56. package/dist/pages/access/grant-form.d.ts +48 -0
  57. package/dist/pages/access/grant-form.d.ts.map +1 -0
  58. package/dist/pages/access/grant-form.js +153 -0
  59. package/dist/pages/access/grant-form.js.map +1 -0
  60. package/dist/pages/access/permission-descriptions.d.ts +2 -0
  61. package/dist/pages/access/permission-descriptions.d.ts.map +1 -0
  62. package/dist/pages/access/permission-descriptions.js +36 -0
  63. package/dist/pages/access/permission-descriptions.js.map +1 -0
  64. package/dist/pages/access/role-catalogue.d.ts +22 -0
  65. package/dist/pages/access/role-catalogue.d.ts.map +1 -0
  66. package/dist/pages/access/role-catalogue.js +40 -0
  67. package/dist/pages/access/role-catalogue.js.map +1 -0
  68. package/dist/pages/access.d.ts +6 -0
  69. package/dist/pages/access.d.ts.map +1 -1
  70. package/dist/pages/access.js +66 -31
  71. package/dist/pages/access.js.map +1 -1
  72. package/dist/pages/packages/source-actions.d.ts +48 -0
  73. package/dist/pages/packages/source-actions.d.ts.map +1 -0
  74. package/dist/pages/packages/source-actions.js +312 -0
  75. package/dist/pages/packages/source-actions.js.map +1 -0
  76. package/dist/pages/packages.d.ts.map +1 -1
  77. package/dist/pages/packages.js +3 -2
  78. package/dist/pages/packages.js.map +1 -1
  79. package/dist/pages/projects/project-form-model.d.ts +25 -0
  80. package/dist/pages/projects/project-form-model.d.ts.map +1 -0
  81. package/dist/pages/projects/project-form-model.js +69 -0
  82. package/dist/pages/projects/project-form-model.js.map +1 -0
  83. package/dist/pages/projects/project-form.d.ts +14 -0
  84. package/dist/pages/projects/project-form.d.ts.map +1 -0
  85. package/dist/pages/projects/project-form.js +91 -0
  86. package/dist/pages/projects/project-form.js.map +1 -0
  87. package/dist/pages/projects.d.ts +3 -2
  88. package/dist/pages/projects.d.ts.map +1 -1
  89. package/dist/pages/projects.js +28 -37
  90. package/dist/pages/projects.js.map +1 -1
  91. package/dist/pages/sources/source-form.d.ts +3 -1
  92. package/dist/pages/sources/source-form.d.ts.map +1 -1
  93. package/dist/pages/sources/source-form.js +18 -16
  94. package/dist/pages/sources/source-form.js.map +1 -1
  95. package/dist/pages/sources/sync-copy.d.ts +5 -0
  96. package/dist/pages/sources/sync-copy.d.ts.map +1 -0
  97. package/dist/pages/sources/sync-copy.js +11 -0
  98. package/dist/pages/sources/sync-copy.js.map +1 -0
  99. package/dist/pages/sources.d.ts +2 -0
  100. package/dist/pages/sources.d.ts.map +1 -1
  101. package/dist/pages/sources.js +54 -15
  102. package/dist/pages/sources.js.map +1 -1
  103. package/dist/pages/tokens/client-config.d.ts +3 -0
  104. package/dist/pages/tokens/client-config.d.ts.map +1 -1
  105. package/dist/pages/tokens/client-config.js +12 -2
  106. package/dist/pages/tokens/client-config.js.map +1 -1
  107. package/dist/pages/tokens/issue-token-form.d.ts +27 -0
  108. package/dist/pages/tokens/issue-token-form.d.ts.map +1 -0
  109. package/dist/pages/tokens/issue-token-form.js +270 -0
  110. package/dist/pages/tokens/issue-token-form.js.map +1 -0
  111. package/dist/pages/tokens/principal-form.d.ts +8 -0
  112. package/dist/pages/tokens/principal-form.d.ts.map +1 -0
  113. package/dist/pages/tokens/principal-form.js +151 -0
  114. package/dist/pages/tokens/principal-form.js.map +1 -0
  115. package/dist/pages/tokens.d.ts +47 -6
  116. package/dist/pages/tokens.d.ts.map +1 -1
  117. package/dist/pages/tokens.js +317 -86
  118. package/dist/pages/tokens.js.map +1 -1
  119. package/dist/setup.d.ts.map +1 -1
  120. package/dist/setup.js +4 -1
  121. package/dist/setup.js.map +1 -1
  122. package/dist/token-pending.d.ts +4 -0
  123. package/dist/token-pending.d.ts.map +1 -0
  124. package/dist/token-pending.js +12 -0
  125. package/dist/token-pending.js.map +1 -0
  126. package/package.json +3 -3
  127. package/dist/assets/app.0348e5888f99.js +0 -15
  128. package/dist/assets/app.e8cea8b32d3a.css +0 -2
  129. package/dist/assets/setup.98343039898f.js +0 -1
@@ -1,11 +1,20 @@
1
1
  import type { operations } from '../api-types.js';
2
2
  import { type ShellServices } from '../auth.js';
3
3
  import { type PendingStorage } from '../pending.js';
4
+ import { tokenClientConfig } from './tokens/client-config.js';
4
5
  type Token = operations['listMyTokens']['responses'][200]['content']['application/json']['items'][number];
5
6
  type Lifetime = operations['listMyTokens']['responses'][200]['content']['application/json']['lifetime'];
6
7
  type Principal = operations['listServicePrincipals']['responses'][200]['content']['application/json']['items'][number];
8
+ export interface IssueProject {
9
+ id: string;
10
+ slug: string;
11
+ name: string;
12
+ cap: 'read' | 'write' | 'full' | null;
13
+ permissions: string[] | null;
14
+ policyState?: 'idle' | 'loading' | 'loaded' | 'error';
15
+ }
7
16
  type Target = 'personal' | 'project' | 'organization';
8
- interface Draft {
17
+ export interface Draft {
9
18
  name: string;
10
19
  scope: 'read' | 'write' | 'full';
11
20
  lifetimeDays: number;
@@ -21,17 +30,30 @@ interface Issue {
21
30
  key: string;
22
31
  rotate?: string;
23
32
  replace?: string;
33
+ refresh?: boolean;
34
+ listTarget?: Target;
35
+ listProject?: string | null;
24
36
  }
25
- interface State {
37
+ export interface State {
26
38
  target: Target;
27
39
  project: string | null;
40
+ issuanceProject: string | null;
28
41
  items: Token[];
29
42
  next: string | null;
30
43
  principals: Principal[];
31
44
  principalsNext: string | null;
32
45
  principalsRestricted: boolean;
46
+ principalsLoading: boolean;
47
+ principalsError: boolean;
48
+ organizationPermissions: string[];
49
+ issuanceDraft: Issue | null;
50
+ issuancePrincipal: string | null;
51
+ issuanceNonce: number;
33
52
  names: Record<string, string>;
34
53
  projectSlugs: Record<string, string>;
54
+ projects: IssueProject[];
55
+ projectsError: boolean;
56
+ result: Issue | null;
35
57
  lifetime: Lifetime | null;
36
58
  userId: string | null;
37
59
  secret: string | null;
@@ -54,6 +76,7 @@ interface Deps {
54
76
  now: () => number;
55
77
  clearAfterCopy?: boolean;
56
78
  }
79
+ export declare const dayLabel: (days: number) => string;
57
80
  export declare function lifetimeChoices(policy: {
58
81
  maxDays: number;
59
82
  defaultDays: number;
@@ -61,9 +84,11 @@ export declare function lifetimeChoices(policy: {
61
84
  export declare function tokensReducer(state: State, action: {
62
85
  type: 'navigate';
63
86
  }): State;
64
- export declare function clearPendingTokenIssue(storage: PendingStorage): void;
87
+ export declare function inResultScope(result: Issue | null, project: IssueProject): boolean;
88
+ export declare function hasSetupAccess(state: State, project: IssueProject): boolean;
65
89
  export declare function createTokensController(services: ShellServices, deps: Deps): {
66
90
  snapshot: () => State;
91
+ announce(notice: string): void;
67
92
  subscribe(listener: () => void): () => void;
68
93
  navigate(): void;
69
94
  dispose(): void;
@@ -73,22 +98,38 @@ export declare function createTokensController(services: ShellServices, deps: De
73
98
  selectTarget(target: Target, project: string | null): Promise<void>;
74
99
  decline(): void;
75
100
  confirm(): Promise<void>;
101
+ issueFor(target: Target, project: string | null, draft: Draft): Promise<void>;
102
+ configureProject(slug: string): void;
76
103
  issue(draft: Draft): Promise<void>;
77
104
  renew(token: Token): void;
105
+ invalidProjects(): void;
78
106
  registryOrigin: () => string;
79
107
  clientConfig(): {
80
108
  composer: string;
109
+ composerAuth: string;
81
110
  npm: string;
111
+ ciComposer: string;
112
+ ciNpm: string;
82
113
  } | null;
83
- copy(kind?: "composer" | "npm"): Promise<void>;
114
+ copy(kind?: keyof ReturnType<typeof tokenClientConfig>): Promise<void>;
84
115
  load(target?: Target, project?: string | null, after?: string): Promise<void>;
85
116
  loadPrincipals(after?: string): Promise<void>;
117
+ loadProjectPolicies(ids: string[], retry?: boolean): void;
118
+ choosePrincipal(id: string, project: string | null, organization?: boolean): void;
86
119
  identity(): Promise<void>;
87
120
  revoke(id: string, own?: boolean): Promise<void>;
88
- createPrincipal(name: string, project: string, permissions: string[]): Promise<void>;
121
+ createPrincipal(name: string, project: string, permissions: string[]): Promise<{
122
+ createdByUserId: string;
123
+ id: string;
124
+ name: string;
125
+ permissions: string[];
126
+ projectId: string | null;
127
+ revision: number;
128
+ status: "active" | "suspended";
129
+ } | undefined>;
89
130
  suspendPrincipal(principal: Principal): Promise<void>;
90
131
  };
91
- type Controller = ReturnType<typeof createTokensController>;
132
+ export type Controller = ReturnType<typeof createTokensController>;
92
133
  export interface TokenFilters {
93
134
  q: string;
94
135
  scope: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/pages/tokens.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/pages/tokens.tsx"],"names":[],"mappings":"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"}