@skillcdn/console 0.1.2 → 0.1.4

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 (157) hide show
  1. package/README.md +9 -5
  2. package/dist/api.d.ts +7 -5
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +6 -4
  5. package/dist/api.js.map +1 -1
  6. package/dist/cli/cli.d.ts +3 -3
  7. package/dist/cli/cli.d.ts.map +1 -1
  8. package/dist/cli/cli.js +202 -18
  9. package/dist/cli/cli.js.map +1 -1
  10. package/dist/cli/credentials.d.ts +1 -1
  11. package/dist/cli/format.d.ts +10 -1
  12. package/dist/cli/format.d.ts.map +1 -1
  13. package/dist/cli/format.js +67 -0
  14. package/dist/cli/format.js.map +1 -1
  15. package/dist/cli/help.d.ts.map +1 -1
  16. package/dist/cli/help.js +66 -7
  17. package/dist/cli/help.js.map +1 -1
  18. package/dist/cli/main.js +3 -2
  19. package/dist/cli/main.js.map +1 -1
  20. package/dist/cli/terminal.d.ts +0 -5
  21. package/dist/cli/terminal.d.ts.map +1 -1
  22. package/dist/cli/terminal.js +0 -43
  23. package/dist/cli/terminal.js.map +1 -1
  24. package/dist/client.d.ts +51 -2
  25. package/dist/client.d.ts.map +1 -1
  26. package/dist/client.js +36 -11
  27. package/dist/client.js.map +1 -1
  28. package/dist/components/board.d.ts.map +1 -1
  29. package/dist/components/board.js +6 -3
  30. package/dist/components/board.js.map +1 -1
  31. package/dist/components/connect.d.ts +28 -0
  32. package/dist/components/connect.d.ts.map +1 -0
  33. package/dist/components/connect.js +30 -0
  34. package/dist/components/connect.js.map +1 -0
  35. package/dist/components/decision-form.d.ts.map +1 -1
  36. package/dist/components/decision-form.js +4 -1
  37. package/dist/components/decision-form.js.map +1 -1
  38. package/dist/components/decision-list.d.ts +11 -1
  39. package/dist/components/decision-list.d.ts.map +1 -1
  40. package/dist/components/decision-list.js +30 -5
  41. package/dist/components/decision-list.js.map +1 -1
  42. package/dist/components/documents.d.ts +87 -0
  43. package/dist/components/documents.d.ts.map +1 -0
  44. package/dist/components/documents.js +115 -0
  45. package/dist/components/documents.js.map +1 -0
  46. package/dist/components/event-feed.d.ts +3 -2
  47. package/dist/components/event-feed.d.ts.map +1 -1
  48. package/dist/components/event-feed.js +55 -45
  49. package/dist/components/event-feed.js.map +1 -1
  50. package/dist/components/markdown.d.ts +5 -2
  51. package/dist/components/markdown.d.ts.map +1 -1
  52. package/dist/components/markdown.js +8 -1
  53. package/dist/components/markdown.js.map +1 -1
  54. package/dist/components/people.d.ts +2 -0
  55. package/dist/components/people.d.ts.map +1 -1
  56. package/dist/components/people.js +4 -2
  57. package/dist/components/people.js.map +1 -1
  58. package/dist/components/projects.d.ts +1 -0
  59. package/dist/components/projects.d.ts.map +1 -1
  60. package/dist/components/projects.js +16 -10
  61. package/dist/components/projects.js.map +1 -1
  62. package/dist/components/runs.d.ts +4 -0
  63. package/dist/components/runs.d.ts.map +1 -1
  64. package/dist/components/runs.js +7 -3
  65. package/dist/components/runs.js.map +1 -1
  66. package/dist/components/shell.d.ts +30 -1
  67. package/dist/components/shell.d.ts.map +1 -1
  68. package/dist/components/shell.js +56 -8
  69. package/dist/components/shell.js.map +1 -1
  70. package/dist/components/sign-in.d.ts +3 -0
  71. package/dist/components/sign-in.d.ts.map +1 -1
  72. package/dist/components/sign-in.js +3 -9
  73. package/dist/components/sign-in.js.map +1 -1
  74. package/dist/components/skills.d.ts.map +1 -1
  75. package/dist/components/skills.js +8 -12
  76. package/dist/components/skills.js.map +1 -1
  77. package/dist/components/task-form.d.ts.map +1 -1
  78. package/dist/components/task-form.js +5 -2
  79. package/dist/components/task-form.js.map +1 -1
  80. package/dist/components/task-view.d.ts +12 -1
  81. package/dist/components/task-view.d.ts.map +1 -1
  82. package/dist/components/task-view.js +7 -14
  83. package/dist/components/task-view.js.map +1 -1
  84. package/dist/components/tokens.d.ts +12 -0
  85. package/dist/components/tokens.d.ts.map +1 -1
  86. package/dist/components/tokens.js +25 -10
  87. package/dist/components/tokens.js.map +1 -1
  88. package/dist/components/ui.d.ts +3 -3
  89. package/dist/components/ui.d.ts.map +1 -1
  90. package/dist/components/ui.js +15 -9
  91. package/dist/components/ui.js.map +1 -1
  92. package/dist/connect-page.d.ts +10 -0
  93. package/dist/connect-page.d.ts.map +1 -0
  94. package/dist/connect-page.js +67 -0
  95. package/dist/connect-page.js.map +1 -0
  96. package/dist/connect.d.ts +11 -0
  97. package/dist/connect.d.ts.map +1 -0
  98. package/dist/connect.js +24 -0
  99. package/dist/connect.js.map +1 -0
  100. package/dist/console.css +310 -10
  101. package/dist/console.d.ts +6 -1
  102. package/dist/console.d.ts.map +1 -1
  103. package/dist/console.js +339 -151
  104. package/dist/console.js.map +1 -1
  105. package/dist/data.d.ts +21 -1
  106. package/dist/data.d.ts.map +1 -1
  107. package/dist/data.js +23 -0
  108. package/dist/data.js.map +1 -1
  109. package/dist/docs-page.d.ts +14 -0
  110. package/dist/docs-page.d.ts.map +1 -0
  111. package/dist/docs-page.js +166 -0
  112. package/dist/docs-page.js.map +1 -0
  113. package/dist/documents.d.ts +19 -0
  114. package/dist/documents.d.ts.map +1 -0
  115. package/dist/documents.js +64 -0
  116. package/dist/documents.js.map +1 -0
  117. package/dist/i18n/en.d.ts +471 -0
  118. package/dist/i18n/en.d.ts.map +1 -0
  119. package/dist/i18n/en.js +481 -0
  120. package/dist/i18n/en.js.map +1 -0
  121. package/dist/i18n/index.d.ts +26 -0
  122. package/dist/i18n/index.d.ts.map +1 -0
  123. package/dist/i18n/index.js +46 -0
  124. package/dist/i18n/index.js.map +1 -0
  125. package/dist/i18n/ko.d.ts +3 -0
  126. package/dist/i18n/ko.d.ts.map +1 -0
  127. package/dist/i18n/ko.js +470 -0
  128. package/dist/i18n/ko.js.map +1 -0
  129. package/dist/index.d.ts +9 -3
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +8 -2
  132. package/dist/index.js.map +1 -1
  133. package/dist/limits.d.ts +14 -0
  134. package/dist/limits.d.ts.map +1 -1
  135. package/dist/limits.js +14 -0
  136. package/dist/limits.js.map +1 -1
  137. package/dist/router.d.ts +93 -10
  138. package/dist/router.d.ts.map +1 -1
  139. package/dist/router.js +168 -24
  140. package/dist/router.js.map +1 -1
  141. package/dist/routes.d.ts +11 -1
  142. package/dist/routes.d.ts.map +1 -1
  143. package/dist/routes.js +17 -0
  144. package/dist/routes.js.map +1 -1
  145. package/dist/schemas.d.ts +310 -2
  146. package/dist/schemas.d.ts.map +1 -1
  147. package/dist/schemas.js +162 -11
  148. package/dist/schemas.js.map +1 -1
  149. package/dist/use-action.d.ts +9 -0
  150. package/dist/use-action.d.ts.map +1 -0
  151. package/dist/use-action.js +34 -0
  152. package/dist/use-action.js.map +1 -0
  153. package/dist/vocabulary.d.ts +4 -1
  154. package/dist/vocabulary.d.ts.map +1 -1
  155. package/dist/vocabulary.js +7 -0
  156. package/dist/vocabulary.js.map +1 -1
  157. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,iGAAiG;AACjG,sDAAsD;AAEtD,uDAAuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,kEAAkE;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,qEAAqE;AACrE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,qDAAqD;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,8FAA8F;AAC9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAClD,mGAAmG;AACnG,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,iGAAiG;AACjG,sDAAsD;AAEtD,uDAAuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,kEAAkE;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,qEAAqE;AACrE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,qDAAqD;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,6GAA6G;AAC7G,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,8FAA8F;AAC9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAClD,mGAAmG;AACnG,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAC9C,kGAAkG;AAClG,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC"}
package/dist/router.d.ts CHANGED
@@ -1,16 +1,50 @@
1
1
  import { type SignInFailure } from "./api.js";
2
+ /** How a task's page is shown: as it is, or with one of its forms open. */
3
+ export type TaskFormKind = "edit" | "ask";
4
+ /** How the documents are shown at a path: a folder or a page, a form, a version, or a search. */
5
+ export type DocsView = {
6
+ readonly kind: "read";
7
+ readonly version?: number | undefined;
8
+ } | {
9
+ readonly kind: "new";
10
+ } | {
11
+ readonly kind: "edit";
12
+ } | {
13
+ readonly kind: "search";
14
+ readonly q: string;
15
+ };
2
16
  export type Route = {
3
17
  readonly name: "projects";
18
+ } | {
19
+ readonly name: "new-project";
4
20
  } | {
5
21
  readonly name: "board";
6
22
  readonly project: string;
23
+ } | {
24
+ readonly name: "new-task";
25
+ readonly project: string;
7
26
  } | {
8
27
  readonly name: "task";
9
28
  readonly project: string;
10
- readonly id: string;
29
+ /** The task's number, or nothing when the address names it by id. */
30
+ readonly number: number | undefined;
31
+ readonly id: string | undefined;
32
+ readonly form: TaskFormKind | undefined;
33
+ } | {
34
+ readonly name: "docs";
35
+ readonly project: string;
36
+ readonly path: string;
37
+ readonly view: DocsView;
11
38
  } | {
12
39
  readonly name: "decisions";
13
40
  readonly project: string;
41
+ } | {
42
+ readonly name: "new-decision";
43
+ readonly project: string;
44
+ } | {
45
+ readonly name: "decision";
46
+ readonly project: string;
47
+ readonly id: string;
14
48
  } | {
15
49
  readonly name: "feed";
16
50
  readonly project: string;
@@ -23,28 +57,77 @@ export type Route = {
23
57
  } | {
24
58
  readonly name: "settings";
25
59
  readonly project: string;
26
- } | {
27
- readonly name: "tokens";
28
60
  } | {
29
61
  readonly name: "people";
62
+ }
63
+ /** The agents of one person, for an administrator. */
64
+ | {
65
+ readonly name: "person-agents";
66
+ readonly id: string;
67
+ } | {
68
+ readonly name: "agents";
69
+ } | {
70
+ readonly name: "new-token";
71
+ }
72
+ /** Where a person approves an agent's connection, by the code it showed, or types one. */
73
+ | {
74
+ readonly name: "connect";
75
+ readonly code: string | undefined;
76
+ }
77
+ /** An address that moved: the page takes the person to `to` in its place. */
78
+ | {
79
+ readonly name: "moved";
80
+ readonly to: string;
30
81
  } | {
31
82
  readonly name: "not-found";
32
83
  };
33
84
  /** The pages of a project, after its key. */
34
- export type ProjectPage = "decisions" | "feed" | "skills" | "members" | "settings";
85
+ export type ProjectPage = "docs" | "decisions" | "feed" | "skills" | "members" | "settings";
35
86
  export declare const PATHS: {
36
87
  /** The projects the person may see: the front page. */
37
88
  readonly projects: "/";
38
- /** Where a project's pages are: `/p/<key>`, then the page. */
39
- readonly project: "/p";
40
- /** The tokens of whoever is signed in: their own page. */
41
- readonly tokens: "/tokens";
89
+ /** Where a project's pages are: `/projects/<key>`, then the page. */
90
+ readonly project: "/projects";
91
+ readonly newProject: "/projects/new";
42
92
  readonly people: "/people";
93
+ /** The agents of whoever is signed in, which hold their tokens: their own page. */
94
+ readonly agents: "/agents";
95
+ /** The form for a token made by hand, for a script or a console of one's own. */
96
+ readonly newToken: "/agents/new";
97
+ /** Where an agent's connection is approved (ADR-0011): `/connect/<code>`, or the code typed. */
98
+ readonly connect: "/connect";
43
99
  };
44
- export declare function matchRoute(pathname: string): Route;
100
+ /** Where an address of the 0.1 line before this one leads now, or nothing for a current one. */
101
+ export declare function movedFrom(pathname: string): string | undefined;
102
+ export declare function matchRoute(pathname: string, search?: string): Route;
103
+ /** Where a person approves an agent's connection by its code, or types one. */
104
+ export declare function connectHref(code?: string): string;
105
+ /** Where an administrator sees one person's agents. */
106
+ export declare function personAgentsHref(personId: string): string;
45
107
  /** Where a project's board is, or one of its pages. */
46
108
  export declare function projectHref(key: string, page?: ProjectPage): string;
47
- export declare function taskHref(key: string, id: string): string;
109
+ /** Where a task is written: the form. */
110
+ export declare function newTaskHref(key: string): string;
111
+ /** Where a task is read by its number, or one of its forms is open. */
112
+ export declare function taskHref(key: string, number: number, form?: TaskFormKind): string;
113
+ /** Where a decision is raised from the Decisions page: the form. */
114
+ export declare function newDecisionHref(key: string): string;
115
+ /** Where one decision is read, and answered. */
116
+ export declare function decisionHref(key: string, id: string): string;
117
+ /**
118
+ * Where a document of a project is read, or a folder of them listed (`""` for the root), and
119
+ * how: a form, a version, or a search over all of them.
120
+ */
121
+ export declare function docHref(key: string, path: string, view?: DocsView): string;
122
+ /** The ways a page moves the person: to an address, in place of the one shown, or back. */
123
+ export interface Navigation {
124
+ /** Shows the address, as one more step in the history. */
125
+ go(href: string): void;
126
+ /** Shows the address in place of the one shown: for a redirect, or for what a form made. */
127
+ replace(href: string): void;
128
+ /** Goes back to where the page was reached from, or to `fallback` when there is no such place. */
129
+ back(fallback: string): void;
130
+ }
48
131
  /** Why the last sign-in did not complete, as the page's URL says it, or nothing. */
49
132
  export declare function signInFailureOf(search: string): SignInFailure | undefined;
50
133
  /** The URL without the sign-in parameter, once the page has read it. */
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAM9E,MAAM,MAAM,KAAK,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAEnF,eAAO,MAAM,KAAK;IAChB,uDAAuD;aACvD,QAAQ,EAAE,GAAG;IACb,8DAA8D;aAC9D,OAAO,EAAE,IAAI;IACb,0DAA0D;aAC1D,MAAM,EAAE,SAAS;aACjB,MAAM,EAAE,SAAS;CACT,CAAC;AAYX,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CA4BlD;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAGnE;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAGzE;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK3E"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAQ5F,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,iGAAiG;AACjG,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,KAAK,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;CACzC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AAC7B,sDAAsD;GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE;AAChC,0FAA0F;GACxF;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE;AACjE,6EAA6E;GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnC,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5F,eAAO,MAAM,KAAK;IAChB,uDAAuD;aACvD,QAAQ,EAAE,GAAG;IACb,qEAAqE;aACrE,OAAO,EAAE,WAAW;aACpB,UAAU,EAAE,eAAe;aAC3B,MAAM,EAAE,SAAS;IACjB,mFAAmF;aACnF,MAAM,EAAE,SAAS;IACjB,iFAAiF;aACjF,QAAQ,EAAE,aAAa;IACvB,gGAAgG;aAChG,OAAO,EAAE,UAAU;CACX,CAAC;AAiBX,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9D;AA0BD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,KAAK,CAsF/D;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAGnE;AAED,yCAAyC;AACzC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAGjF;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAe1E;AAED,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4FAA4F;IAC5F,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kGAAkG;IAClG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAGzE;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK3E"}
package/dist/router.js CHANGED
@@ -1,58 +1,202 @@
1
- import { isSignInFailure, SIGN_IN_PARAM } from "./api.js";
1
+ import { isFolderPath, isSignInFailure, SIGN_IN_PARAM } from "./api.js";
2
2
  export const PATHS = {
3
3
  /** The projects the person may see: the front page. */
4
4
  projects: "/",
5
- /** Where a project's pages are: `/p/<key>`, then the page. */
6
- project: "/p",
7
- /** The tokens of whoever is signed in: their own page. */
8
- tokens: "/tokens",
5
+ /** Where a project's pages are: `/projects/<key>`, then the page. */
6
+ project: "/projects",
7
+ newProject: "/projects/new",
9
8
  people: "/people",
9
+ /** The agents of whoever is signed in, which hold their tokens: their own page. */
10
+ agents: "/agents",
11
+ /** The form for a token made by hand, for a script or a console of one's own. */
12
+ newToken: "/agents/new",
13
+ /** Where an agent's connection is approved (ADR-0011): `/connect/<code>`, or the code typed. */
14
+ connect: "/connect",
10
15
  };
11
16
  const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
12
17
  const PROJECT_KEY = /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
13
- const PROJECT_PAGES = [
18
+ const NUMBER = /^[1-9][0-9]{0,8}$/;
19
+ /** A code as it may be typed into an address: checked for what it is by the page. */
20
+ const CODE_TEXT = /^[A-Za-z0-9-]{1,16}$/;
21
+ /** The pages of a project that take nothing after their name. */
22
+ const PLAIN_PAGES = [
14
23
  "decisions",
15
24
  "feed",
16
25
  "skills",
17
26
  "members",
18
27
  "settings",
19
28
  ];
20
- export function matchRoute(pathname) {
29
+ const NOT_FOUND = { name: "not-found" };
30
+ /** Where an address of the 0.1 line before this one leads now, or nothing for a current one. */
31
+ export function movedFrom(pathname) {
32
+ if (pathname === "/tokens") {
33
+ return PATHS.agents;
34
+ }
35
+ if (pathname === "/p" || pathname.startsWith("/p/")) {
36
+ return `${PATHS.project}${pathname.slice(2)}`;
37
+ }
38
+ if (pathname === PATHS.project) {
39
+ return PATHS.projects;
40
+ }
41
+ return undefined;
42
+ }
43
+ const taskFormOf = (params) => params.has("edit") ? "edit" : params.has("ask") ? "ask" : undefined;
44
+ /** The view the query asks for at a path, or nothing for one the path cannot be shown as. */
45
+ const docsViewOf = (params, path) => {
46
+ const q = params.get("q");
47
+ if (q !== null && q.trim().length > 0) {
48
+ return { kind: "search", q: q.trim() };
49
+ }
50
+ if (params.has("new")) {
51
+ return { kind: "new" };
52
+ }
53
+ if (params.has("edit")) {
54
+ return path === "" ? undefined : { kind: "edit" };
55
+ }
56
+ const version = params.get("version");
57
+ if (version !== null) {
58
+ return path !== "" && NUMBER.test(version)
59
+ ? { kind: "read", version: Number(version) }
60
+ : undefined;
61
+ }
62
+ return { kind: "read" };
63
+ };
64
+ export function matchRoute(pathname, search = "") {
21
65
  const path = pathname.length > 1 ? pathname.replace(/\/+$/, "") : pathname;
66
+ const moved = movedFrom(path);
67
+ if (moved !== undefined) {
68
+ return { name: "moved", to: `${moved}${search}` };
69
+ }
70
+ const params = new URLSearchParams(search);
22
71
  if (path === PATHS.projects) {
23
72
  return { name: "projects" };
24
73
  }
25
- if (path === PATHS.tokens) {
26
- return { name: "tokens" };
74
+ if (path === PATHS.newProject) {
75
+ return { name: "new-project" };
27
76
  }
28
77
  if (path === PATHS.people) {
29
78
  return { name: "people" };
30
79
  }
31
- if (path.startsWith(`${PATHS.project}/`)) {
32
- const [project, page, id, ...rest] = path.slice(PATHS.project.length + 1).split("/");
33
- if (project === undefined || !PROJECT_KEY.test(project) || rest.length > 0) {
34
- return { name: "not-found" };
80
+ if (path === PATHS.agents) {
81
+ return { name: "agents" };
82
+ }
83
+ if (path === PATHS.newToken) {
84
+ return { name: "new-token" };
85
+ }
86
+ if (path === PATHS.connect) {
87
+ return { name: "connect", code: undefined };
88
+ }
89
+ if (path.startsWith(`${PATHS.connect}/`)) {
90
+ const code = path.slice(PATHS.connect.length + 1);
91
+ return CODE_TEXT.test(code) ? { name: "connect", code } : NOT_FOUND;
92
+ }
93
+ if (path.startsWith(`${PATHS.people}/`)) {
94
+ const [id, page, ...more] = path.slice(PATHS.people.length + 1).split("/");
95
+ return id !== undefined && UUID.test(id) && page === "agents" && more.length === 0
96
+ ? { name: "person-agents", id }
97
+ : NOT_FOUND;
98
+ }
99
+ if (!path.startsWith(`${PATHS.project}/`)) {
100
+ return NOT_FOUND;
101
+ }
102
+ const [project, page, third, ...rest] = path.slice(PATHS.project.length + 1).split("/");
103
+ if (project === undefined || !PROJECT_KEY.test(project)) {
104
+ return NOT_FOUND;
105
+ }
106
+ if (page === undefined) {
107
+ return { name: "board", project };
108
+ }
109
+ if (page === "docs") {
110
+ // The rest of the path is the document's, or a folder's, or nothing for the root.
111
+ const docPath = [third, ...rest].filter((segment) => segment !== undefined).join("/");
112
+ if (!isFolderPath(docPath)) {
113
+ return NOT_FOUND;
114
+ }
115
+ const view = docsViewOf(params, docPath);
116
+ return view === undefined ? NOT_FOUND : { name: "docs", project, path: docPath, view };
117
+ }
118
+ if (rest.length > 0) {
119
+ return NOT_FOUND;
120
+ }
121
+ if (page === "tasks") {
122
+ if (third === "new") {
123
+ return { name: "new-task", project };
124
+ }
125
+ if (third !== undefined && NUMBER.test(third)) {
126
+ return {
127
+ name: "task",
128
+ project,
129
+ number: Number(third),
130
+ id: undefined,
131
+ form: taskFormOf(params),
132
+ };
35
133
  }
36
- if (page === undefined) {
37
- return { name: "board", project };
134
+ if (third !== undefined && UUID.test(third)) {
135
+ return { name: "task", project, number: undefined, id: third, form: taskFormOf(params) };
38
136
  }
39
- if (page === "tasks" && id !== undefined && UUID.test(id)) {
40
- return { name: "task", project, id };
137
+ return NOT_FOUND;
138
+ }
139
+ if (page === "decisions" && third !== undefined) {
140
+ if (third === "new") {
141
+ return { name: "new-decision", project };
41
142
  }
42
- const found = PROJECT_PAGES.find((candidate) => candidate === page);
43
- return found !== undefined && id === undefined
44
- ? { name: found, project }
45
- : { name: "not-found" };
143
+ return UUID.test(third) ? { name: "decision", project, id: third } : NOT_FOUND;
144
+ }
145
+ if (third !== undefined) {
146
+ return NOT_FOUND;
46
147
  }
47
- return { name: "not-found" };
148
+ const found = PLAIN_PAGES.find((candidate) => candidate === page);
149
+ return found === undefined ? NOT_FOUND : { name: found, project };
150
+ }
151
+ /** Where a person approves an agent's connection by its code, or types one. */
152
+ export function connectHref(code) {
153
+ return code === undefined ? PATHS.connect : `${PATHS.connect}/${encodeURIComponent(code)}`;
154
+ }
155
+ /** Where an administrator sees one person's agents. */
156
+ export function personAgentsHref(personId) {
157
+ return `${PATHS.people}/${personId}/agents`;
48
158
  }
49
159
  /** Where a project's board is, or one of its pages. */
50
160
  export function projectHref(key, page) {
51
161
  const base = `${PATHS.project}/${key}`;
52
162
  return page === undefined ? base : `${base}/${page}`;
53
163
  }
54
- export function taskHref(key, id) {
55
- return `${PATHS.project}/${key}/tasks/${id}`;
164
+ /** Where a task is written: the form. */
165
+ export function newTaskHref(key) {
166
+ return `${PATHS.project}/${key}/tasks/new`;
167
+ }
168
+ /** Where a task is read by its number, or one of its forms is open. */
169
+ export function taskHref(key, number, form) {
170
+ const base = `${PATHS.project}/${key}/tasks/${number}`;
171
+ return form === undefined ? base : `${base}?${form}`;
172
+ }
173
+ /** Where a decision is raised from the Decisions page: the form. */
174
+ export function newDecisionHref(key) {
175
+ return `${PATHS.project}/${key}/decisions/new`;
176
+ }
177
+ /** Where one decision is read, and answered. */
178
+ export function decisionHref(key, id) {
179
+ return `${PATHS.project}/${key}/decisions/${id}`;
180
+ }
181
+ /**
182
+ * Where a document of a project is read, or a folder of them listed (`""` for the root), and
183
+ * how: a form, a version, or a search over all of them.
184
+ */
185
+ export function docHref(key, path, view) {
186
+ const base = path === "" ? projectHref(key, "docs") : `${PATHS.project}/${key}/docs/${path}`;
187
+ if (view === undefined) {
188
+ return base;
189
+ }
190
+ switch (view.kind) {
191
+ case "search":
192
+ return `${base}?q=${encodeURIComponent(view.q)}`;
193
+ case "new":
194
+ return `${base}?new`;
195
+ case "edit":
196
+ return `${base}?edit`;
197
+ case "read":
198
+ return view.version === undefined ? base : `${base}?version=${view.version}`;
199
+ }
56
200
  }
57
201
  /** Why the last sign-in did not complete, as the page's URL says it, or nothing. */
58
202
  export function signInFailureOf(search) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/dist/routes.d.ts CHANGED
@@ -11,9 +11,17 @@ export declare const REST_ROUTES: {
11
11
  readonly events: "/api/v1/events";
12
12
  /** The tokens of whoever asks: what their agents, scripts and consoles act as them with. */
13
13
  readonly tokens: "/api/v1/tokens";
14
+ /** Connecting an agent (ADR-0011): begun as nobody, approved by a person, claimed by the command. */
15
+ readonly connect: "/api/v1/connect";
14
16
  };
17
+ /** Where the command claims the token of a connection, with its secret. */
18
+ export declare const CLAIM_PATH: string;
19
+ /** The REST path of one connection, by its code, or of approving or denying it. */
20
+ export declare function connectPath(code: string, action?: "approve" | "deny"): string;
21
+ /** The REST path of a person's tokens, or of one of them: for an administrator. */
22
+ export declare function personTokensPath(personId: string, tokenId?: string): string;
15
23
  /** What a project holds, each under `/api/v1/projects/<key>/<collection>`. */
16
- export declare const PROJECT_COLLECTIONS: readonly ["tasks", "decisions", "runs", "files", "events", "skills", "members"];
24
+ export declare const PROJECT_COLLECTIONS: readonly ["tasks", "decisions", "runs", "files", "events", "skills", "members", "docs"];
17
25
  export type ProjectCollection = (typeof PROJECT_COLLECTIONS)[number];
18
26
  /** Where a browser signs in and out. Signing in is per provider: `/auth/<provider>/...`. */
19
27
  export declare const AUTH_ROUTES: {
@@ -44,6 +52,8 @@ export declare function restPath(collection: "people" | "tokens" | "projects", i
44
52
  /**
45
53
  * The REST path of a project, of one of its collections, or of one item in it: the tasks of
46
54
  * `web` are at `projectPath("web", "tasks")`, task 7 at `projectPath("web", "tasks", "7")`.
55
+ * A document's path is one segment of the URL, its slashes encoded: `projectPath("web",
56
+ * "docs", "guides/onboarding")` is `/api/v1/projects/web/docs/guides%2Fonboarding`.
47
57
  */
48
58
  export declare function projectPath(key: string, collection?: ProjectCollection, id?: string): string;
49
59
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,mFAAmF;AACnF,eAAO,MAAM,WAAW;IACtB,sFAAsF;aACtF,EAAE,EAAE,YAAY;IAChB,+DAA+D;aAC/D,MAAM,EAAE,gBAAgB;IACxB,0EAA0E;aAC1E,QAAQ,EAAE,kBAAkB;IAC5B,4FAA4F;aAC5F,MAAM,EAAE,gBAAgB;IACxB,4FAA4F;aAC5F,MAAM,EAAE,gBAAgB;CAChB,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,YAC9B,OAAO,EACP,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,CACD,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,4FAA4F;AAC5F,eAAO,MAAM,WAAW;IACtB,mFAAmF;aACnF,KAAK,aAAa,WAAW,KAAG,MAAM;IACtC,oDAAoD;aACpD,QAAQ,aAAa,WAAW,KAAG,MAAM;IACzC,mDAAmD;aACnD,MAAM,EAAE,cAAc;CACd,CAAC;AAEX,+FAA+F;AAC/F,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,gBAAgB,YAAI,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AACpF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,aAAa,CAExF;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5F"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,mFAAmF;AACnF,eAAO,MAAM,WAAW;IACtB,sFAAsF;aACtF,EAAE,EAAE,YAAY;IAChB,+DAA+D;aAC/D,MAAM,EAAE,gBAAgB;IACxB,0EAA0E;aAC1E,QAAQ,EAAE,kBAAkB;IAC5B,4FAA4F;aAC5F,MAAM,EAAE,gBAAgB;IACxB,4FAA4F;aAC5F,MAAM,EAAE,gBAAgB;IACxB,qGAAqG;aACrG,OAAO,EAAE,iBAAiB;CAClB,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,UAAU,QAAiC,CAAC;AAEzD,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAG7E;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,YAC9B,OAAO,EACP,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,CACE,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,4FAA4F;AAC5F,eAAO,MAAM,WAAW;IACtB,mFAAmF;aACnF,KAAK,aAAa,WAAW,KAAG,MAAM;IACtC,oDAAoD;aACpD,QAAQ,aAAa,WAAW,KAAG,MAAM;IACzC,mDAAmD;aACnD,MAAM,EAAE,cAAc;CACd,CAAC;AAEX,+FAA+F;AAC/F,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,gBAAgB,YAAI,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AACpF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,aAAa,CAExF;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED,6FAA6F;AAC7F,wBAAgB,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5F"}
package/dist/routes.js CHANGED
@@ -10,7 +10,21 @@ export const REST_ROUTES = {
10
10
  events: "/api/v1/events",
11
11
  /** The tokens of whoever asks: what their agents, scripts and consoles act as them with. */
12
12
  tokens: "/api/v1/tokens",
13
+ /** Connecting an agent (ADR-0011): begun as nobody, approved by a person, claimed by the command. */
14
+ connect: "/api/v1/connect",
13
15
  };
16
+ /** Where the command claims the token of a connection, with its secret. */
17
+ export const CLAIM_PATH = `${REST_ROUTES.connect}/claim`;
18
+ /** The REST path of one connection, by its code, or of approving or denying it. */
19
+ export function connectPath(code, action) {
20
+ const base = `${REST_ROUTES.connect}/${encodeURIComponent(code)}`;
21
+ return action === undefined ? base : `${base}/${action}`;
22
+ }
23
+ /** The REST path of a person's tokens, or of one of them: for an administrator. */
24
+ export function personTokensPath(personId, tokenId) {
25
+ const base = `${restPath("people", personId)}/tokens`;
26
+ return tokenId === undefined ? base : `${base}/${encodeURIComponent(tokenId)}`;
27
+ }
14
28
  /** What a project holds, each under `/api/v1/projects/<key>/<collection>`. */
15
29
  export const PROJECT_COLLECTIONS = [
16
30
  "tasks",
@@ -20,6 +34,7 @@ export const PROJECT_COLLECTIONS = [
20
34
  "events",
21
35
  "skills",
22
36
  "members",
37
+ "docs",
23
38
  ];
24
39
  /** Where a browser signs in and out. Signing in is per provider: `/auth/<provider>/...`. */
25
40
  export const AUTH_ROUTES = {
@@ -57,6 +72,8 @@ export function restPath(collection, id) {
57
72
  /**
58
73
  * The REST path of a project, of one of its collections, or of one item in it: the tasks of
59
74
  * `web` are at `projectPath("web", "tasks")`, task 7 at `projectPath("web", "tasks", "7")`.
75
+ * A document's path is one segment of the URL, its slashes encoded: `projectPath("web",
76
+ * "docs", "guides/onboarding")` is `/api/v1/projects/web/docs/guides%2Fonboarding`.
60
77
  */
61
78
  export function projectPath(key, collection, id) {
62
79
  const base = restPath("projects", key);
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAKA,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,sFAAsF;IACtF,EAAE,EAAE,YAAY;IAChB,+DAA+D;IAC/D,MAAM,EAAE,gBAAgB;IACxB,0EAA0E;IAC1E,QAAQ,EAAE,kBAAkB;IAC5B,4FAA4F;IAC5F,MAAM,EAAE,gBAAgB;IACxB,4FAA4F;IAC5F,MAAM,EAAE,gBAAgB;CAChB,CAAC;AAEX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,WAAW;IACX,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;CACD,CAAC;AAIX,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,mFAAmF;IACnF,KAAK,EAAE,CAAC,QAAqB,EAAU,EAAE,CAAC,SAAS,QAAQ,QAAQ;IACnE,oDAAoD;IACpD,QAAQ,EAAE,CAAC,QAAqB,EAAU,EAAE,CAAC,SAAS,QAAQ,WAAW;IACzE,mDAAmD;IACnD,MAAM,EAAE,cAAc;CACd,CAAC;AAEX,+FAA+F;AAC/F,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAGpF,MAAM,UAAU,eAAe,CAAC,KAAgC;IAC9D,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,SAAS,CAAC,QAAqB,EAAE,QAAgB;IAC/D,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAAsB;IAC7D,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,IAAI,OAAO,EAAE,CAAC;AAC/E,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,QAAQ,CAAC,UAA4C,EAAE,EAAU;IAC/E,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,UAA8B,EAAE,EAAW;IAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE;QACzB,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}