@go-labs-sg/gosh 0.6.1 → 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.
- package/README.md +23 -0
- package/command-manifest.json +11 -2
- package/command-reference.md +10 -2
- package/dist/index.js +6 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -65,11 +65,14 @@ gosh help event list
|
|
|
65
65
|
gosh health status
|
|
66
66
|
gosh organization list
|
|
67
67
|
gosh event list --input '{"organizationId":"acme"}'
|
|
68
|
+
gosh event list-page --input '{"organizationId":"acme","page":1,"pageSize":25,"search":"race","status":"LIVE"}'
|
|
68
69
|
gosh event get --input '{"organizationId":"acme","eventId":"event-id"}'
|
|
69
70
|
```
|
|
70
71
|
|
|
71
72
|
Commands use `--input '<json>'` for the exact validated tRPC input object. This preserves the GOSH API's typed validation without maintaining a second set of lossy CLI flags. See [command-reference.md](./command-reference.md) or import `@go-labs-sg/gosh/command-manifest` for the generated catalogue.
|
|
72
73
|
|
|
74
|
+
`gosh event list-page` returns `{ items, page, pageSize, pageCount, totalCount }`. It defaults to page 1 with 25 results, accepts page sizes from 1 to 100, and supports server-side `search` and `status` filters. Archived events are excluded unless an explicit status is supplied. Request subsequent pages explicitly; the CLI does not automatically fetch every page. The existing `gosh event list` command and its array response remain unchanged.
|
|
75
|
+
|
|
73
76
|
The command registry covers every callable GOSH tRPC procedure: organizer and global-admin operations, organization invitations and membership, player workflows, public results/login procedures, uploads, and realtime subscriptions. The compile-time registry test fails whenever a new API procedure is added without a CLI command.
|
|
74
77
|
|
|
75
78
|
### Templates and organization scope
|
|
@@ -94,6 +97,26 @@ gosh event create-from-template \
|
|
|
94
97
|
--allow-state-change
|
|
95
98
|
```
|
|
96
99
|
|
|
100
|
+
### Organization provisioning
|
|
101
|
+
|
|
102
|
+
Only global administrators can provision an organization. `gosh organization create`
|
|
103
|
+
requires `name`, `slug`, and `ownerEmail`; it creates the organization with a
|
|
104
|
+
pending first-owner invitation and emails that address. The provisioner does not
|
|
105
|
+
become a member or owner. The invited person must sign in with that email and
|
|
106
|
+
accept the invitation before they can manage the organization.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
gosh organization create \
|
|
110
|
+
--input '{"name":"Acme Events","slug":"acme-events","ownerEmail":"owner@example.com"}' \
|
|
111
|
+
--target acme-events \
|
|
112
|
+
--allow-state-change \
|
|
113
|
+
--allow-email \
|
|
114
|
+
--allow-external-write
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
The response includes the pending owner invitation and its delivery status; do
|
|
118
|
+
not treat the provisioner as the customer owner.
|
|
119
|
+
|
|
97
120
|
### Shared stations and team routes
|
|
98
121
|
|
|
99
122
|
Create each station once for an event. In a team event, link the same station to
|
package/command-manifest.json
CHANGED
|
@@ -53,6 +53,15 @@
|
|
|
53
53
|
"requiresAuth": true,
|
|
54
54
|
"summary": "List active events in an organization."
|
|
55
55
|
},
|
|
56
|
+
{
|
|
57
|
+
"effects": [],
|
|
58
|
+
"input": "json",
|
|
59
|
+
"operation": "query",
|
|
60
|
+
"path": ["event", "list-page"],
|
|
61
|
+
"procedure": "event.listPage",
|
|
62
|
+
"requiresAuth": true,
|
|
63
|
+
"summary": "List a filtered page of organization events using page, pageSize, search, and status."
|
|
64
|
+
},
|
|
56
65
|
{
|
|
57
66
|
"effects": [],
|
|
58
67
|
"input": "json",
|
|
@@ -2434,13 +2443,13 @@
|
|
|
2434
2443
|
"summary": "Watch submission review queue changes as newline-delimited JSON."
|
|
2435
2444
|
},
|
|
2436
2445
|
{
|
|
2437
|
-
"effects": ["state-change"],
|
|
2446
|
+
"effects": ["state-change", "email", "external-write"],
|
|
2438
2447
|
"input": "json",
|
|
2439
2448
|
"operation": "mutation",
|
|
2440
2449
|
"path": ["organization", "create"],
|
|
2441
2450
|
"procedure": "organization.create",
|
|
2442
2451
|
"requiresAuth": true,
|
|
2443
|
-
"summary": "
|
|
2452
|
+
"summary": "Provision an organization and email its pending first owner invitation.",
|
|
2444
2453
|
"targetKeys": ["slug", "name"]
|
|
2445
2454
|
},
|
|
2446
2455
|
{
|
package/command-reference.md
CHANGED
|
@@ -50,6 +50,14 @@ List active events in an organization.
|
|
|
50
50
|
- Input: `--input '<json>'` required
|
|
51
51
|
- Effects: read-only
|
|
52
52
|
|
|
53
|
+
## `gosh event list-page`
|
|
54
|
+
|
|
55
|
+
List a filtered page of organization events using page, pageSize, search, and status.
|
|
56
|
+
|
|
57
|
+
- Authentication: browser-authenticated CLI session required
|
|
58
|
+
- Input: `--input '<json>'` required
|
|
59
|
+
- Effects: read-only
|
|
60
|
+
|
|
53
61
|
## `gosh event get`
|
|
54
62
|
|
|
55
63
|
Get an event by ID or slug.
|
|
@@ -932,11 +940,11 @@ Watch submission review queue changes as newline-delimited JSON.
|
|
|
932
940
|
|
|
933
941
|
## `gosh organization create`
|
|
934
942
|
|
|
935
|
-
|
|
943
|
+
Provision an organization and email its pending first owner invitation.
|
|
936
944
|
|
|
937
945
|
- Authentication: browser-authenticated CLI session required
|
|
938
946
|
- Input: `--input '<json>'` required
|
|
939
|
-
- Effects: state-change
|
|
947
|
+
- Effects: state-change, email, external-write
|
|
940
948
|
|
|
941
949
|
## `gosh organization update`
|
|
942
950
|
|
package/dist/index.js
CHANGED
|
@@ -19912,6 +19912,10 @@ var typedOperations = {
|
|
|
19912
19912
|
kind: "query",
|
|
19913
19913
|
invoke: (client, input2) => client.event.list.query(input2)
|
|
19914
19914
|
},
|
|
19915
|
+
"event.listPage": {
|
|
19916
|
+
kind: "query",
|
|
19917
|
+
invoke: (client, input2) => client.event.listPage.query(input2)
|
|
19918
|
+
},
|
|
19915
19919
|
"event.getById": {
|
|
19916
19920
|
kind: "query",
|
|
19917
19921
|
invoke: (client, input2) => client.event.getById.query(input2)
|
|
@@ -20534,6 +20538,7 @@ var commands = [
|
|
|
20534
20538
|
query(["organization", "get"], "organization.getById", "Get one organization by ID or slug."),
|
|
20535
20539
|
query(["organization", "members"], "organization.listMembers", "List an organization's members and pending invitations."),
|
|
20536
20540
|
query(["event", "list"], "event.list", "List active events in an organization."),
|
|
20541
|
+
query(["event", "list-page"], "event.listPage", "List a filtered page of organization events using page, pageSize, search, and status."),
|
|
20537
20542
|
query(["event", "get"], "event.getById", "Get an event by ID or slug."),
|
|
20538
20543
|
query(["event", "setup"], "event.getAdminSetup", "Get the organizer setup view for an event."),
|
|
20539
20544
|
query(["event", "participants"], "event.getAdminParticipants", "Get the organizer participant view for an event."),
|
|
@@ -20661,7 +20666,7 @@ var commands = [
|
|
|
20661
20666
|
mutation(["player", "mission", "upload-abort"], "event.abortMissionMediaMultipartUpload", "Abort a low-level multipart mission upload.", ["state-change", "delete", "external-write"]),
|
|
20662
20667
|
subscription(["player", "watch"], "event.onPlayerEventChanged", "Watch player event changes as newline-delimited JSON."),
|
|
20663
20668
|
subscription(["submission", "watch"], "event.onSubmissionReviewQueueChanged", "Watch submission review queue changes as newline-delimited JSON."),
|
|
20664
|
-
mutation(["organization", "create"], "organization.create", "
|
|
20669
|
+
mutation(["organization", "create"], "organization.create", "Provision an organization and email its pending first owner invitation.", ["state-change", "email", "external-write"]),
|
|
20665
20670
|
mutation(["organization", "update"], "organization.update", "Update an organization.", ["state-change"]),
|
|
20666
20671
|
mutation(["organization", "slug-check"], "organization.checkSlug", "Check whether an organization slug is available.", []),
|
|
20667
20672
|
query(["organization", "access-check"], "organization.checkOrganizationAccess", "Check access to an organization."),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@go-labs-sg/gosh",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "GOSH CLI for organizers and AI agents — manage organizations, events, teams, stations, missions, templates, and live operations through the GOSH API.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|