@forumulate/cli 0.5.0 → 0.8.0

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 (127) hide show
  1. package/README.md +116 -5
  2. package/dist/api/args.d.ts +21 -0
  3. package/dist/api/args.d.ts.map +1 -0
  4. package/dist/api/args.js +81 -0
  5. package/dist/api/args.js.map +1 -0
  6. package/dist/api/command.d.ts +17 -0
  7. package/dist/api/command.d.ts.map +1 -0
  8. package/dist/api/command.js +182 -0
  9. package/dist/api/command.js.map +1 -0
  10. package/dist/api/describe.d.ts +5 -0
  11. package/dist/api/describe.d.ts.map +1 -0
  12. package/dist/api/describe.js +121 -0
  13. package/dist/api/describe.js.map +1 -0
  14. package/dist/api/http.d.ts +81 -0
  15. package/dist/api/http.d.ts.map +1 -0
  16. package/dist/api/http.js +183 -0
  17. package/dist/api/http.js.map +1 -0
  18. package/dist/api/operations.json +1 -0
  19. package/dist/api/output.d.ts +35 -0
  20. package/dist/api/output.d.ts.map +1 -0
  21. package/dist/api/output.js +176 -0
  22. package/dist/api/output.js.map +1 -0
  23. package/dist/api/request.d.ts +37 -0
  24. package/dist/api/request.d.ts.map +1 -0
  25. package/dist/api/request.js +230 -0
  26. package/dist/api/request.js.map +1 -0
  27. package/dist/api/send.d.ts +35 -0
  28. package/dist/api/send.d.ts.map +1 -0
  29. package/dist/api/send.js +85 -0
  30. package/dist/api/send.js.map +1 -0
  31. package/dist/api/spec.d.ts +96 -0
  32. package/dist/api/spec.d.ts.map +1 -0
  33. package/dist/api/spec.js +126 -0
  34. package/dist/api/spec.js.map +1 -0
  35. package/dist/commands/completion.d.ts +12 -0
  36. package/dist/commands/completion.d.ts.map +1 -0
  37. package/dist/commands/completion.js +153 -0
  38. package/dist/commands/completion.js.map +1 -0
  39. package/dist/commands/config.d.ts +33 -0
  40. package/dist/commands/config.d.ts.map +1 -0
  41. package/dist/commands/config.js +144 -0
  42. package/dist/commands/config.js.map +1 -0
  43. package/dist/commands/context.d.ts +35 -0
  44. package/dist/commands/context.d.ts.map +1 -0
  45. package/dist/commands/context.js +59 -0
  46. package/dist/commands/context.js.map +1 -0
  47. package/dist/commands/groups-api.d.ts +11 -0
  48. package/dist/commands/groups-api.d.ts.map +1 -0
  49. package/dist/commands/groups-api.js +140 -0
  50. package/dist/commands/groups-api.js.map +1 -0
  51. package/dist/commands/groups-community.d.ts +15 -0
  52. package/dist/commands/groups-community.d.ts.map +1 -0
  53. package/dist/commands/groups-community.js +344 -0
  54. package/dist/commands/groups-community.js.map +1 -0
  55. package/dist/commands/groups-content.d.ts +10 -0
  56. package/dist/commands/groups-content.d.ts.map +1 -0
  57. package/dist/commands/groups-content.js +331 -0
  58. package/dist/commands/groups-content.js.map +1 -0
  59. package/dist/commands/groups-docs.d.ts +12 -0
  60. package/dist/commands/groups-docs.d.ts.map +1 -0
  61. package/dist/commands/groups-docs.js +414 -0
  62. package/dist/commands/groups-docs.js.map +1 -0
  63. package/dist/commands/groups-org.d.ts +10 -0
  64. package/dist/commands/groups-org.d.ts.map +1 -0
  65. package/dist/commands/groups-org.js +405 -0
  66. package/dist/commands/groups-org.js.map +1 -0
  67. package/dist/commands/groups-site.d.ts +3 -0
  68. package/dist/commands/groups-site.d.ts.map +1 -0
  69. package/dist/commands/groups-site.js +230 -0
  70. package/dist/commands/groups-site.js.map +1 -0
  71. package/dist/commands/groups-spaces.d.ts +3 -0
  72. package/dist/commands/groups-spaces.d.ts.map +1 -0
  73. package/dist/commands/groups-spaces.js +273 -0
  74. package/dist/commands/groups-spaces.js.map +1 -0
  75. package/dist/commands/groups-types.d.ts +3 -0
  76. package/dist/commands/groups-types.d.ts.map +1 -0
  77. package/dist/commands/groups-types.js +251 -0
  78. package/dist/commands/groups-types.js.map +1 -0
  79. package/dist/commands/groups.d.ts +4 -0
  80. package/dist/commands/groups.d.ts.map +1 -0
  81. package/dist/commands/groups.js +71 -0
  82. package/dist/commands/groups.js.map +1 -0
  83. package/dist/commands/index.d.ts +25 -0
  84. package/dist/commands/index.d.ts.map +1 -0
  85. package/dist/commands/index.js +118 -0
  86. package/dist/commands/index.js.map +1 -0
  87. package/dist/commands/resource.d.ts +86 -0
  88. package/dist/commands/resource.d.ts.map +1 -0
  89. package/dist/commands/resource.js +314 -0
  90. package/dist/commands/resource.js.map +1 -0
  91. package/dist/content/library.d.ts +1 -0
  92. package/dist/content/library.d.ts.map +1 -1
  93. package/dist/content/library.js +1 -0
  94. package/dist/content/library.js.map +1 -1
  95. package/dist/help.d.ts +3 -0
  96. package/dist/help.d.ts.map +1 -0
  97. package/dist/help.js +142 -0
  98. package/dist/help.js.map +1 -0
  99. package/dist/run.d.ts +16 -1
  100. package/dist/run.d.ts.map +1 -1
  101. package/dist/run.js +51 -91
  102. package/dist/run.js.map +1 -1
  103. package/dist/translations/command.d.ts +36 -0
  104. package/dist/translations/command.d.ts.map +1 -0
  105. package/dist/translations/command.js +411 -0
  106. package/dist/translations/command.js.map +1 -0
  107. package/dist/translations/extras.d.ts +29 -0
  108. package/dist/translations/extras.d.ts.map +1 -0
  109. package/dist/translations/extras.js +123 -0
  110. package/dist/translations/extras.js.map +1 -0
  111. package/dist/translations/files.d.ts +22 -0
  112. package/dist/translations/files.d.ts.map +1 -0
  113. package/dist/translations/files.js +75 -0
  114. package/dist/translations/files.js.map +1 -0
  115. package/dist/translations/sync.d.ts +89 -0
  116. package/dist/translations/sync.d.ts.map +1 -0
  117. package/dist/translations/sync.js +215 -0
  118. package/dist/translations/sync.js.map +1 -0
  119. package/dist/translations/target.d.ts +33 -0
  120. package/dist/translations/target.d.ts.map +1 -0
  121. package/dist/translations/target.js +54 -0
  122. package/dist/translations/target.js.map +1 -0
  123. package/dist/translations/xliff.d.ts +29 -0
  124. package/dist/translations/xliff.d.ts.map +1 -0
  125. package/dist/translations/xliff.js +62 -0
  126. package/dist/translations/xliff.js.map +1 -0
  127. package/package.json +6 -4
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isUuid = void 0;
4
+ exports.resolveChild = resolveChild;
5
+ exports.confirm = confirm;
6
+ const request_1 = require("../api/request");
7
+ const isUuid = (s) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(s);
8
+ exports.isUuid = isUuid;
9
+ /**
10
+ * A space by id or slug. `/orgs/{orgId}` takes a slug; `/spaces/{spaceId}`
11
+ * takes only the id, and "pass the uuid" is not an answer a person typing
12
+ * `--space docs` should get. One list call, only when it is not already an id.
13
+ */
14
+ async function resolveChild(deps, what, orgId, ref) {
15
+ if ((0, exports.isUuid)(ref))
16
+ return ref;
17
+ const path = what === 'space'
18
+ ? `/orgs/${encodeURIComponent(orgId)}/spaces`
19
+ : `/orgs/${encodeURIComponent(orgId)}/content/libraries`;
20
+ const key = what === 'space' ? 'spaces' : 'libraries';
21
+ let cursor;
22
+ const seen = [];
23
+ for (let i = 0; i < 50; i++) {
24
+ const res = await deps.http.send({
25
+ method: 'GET',
26
+ path,
27
+ query: { limit: '100', ...(cursor ? { cursor } : {}) },
28
+ });
29
+ const body = res.data;
30
+ const rows = (body[key] ?? body.data ?? []);
31
+ const hit = rows.find((r) => r.slug === ref || r.id === ref);
32
+ if (hit)
33
+ return hit.id;
34
+ seen.push(...rows.map((r) => r.slug ?? r.id));
35
+ cursor = body.page?.nextCursor ?? undefined;
36
+ if (!body.page?.hasMore || !cursor)
37
+ break;
38
+ }
39
+ throw new request_1.UsageError(`No ${what} "${ref}" in ${orgId} (it has: ${seen.slice(0, 12).join(', ') || 'none'}${seen.length > 12 ? ', …' : ''})`);
40
+ }
41
+ /**
42
+ * The y/N before anything irreversible. `--yes` skips it; with no terminal to
43
+ * ask on, `--yes` is required — a delete in CI that silently proceeds because
44
+ * nobody could be asked is the outcome the question exists to prevent.
45
+ */
46
+ async function confirm(deps, yes, question) {
47
+ if (yes)
48
+ return true;
49
+ if (!deps.ask) {
50
+ deps.err(`${question} Refusing without --yes (no terminal to ask on).`);
51
+ return false;
52
+ }
53
+ const answer = (await deps.ask(`${question} [y/N] `)).trim().toLowerCase();
54
+ if (answer === 'y' || answer === 'yes')
55
+ return true;
56
+ deps.err('Cancelled.');
57
+ return false;
58
+ }
59
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { GroupDef } from './resource';
2
+ /**
3
+ * API documentation automation: OpenAPI specs turned into reference pages
4
+ * (register, re-sync, lint, generate) and the SDKs built from them,
5
+ * published to package registries.
6
+ *
7
+ * The API-docs product had no API-docs automation from a terminal: a spec
8
+ * changes in CI, and `openapi resync` is the step after it.
9
+ */
10
+ export declare const API_GROUPS: GroupDef[];
11
+ //# sourceMappingURL=groups-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups-api.d.ts","sourceRoot":"","sources":["../../src/commands/groups-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,EA+HhC,CAAC"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.API_GROUPS = void 0;
4
+ /**
5
+ * API documentation automation: OpenAPI specs turned into reference pages
6
+ * (register, re-sync, lint, generate) and the SDKs built from them,
7
+ * published to package registries.
8
+ *
9
+ * The API-docs product had no API-docs automation from a terminal: a spec
10
+ * changes in CI, and `openapi resync` is the step after it.
11
+ */
12
+ exports.API_GROUPS = [
13
+ {
14
+ name: 'openapi',
15
+ noun: 'spec',
16
+ about: 'OpenAPI specs behind a docs space’s reference pages',
17
+ defaultVerb: 'list',
18
+ verbs: {
19
+ list: {
20
+ op: 'OpenApi_listSpecs',
21
+ about: 'Registered specs',
22
+ columns: ['id', 'name', 'sourceUrl', 'lastSyncedAt'],
23
+ },
24
+ register: {
25
+ op: 'OpenApi_registerSpec',
26
+ about: 'Register a spec URL and build its pages (--collectionId, --mode)',
27
+ args: ['sourceUrl'],
28
+ },
29
+ resync: {
30
+ op: 'OpenApi_resyncSpec',
31
+ about: 'Re-read the spec and update its pages (--background true)',
32
+ args: ['id'],
33
+ },
34
+ 'resync status': {
35
+ op: 'OpenApi_resyncStatus',
36
+ about: 'How a background re-sync is going',
37
+ args: ['id', 'jobId'],
38
+ },
39
+ reference: { op: 'OpenApi_specReference', about: 'The pages a spec built', args: ['id'] },
40
+ lint: { op: 'OpenApi_specLint', about: 'Lint a registered spec', args: ['id'] },
41
+ 'lint url': { op: 'OpenApi_lintUrl', about: 'Lint any spec URL', args: ['sourceUrl'] },
42
+ delete: {
43
+ op: 'OpenApi_removeSpec',
44
+ about: 'Unregister a spec',
45
+ args: ['id'],
46
+ destructive: true,
47
+ },
48
+ import: {
49
+ op: 'OpenApi_import',
50
+ about: 'Import a spec into a collection (--url, --collectionId, --dryRun)',
51
+ },
52
+ 'import file': {
53
+ op: 'OpenApi_importFile',
54
+ about: 'Import a spec file (--form file=@openapi.yaml --form collectionId=…)',
55
+ },
56
+ operations: {
57
+ op: 'OpenApi_operations',
58
+ about: 'The operations a spec URL declares',
59
+ args: ['url'],
60
+ },
61
+ resolve: {
62
+ op: 'OpenApi_resolve',
63
+ about: 'One operation of a spec URL, resolved',
64
+ args: ['url', 'method', 'path'],
65
+ },
66
+ generate: {
67
+ op: 'OpenApi_generate',
68
+ about: 'Write guide pages from a spec (--url, --enhance; your AI provider)',
69
+ },
70
+ 'generate status': {
71
+ op: 'OpenApi_generateStatus',
72
+ about: 'How a generate job is going',
73
+ args: ['jobId'],
74
+ },
75
+ 'sdk languages': { op: 'OpenApi_sdkLanguages', about: 'The SDK languages we generate' },
76
+ 'sdk get': {
77
+ op: 'OpenApi_specSdk',
78
+ about: 'One generated SDK’s files, as JSON',
79
+ args: ['id', 'language'],
80
+ },
81
+ 'sdk download': {
82
+ op: 'OpenApi_specSdkPackage',
83
+ about: 'One generated SDK as a package archive',
84
+ args: ['id', 'language'],
85
+ download: 'sdk.zip',
86
+ },
87
+ },
88
+ },
89
+ {
90
+ name: 'sdks',
91
+ noun: 'SDK package',
92
+ about: 'generated SDK packages and the registries they publish to',
93
+ defaultVerb: 'packages',
94
+ verbs: {
95
+ packages: {
96
+ op: 'SdkPublishing_listPackages',
97
+ about: 'A space’s SDK packages',
98
+ columns: ['id', 'language', 'packageName', 'version'],
99
+ },
100
+ register: {
101
+ op: 'SdkPublishing_registerPackage',
102
+ about: 'Register a spec’s SDK as a package (--packageName)',
103
+ args: ['specId', 'language'],
104
+ },
105
+ publish: {
106
+ op: 'SdkPublishing_publish',
107
+ about: 'Publish a package to a registry (npm, pypi, …)',
108
+ args: ['packageId', 'target'],
109
+ },
110
+ publishes: {
111
+ op: 'SdkPublishing_listPublishes',
112
+ about: 'A package’s publish history',
113
+ args: ['packageId'],
114
+ columns: ['id', 'target', 'version', 'status', 'createdAt'],
115
+ },
116
+ 'registries list': {
117
+ op: 'SdkPublishing_listRegistries',
118
+ about: 'Connected registries',
119
+ columns: ['registry', 'configured', 'updatedAt'],
120
+ },
121
+ 'registries set': {
122
+ op: 'SdkPublishing_setRegistry',
123
+ about: 'Connect a registry (--token; --settings)',
124
+ args: ['registry'],
125
+ },
126
+ 'registries test': {
127
+ op: 'SdkPublishing_testRegistry',
128
+ about: 'Check a registry’s credentials',
129
+ args: ['registry'],
130
+ },
131
+ 'registries remove': {
132
+ op: 'SdkPublishing_deleteRegistry',
133
+ about: 'Disconnect a registry',
134
+ args: ['registry'],
135
+ destructive: true,
136
+ },
137
+ },
138
+ },
139
+ ];
140
+ //# sourceMappingURL=groups-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups-api.js","sourceRoot":"","sources":["../../src/commands/groups-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { GroupDef, VerbDef } from './resource';
2
+ /**
3
+ * `<group> translations list|get|put|remove|auto` — one piece's language
4
+ * twins through the kind's own door. `translations pull|push|auto` is the
5
+ * whole-space workflow over these same routes.
6
+ */
7
+ export declare function translationVerbs(id: string, ops: {
8
+ list: string;
9
+ get?: string;
10
+ put: string;
11
+ remove: string;
12
+ auto: string;
13
+ }): Record<string, VerbDef>;
14
+ export declare const COMMUNITY_GROUPS: GroupDef[];
15
+ //# sourceMappingURL=groups-community.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups-community.d.ts","sourceRoot":"","sources":["../../src/commands/groups-community.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA6DpD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7E,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmCzB;AAID,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EA8QtC,CAAC"}
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COMMUNITY_GROUPS = void 0;
4
+ exports.translationVerbs = translationVerbs;
5
+ /**
6
+ * The topic-engine spaces — blog, forum, changelog, roadmap — which share
7
+ * one shape of routes, plus each one's per-piece translations.
8
+ *
9
+ * Release notes from CI and a post from a script are the workflows; the
10
+ * moderation verbs (pin, state, flags, bulk) are what a community manager
11
+ * scripts once a forum is big enough to need it.
12
+ */
13
+ /** blog, forum and changelog share one engine and one shape of routes. */
14
+ function surface(name, piece, ops, about, more) {
15
+ const id = `${piece}Id`;
16
+ return {
17
+ name,
18
+ noun: piece,
19
+ about,
20
+ defaultVerb: 'list',
21
+ verbs: {
22
+ list: {
23
+ op: ops.list,
24
+ about: `List ${about}`,
25
+ columns: ['id', 'slug', 'title', 'state', 'publishedAt'],
26
+ },
27
+ get: { op: ops.get, about: `Get one ${piece}`, args: [id] },
28
+ create: {
29
+ op: ops.create,
30
+ about: `Create a ${piece} (--title, --file post.md for the body)`,
31
+ args: ['title'],
32
+ markdown: 'markdown',
33
+ publishOp: ops.publish,
34
+ },
35
+ update: {
36
+ op: ops.update,
37
+ about: `Update a ${piece} (--file post.md replaces the body)`,
38
+ args: [id],
39
+ markdown: 'markdown',
40
+ },
41
+ ...(ops.publish
42
+ ? { publish: { op: ops.publish, about: `Publish a ${piece}`, args: [id] } }
43
+ : {}),
44
+ delete: { op: ops.delete, about: `Delete a ${piece}`, args: [id], destructive: true },
45
+ ...more,
46
+ },
47
+ };
48
+ }
49
+ /**
50
+ * `<group> translations list|get|put|remove|auto` — one piece's language
51
+ * twins through the kind's own door. `translations pull|push|auto` is the
52
+ * whole-space workflow over these same routes.
53
+ */
54
+ function translationVerbs(id, ops) {
55
+ return {
56
+ 'translations list': {
57
+ op: ops.list,
58
+ about: 'Every language of one piece, and each one’s state',
59
+ args: [id],
60
+ columns: ['code', 'locale', 'title', 'published', 'stale', 'origin'],
61
+ },
62
+ ...(ops.get
63
+ ? {
64
+ 'translations get': {
65
+ op: ops.get,
66
+ about: 'One translation',
67
+ args: [id, 'locale'],
68
+ },
69
+ }
70
+ : {}),
71
+ 'translations put': {
72
+ op: ops.put,
73
+ about: 'Write one translation by hand (--title; --file es.md for the body)',
74
+ args: [id, 'locale'],
75
+ markdown: 'markdown',
76
+ },
77
+ 'translations remove': {
78
+ op: ops.remove,
79
+ about: 'Remove one translation (readers fall back to the original)',
80
+ args: [id, 'locale'],
81
+ destructive: true,
82
+ },
83
+ 'translations auto': {
84
+ op: ops.auto,
85
+ about: 'Machine-translate with YOUR provider (--force, --published)',
86
+ args: [id, 'locale'],
87
+ },
88
+ };
89
+ }
90
+ const T = 'topicId';
91
+ exports.COMMUNITY_GROUPS = [
92
+ surface('blog', 'topic', {
93
+ list: 'Blog_list',
94
+ get: 'Blog_get',
95
+ create: 'Blog_create',
96
+ update: 'Blog_update',
97
+ delete: 'Blog_remove',
98
+ publish: 'Blog_publish',
99
+ }, 'articles in a blog space', {
100
+ search: { op: 'Blog_search', about: 'Search the blog’s articles', args: ['q...'] },
101
+ tags: { op: 'Blog_tags', about: 'Tags in use', columns: ['tag', 'count'] },
102
+ bookmarks: { op: 'Blog_bookmarks', about: 'Articles you bookmarked' },
103
+ bookmark: { op: 'Blog_bookmark', about: 'Bookmark an article', args: [T] },
104
+ settings: { op: 'Blog_getSettings', about: 'Who can post, comment moderation, reactions' },
105
+ configure: { op: 'Blog_updateSettings', about: 'Change them (--whoCanPost, --defaultSort)' },
106
+ schedule: {
107
+ op: 'Blog_schedule',
108
+ about: 'Publish at a time (ISO 8601)',
109
+ args: [T, 'publishAt'],
110
+ },
111
+ unschedule: { op: 'Blog_unschedule', about: 'Cancel the schedule', args: [T] },
112
+ state: {
113
+ op: 'Blog_setState',
114
+ about: 'DRAFT | PUBLISHED | CLOSED | ARCHIVED',
115
+ args: [T, 'state'],
116
+ },
117
+ pin: { op: 'Blog_pin', about: 'Pin or unpin (true|false)', args: [T, 'pinned'] },
118
+ authors: {
119
+ op: 'Blog_setAuthors',
120
+ about: 'Set the bylines (userIds a,b)',
121
+ args: [T, 'userIds'],
122
+ },
123
+ comments: {
124
+ op: 'Blog_setComments',
125
+ about: 'Turn comments on or off (true|false)',
126
+ args: [T, 'enabled'],
127
+ },
128
+ reply: {
129
+ op: 'Blog_reply',
130
+ about: 'Comment on an article (--file reply.md)',
131
+ args: [T, 'markdown...'],
132
+ markdown: 'markdown',
133
+ },
134
+ recover: { op: 'Blog_recoverArticle', about: 'Restore a deleted article', args: [T] },
135
+ 'slugs list': {
136
+ op: 'Blog_slugHistory',
137
+ about: 'Old slugs that still redirect to it',
138
+ args: [T],
139
+ },
140
+ ...translationVerbs(T, {
141
+ list: 'BlogPostTranslation_list',
142
+ get: 'BlogPostTranslation_get',
143
+ put: 'BlogPostTranslation_put',
144
+ remove: 'BlogPostTranslation_remove',
145
+ auto: 'BlogPostTranslation_auto',
146
+ }),
147
+ }),
148
+ surface('forum', 'topic', {
149
+ list: 'Forum_list',
150
+ get: 'ForumTopics_get',
151
+ create: 'ForumTopics_create',
152
+ update: 'ForumTopicEdit_update',
153
+ delete: 'ForumTopicEdit_remove',
154
+ }, 'topics in a forum space', {
155
+ reply: {
156
+ op: 'ForumTopics_reply',
157
+ about: 'Reply to a topic (--file reply.md)',
158
+ args: [T, 'markdown...'],
159
+ markdown: 'markdown',
160
+ },
161
+ 'reply-as-topic': {
162
+ op: 'ForumTopics_replyAsLinkedTopic',
163
+ about: 'Answer a post with a new linked topic (--title)',
164
+ args: [T, 'postId'],
165
+ markdown: 'markdown',
166
+ },
167
+ timeline: { op: 'ForumTopics_timeline', about: 'A topic’s timeline', args: [T] },
168
+ related: { op: 'ForumTopics_related', about: 'Related topics', args: [T] },
169
+ banner: { op: 'ForumTopics_banner', about: 'The forum’s banner topic' },
170
+ wiki: {
171
+ op: 'ForumTopics_setWiki',
172
+ about: 'Make a post editable by everyone (true|false)',
173
+ args: ['postId', 'wiki'],
174
+ },
175
+ tags: { op: 'Forum_tags', about: 'Tags in use', columns: ['tag', 'count'] },
176
+ settings: { op: 'Forum_getSettings', about: 'Who can post, moderation, votes, reactions' },
177
+ configure: { op: 'Forum_updateSettings', about: 'Change them (--whoCanPost, --postVotes)' },
178
+ flags: {
179
+ op: 'Forum_flags',
180
+ about: 'The flag queue',
181
+ columns: ['id', 'reason', 'postId', 'createdAt'],
182
+ },
183
+ 'flags resolve': {
184
+ op: 'Forum_resolveFlag',
185
+ about: 'Resolve a flag (dismiss|hide)',
186
+ args: ['flagId', 'action'],
187
+ },
188
+ 'flags review': {
189
+ op: 'Forum_reviewFlag',
190
+ about: 'Review a flag through the queue’s actions',
191
+ args: ['flagId', 'action'],
192
+ },
193
+ bulk: {
194
+ op: 'Forum_bulkModerate',
195
+ about: 'Act on many topics (topicIds a,b; close|archive|pin|retag|delete|…)',
196
+ args: ['action', 'topicIds'],
197
+ },
198
+ 'read mark': {
199
+ op: 'Forum_markRead',
200
+ about: 'Mark a topic read up to a post number',
201
+ args: [T, 'postNumber'],
202
+ },
203
+ 'read time': {
204
+ op: 'Forum_readTime',
205
+ about: 'Record reading time (seconds)',
206
+ args: [T, 'seconds'],
207
+ },
208
+ 'notify space': { op: 'Forum_spaceLevel', about: 'Your notification level for the forum' },
209
+ 'notify set': {
210
+ op: 'Forum_setSpaceLevel',
211
+ about: 'Set it (watching|tracking|normal|muted)',
212
+ args: ['level'],
213
+ },
214
+ 'notify topic': {
215
+ op: 'Forum_setTopicLevel',
216
+ about: 'Your level for one topic',
217
+ args: [T, 'level'],
218
+ },
219
+ 'subscriptions tags': { op: 'Forum_tagSubscriptions', about: 'Tags you follow' },
220
+ 'subscriptions tag': {
221
+ op: 'Forum_setTagSubscription',
222
+ about: 'Follow a tag at a level',
223
+ args: ['tag', 'level'],
224
+ },
225
+ 'subscriptions categories': {
226
+ op: 'Forum_categorySubscriptions',
227
+ about: 'Categories you follow',
228
+ },
229
+ 'subscriptions category': {
230
+ op: 'Forum_setCategorySubscription',
231
+ about: 'Follow a category at a level',
232
+ args: ['categoryId', 'level'],
233
+ },
234
+ 'polls add': {
235
+ op: 'ForumTopics_addPoll',
236
+ about: 'Add a poll (--options a,b; --allowMultiple)',
237
+ args: [T, 'question...'],
238
+ },
239
+ 'polls vote': {
240
+ op: 'ForumTopics_votePoll',
241
+ about: 'Vote (optionIds a,b)',
242
+ args: ['pollId', 'optionIds'],
243
+ },
244
+ 'polls voters': { op: 'ForumTopics_pollVoters', about: 'Who voted', args: ['pollId'] },
245
+ 'polls close': { op: 'ForumTopics_closePoll', about: 'Close a poll', args: ['pollId'] },
246
+ 'polls reopen': { op: 'ForumTopics_reopenPoll', about: 'Reopen a poll', args: ['pollId'] },
247
+ 'polls remove': {
248
+ op: 'ForumTopics_removePoll',
249
+ about: 'Remove a poll',
250
+ args: ['pollId'],
251
+ destructive: true,
252
+ },
253
+ ...translationVerbs(T, {
254
+ list: 'ForumTopicTranslation_list',
255
+ get: 'ForumTopicTranslation_get',
256
+ put: 'ForumTopicTranslation_put',
257
+ remove: 'ForumTopicTranslation_remove',
258
+ auto: 'ForumTopicTranslation_auto',
259
+ }),
260
+ }),
261
+ surface('changelog', 'release', {
262
+ list: 'Changelog_list',
263
+ get: 'Changelog_get',
264
+ create: 'Changelog_create',
265
+ update: 'Changelog_update',
266
+ delete: 'Changelog_remove',
267
+ publish: 'Changelog_publish',
268
+ }, 'releases in a changelog space', {
269
+ compile: {
270
+ op: 'Changelog_compile',
271
+ about: 'Release notes compiled from merged changes (--since)',
272
+ },
273
+ stats: { op: 'Changelog_widgetStats', about: 'The in-app widget’s reach (--days)' },
274
+ schedule: {
275
+ op: 'Changelog_schedule',
276
+ about: 'Publish at a time (ISO 8601)',
277
+ args: ['releaseId', 'publishAt'],
278
+ },
279
+ unschedule: { op: 'Changelog_unschedule', about: 'Cancel the schedule', args: ['releaseId'] },
280
+ ...translationVerbs('releaseId', {
281
+ list: 'ReleaseTranslation_list',
282
+ get: 'ReleaseTranslation_get',
283
+ put: 'ReleaseTranslation_put',
284
+ remove: 'ReleaseTranslation_remove',
285
+ auto: 'ReleaseTranslation_auto',
286
+ }),
287
+ }),
288
+ {
289
+ name: 'roadmap',
290
+ noun: 'idea',
291
+ about: 'a roadmap space: ideas, votes, statuses, merges',
292
+ defaultVerb: 'board',
293
+ verbs: {
294
+ board: {
295
+ op: 'Roadmap_board',
296
+ about: 'The board',
297
+ columns: ['id', 'title', 'status', 'votes'],
298
+ },
299
+ get: { op: 'Roadmap_get', about: 'One idea', args: [T] },
300
+ submit: {
301
+ op: 'Roadmap_submit',
302
+ about: 'Submit an idea (--file idea.md)',
303
+ args: ['title'],
304
+ markdown: 'markdown',
305
+ },
306
+ update: { op: 'Roadmap_update', about: 'Edit title, tags, pinned, featured', args: [T] },
307
+ status: {
308
+ op: 'Roadmap_setStatus',
309
+ about: 'Move it (--message tells the voters)',
310
+ args: [T, 'status'],
311
+ },
312
+ vote: { op: 'Roadmap_vote', about: 'Vote for it', args: [T] },
313
+ comment: {
314
+ op: 'Roadmap_comment',
315
+ about: 'Comment (--file c.md)',
316
+ args: [T, 'markdown...'],
317
+ markdown: 'markdown',
318
+ },
319
+ merge: {
320
+ op: 'Roadmap_merge',
321
+ about: 'Merge it into another idea',
322
+ args: [T, 'canonicalId'],
323
+ destructive: true,
324
+ },
325
+ 'proxy-votes list': {
326
+ op: 'Roadmap_proxyVotes',
327
+ about: 'Votes recorded for customers',
328
+ args: [T],
329
+ },
330
+ 'proxy-votes add': {
331
+ op: 'Roadmap_recordProxyVote',
332
+ about: 'Record a vote on a customer’s behalf (--importance)',
333
+ args: [T, 'name...'],
334
+ },
335
+ 'proxy-votes remove': {
336
+ op: 'Roadmap_removeProxyVote',
337
+ about: 'Remove one',
338
+ args: [T, 'voteId'],
339
+ destructive: true,
340
+ },
341
+ },
342
+ },
343
+ ];
344
+ //# sourceMappingURL=groups-community.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups-community.js","sourceRoot":"","sources":["../../src/commands/groups-community.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { GroupDef } from './resource';
2
+ /**
3
+ * The headless CMS lifecycle a CI pipeline runs: libraries (members, locales,
4
+ * model, delivery keys), entries (fields, locks, locale twins, trash), media,
5
+ * releases (schedule, publish, roll back) and sandbox environments.
6
+ *
7
+ * `content pull|push` and `import` move the MODEL; these move the content.
8
+ */
9
+ export declare const CONTENT_GROUPS: GroupDef[];
10
+ //# sourceMappingURL=groups-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups-content.d.ts","sourceRoot":"","sources":["../../src/commands/groups-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAgUpC,CAAC"}