@tutorflow/cli 0.4.0 → 0.5.1

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 CHANGED
@@ -73,10 +73,10 @@ All ids are UUIDs. Every command accepts `--json`.
73
73
 
74
74
  | Command | Route | Credits |
75
75
  | --- | --- | --- |
76
- | `course generate [prompt] [--lessons] [--language] [--level] [--title] [--description]` | `POST …/courses/generate` | 3 + 3 per lesson |
76
+ | `course generate [prompt] [--lessons] [--language] [--level] [--title] [--description]` | `POST …/courses/generate` | 3 + 6 per lesson |
77
77
  | `slide generate [topic] [--count 5-20] [--theme] [--instructions] [--text-length concise\|detailed]` | `POST …/slides/generate` | per page |
78
78
  | `test generate [topic] [--items] [--item-types select,blank,…] [--level] [--total-score]` | `POST …/tests/generate` | 3 |
79
- | `module generate [topic] [--type markdown\|ai-tutor\|flashcard\|…] [--reference]` | `POST …/modules/generate` | 3 |
79
+ | `module generate [topic] [--type markdown\|ai-tutor\|flashcard\|…] [--reference]` | `POST …/modules/generate` | 6 |
80
80
 
81
81
  `generate` (alias `create`) answers `202` with a run. Add `--wait [--timeout <seconds>]` to poll the run and print `{ run, resource }` with the resource's `editorUrl` and `publicUrl`. Every generate accepts `--idempotency-key`.
82
82
 
@@ -88,6 +88,23 @@ Each of `course`, `slide`, `test`, `module`, `video`, `game` and `simulation` al
88
88
  | `get <id>` | `GET …/{resource}/{id}` |
89
89
  | `open <id> [--editor]` | prints `editorUrl` and `publicUrl`; opens one in a browser on a TTY |
90
90
  | `delete <id> --yes` | `DELETE …/{resource}/{id}` (`--yes` required without a TTY) |
91
+ | `share <id> [--listed]` | `PATCH …/{resource}/{id}`: makes it open by link and prints `publicUrl` |
92
+ | `visibility <id> <value>` | `PATCH …/{resource}/{id}` with that visibility |
93
+
94
+ `share` sets the least open value that still opens by link, and `visibility` takes the values below (case does not matter). The PATCH answer carries the new `publicUrl`; JSON mode prints the whole answer.
95
+
96
+ | Resource | `share` sets | `visibility` values |
97
+ | --- | --- | --- |
98
+ | `video`, `test` | `UNLISTED` (opens by link, kept out of lists and search); `--listed` sets `PUBLIC` | `PUBLIC`, `UNLISTED`, `PRIVATE` |
99
+ | `slide`, `game`, `simulation` | `PUBLIC` | `PUBLIC`, `PRIVATE` |
100
+ | `course` | `PUBLIC` | `PUBLIC`, `PRIVATE`, `ORGANIZATION`, `CLASSROOM`, `COURSE` |
101
+ | `module` | `isPublic: true` | `PUBLIC`, `PRIVATE` (written as `isPublic`) |
102
+
103
+ `publicUrl` can stay null after `share`: a video's watch page opens once it is rendered, a game or simulation's play page once it is built, a course page once the course is published, and the sandbox classroom of `tf_content_test_` keys has no public pages. A test's public page shows its cover; answering needs a learner sign-in. New tests start `PUBLIC`.
104
+
105
+ ```bash
106
+ tutorflow --json video share <videoId> | jq -r .publicUrl
107
+ ```
91
108
 
92
109
  `test results <testId>` lists learners' results (`GET …/tests/{id}/results`).
93
110
 
@@ -108,7 +125,7 @@ The Content API builds videos from scenes you script; it does not write the scri
108
125
 
109
126
  | Command | Route |
110
127
  | --- | --- |
111
- | `video create --title [--description] [--visibility] [--scene "<script>"]…` | `POST …/videos`, then one scene per `--scene` in order |
128
+ | `video create --title [--description] [--visibility PUBLIC\|UNLISTED\|PRIVATE] [--scene "<script>"]…` | `POST …/videos`, then one scene per `--scene` in order |
112
129
  | `video scene add <videoId> [--script] [--display-text] [--duration] [--after <sceneId>]` | `POST …/videos/{id}/scenes`, then `PATCH` the new scene |
113
130
  | `video scene update <videoId> <sceneId> [--script] [--display-text] [--duration]` | `PATCH …/scenes/{sceneId}` |
114
131
  | `video scene delete <videoId> <sceneId> --yes` | `DELETE …/scenes/{sceneId}` |
@@ -181,6 +198,8 @@ run=$(tutorflow course generate "Fractions for 5th grade" --lessons 2)
181
198
  tutorflow run wait "$(echo "$run" | jq -r .runId)" | jq -r .resource.publicUrl
182
199
  ```
183
200
 
201
+ To hand the work to a person, make it open by link and send them `publicUrl`: `tutorflow course share <courseId> | jq -r .publicUrl`.
202
+
184
203
  - **Output:** with `--json` or `TUTORFLOW_JSON=1`, success is one JSON document on stdout and errors are JSON on stderr. Progress lines (text mode only) go to stderr.
185
204
  - **No prompts without a TTY:** a missing required input exits 2 with `ENOINTERACTIVE` and names the flag to pass. Destructive commands need `--yes`.
186
205
  - **Retries:** create and generate commands accept `--idempotency-key`.
@@ -265,6 +284,7 @@ src/
265
284
  ├── content/
266
285
  │ ├── context.ts # tf_content_ key check and classroom resolution
267
286
  │ ├── resource.ts # shared list/get/open/delete/generate subcommands
287
+ │ ├── sharing.ts # shared share/visibility subcommands
268
288
  │ └── runs.ts # waiting on runs, game/simulation builds and renders
269
289
  ├── commands/ # one file per top-level command
270
290
  ├── utils/ # runtime (JSON mode, CliError), output, args, keys
@@ -1 +1 @@
1
- {"version":3,"file":"course.d.ts","sourceRoot":"","sources":["../../src/commands/course.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,aAAa,IAAI,OAAO,CA0BvC"}
1
+ {"version":3,"file":"course.d.ts","sourceRoot":"","sources":["../../src/commands/course.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,aAAa,IAAI,OAAO,CA2BvC"}
@@ -4,12 +4,13 @@ exports.courseCommand = courseCommand;
4
4
  const commander_1 = require("commander");
5
5
  const args_1 = require("../utils/args");
6
6
  const resource_1 = require("../content/resource");
7
+ const sharing_1 = require("../content/sharing");
7
8
  const COURSES = { path: 'courses', noun: 'course' };
8
9
  function courseCommand() {
9
10
  const course = new commander_1.Command('course').description('Generate and manage classroom courses');
10
11
  (0, resource_1.addGenerateCommand)(course, {
11
12
  ...COURSES,
12
- description: 'Generate a course with every lesson (3 credits for the outline + 3 per lesson)',
13
+ description: 'Generate a course with every lesson (3 credits for the outline + 6 per lesson)',
13
14
  promptLabel: 'Describe the course',
14
15
  example: 'tutorflow course generate "Beginner Python" --lessons 5 --wait',
15
16
  configure: (cmd) => cmd
@@ -28,6 +29,7 @@ function courseCommand() {
28
29
  }),
29
30
  });
30
31
  (0, resource_1.addCrudCommands)(course, COURSES);
32
+ (0, sharing_1.addShareCommands)(course, COURSES, sharing_1.COURSE_SHARING);
31
33
  return course;
32
34
  }
33
35
  //# sourceMappingURL=course.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"course.js","sourceRoot":"","sources":["../../src/commands/course.ts"],"names":[],"mappings":";;AAcA,sCA0BC;AAxCD,yCAAoC;AACpC,wCAAiD;AACjD,kDAA6F;AAU7F,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAElE,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAE1F,IAAA,6BAAkB,EAAwB,MAAM,EAAE;QAChD,GAAG,OAAO;QACV,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,gEAAgE;QACzE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;aACrD,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;aACzD,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;aAClE,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;QACzD,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM;YACN,WAAW,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;YAC3D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"course.js","sourceRoot":"","sources":["../../src/commands/course.ts"],"names":[],"mappings":";;AAeA,sCA2BC;AA1CD,yCAAoC;AACpC,wCAAiD;AACjD,kDAA6F;AAC7F,gDAAsE;AAUtE,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAElE,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAE1F,IAAA,6BAAkB,EAAwB,MAAM,EAAE;QAChD,GAAG,OAAO;QACV,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,gEAAgE;QACzE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;aACrD,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;aACzD,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;aAClE,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;QACzD,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM;YACN,WAAW,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;YAC3D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAA,0BAAgB,EAAC,MAAM,EAAE,OAAO,EAAE,wBAAc,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAKL,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAY7B,UAAU,eAAgB,SAAQ,YAAY;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CA+DjE;AAwCD,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAKL,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAa7B,UAAU,eAAgB,SAAQ,YAAY;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAmEjE;AAwCD,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C"}
@@ -9,6 +9,7 @@ const runtime_1 = require("../utils/runtime");
9
9
  const args_1 = require("../utils/args");
10
10
  const context_1 = require("../content/context");
11
11
  const resource_1 = require("../content/resource");
12
+ const sharing_1 = require("../content/sharing");
12
13
  const runs_1 = require("../content/runs");
13
14
  /**
14
15
  * Games and simulations share one lifecycle: create → brief (plan) → build →
@@ -57,6 +58,10 @@ function interactiveCommand(spec) {
57
58
  (0, output_1.printResult)(await ctx.client.request('GET', (0, resource_1.resourcePath)(ctx, spec, id, '/run')));
58
59
  }));
59
60
  (0, resource_1.addCrudCommands)(root, spec);
61
+ (0, sharing_1.addShareCommands)(root, spec, {
62
+ ...sharing_1.PUBLIC_PRIVATE,
63
+ publicUrlNote: `The play page opens once the ${spec.noun} is built.`,
64
+ });
60
65
  return root;
61
66
  }
62
67
  function addStep(root, spec, step) {
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,aAAa,IAAI,OAAO,CAyBvC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,aAAa,IAAI,OAAO,CA0BvC"}
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.moduleCommand = moduleCommand;
4
4
  const commander_1 = require("commander");
5
5
  const resource_1 = require("../content/resource");
6
+ const sharing_1 = require("../content/sharing");
6
7
  const MODULES = { path: 'modules', noun: 'interactive module' };
7
8
  function moduleCommand() {
8
9
  const module = new commander_1.Command('module').description('Generate and manage interactive lesson modules');
9
10
  (0, resource_1.addGenerateCommand)(module, {
10
11
  ...MODULES,
11
- description: 'Generate an interactive lesson module (3 credits)',
12
+ description: 'Generate an interactive lesson module (6 credits)',
12
13
  promptLabel: 'Describe the module',
13
14
  example: 'tutorflow module generate "Fractions for 5th grade" --wait',
14
15
  configure: (cmd) => cmd
@@ -23,6 +24,7 @@ function moduleCommand() {
23
24
  }),
24
25
  });
25
26
  (0, resource_1.addCrudCommands)(module, MODULES);
27
+ (0, sharing_1.addShareCommands)(module, MODULES, sharing_1.MODULE_SHARING);
26
28
  return module;
27
29
  }
28
30
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":";;AAWA,sCAyBC;AApCD,yCAAoC;AACpC,kDAA6F;AAQ7F,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;AAE9E,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC;IAEnG,IAAA,6BAAkB,EAAwB,MAAM,EAAE;QAChD,GAAG,OAAO;QACV,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,4DAA4D;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CACL,eAAe,EACf,qGAAqG,CACtG;aACA,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,CAAC;QACjF,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,SAAS;SACjC,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":";;AAYA,sCA0BC;AAtCD,yCAAoC;AACpC,kDAA6F;AAC7F,gDAAsE;AAQtE,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;AAE9E,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC;IAEnG,IAAA,6BAAkB,EAAwB,MAAM,EAAE;QAChD,GAAG,OAAO;QACV,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,4DAA4D;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CACL,eAAe,EACf,qGAAqG,CACtG;aACA,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,CAAC;QACjF,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,SAAS;SACjC,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAA,0BAAgB,EAAC,MAAM,EAAE,OAAO,EAAE,wBAAc,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/commands/slide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,YAAY,IAAI,OAAO,CA0BtC"}
1
+ {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/commands/slide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,YAAY,IAAI,OAAO,CA2BtC"}
@@ -4,6 +4,7 @@ exports.slideCommand = slideCommand;
4
4
  const commander_1 = require("commander");
5
5
  const args_1 = require("../utils/args");
6
6
  const resource_1 = require("../content/resource");
7
+ const sharing_1 = require("../content/sharing");
7
8
  const SLIDES = { path: 'slides', noun: 'slide deck' };
8
9
  function slideCommand() {
9
10
  const slide = new commander_1.Command('slide').description('Generate and manage classroom slide decks');
@@ -28,6 +29,7 @@ function slideCommand() {
28
29
  }),
29
30
  });
30
31
  (0, resource_1.addCrudCommands)(slide, SLIDES);
32
+ (0, sharing_1.addShareCommands)(slide, SLIDES, sharing_1.PUBLIC_PRIVATE);
31
33
  return slide;
32
34
  }
33
35
  //# sourceMappingURL=slide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slide.js","sourceRoot":"","sources":["../../src/commands/slide.ts"],"names":[],"mappings":";;AAcA,oCA0BC;AAxCD,yCAAoC;AACpC,wCAAiD;AACjD,kDAA6F;AAU7F,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAEpE,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;IAE5F,IAAA,6BAAkB,EAAuB,KAAK,EAAE;QAC9C,GAAG,MAAM;QACT,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,4DAA4D;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;aAClD,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;aACjD,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;aACvE,MAAM,CAAC,wBAAwB,EAAE,mCAAmC,CAAC;QAC1E,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,UAAU,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;YACtD,OAAO,EAAE,OAAO,CAAC,KAAK;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"slide.js","sourceRoot":"","sources":["../../src/commands/slide.ts"],"names":[],"mappings":";;AAeA,oCA2BC;AA1CD,yCAAoC;AACpC,wCAAiD;AACjD,kDAA6F;AAC7F,gDAAsE;AAUtE,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAEpE,SAAgB,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;IAE5F,IAAA,6BAAkB,EAAuB,KAAK,EAAE;QAC9C,GAAG,MAAM;QACT,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,4DAA4D;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;aAClD,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;aACjD,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;aACvE,MAAM,CAAC,wBAAwB,EAAE,mCAAmC,CAAC;QAC1E,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,UAAU,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;YACtD,OAAO,EAAE,OAAO,CAAC,KAAK;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAA,0BAAgB,EAAC,KAAK,EAAE,MAAM,EAAE,wBAAc,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,WAAW,IAAI,OAAO,CAgDrC"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,WAAW,IAAI,OAAO,CAiDrC"}
@@ -7,6 +7,7 @@ const runtime_1 = require("../utils/runtime");
7
7
  const args_1 = require("../utils/args");
8
8
  const context_1 = require("../content/context");
9
9
  const resource_1 = require("../content/resource");
10
+ const sharing_1 = require("../content/sharing");
10
11
  const TESTS = { path: 'tests', noun: 'test' };
11
12
  function testCommand() {
12
13
  const test = new commander_1.Command('test').description('Generate and manage classroom tests');
@@ -33,6 +34,7 @@ function testCommand() {
33
34
  }),
34
35
  });
35
36
  (0, resource_1.addCrudCommands)(test, TESTS);
37
+ (0, sharing_1.addShareCommands)(test, TESTS, sharing_1.WITH_UNLISTED);
36
38
  test
37
39
  .command('results <testId>')
38
40
  .description("List learners' results of a test")
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";;AAuBA,kCAgDC;AAvED,yCAAoC;AACpC,4CAA8C;AAC9C,8CAA2C;AAC3C,wCAA4D;AAC5D,gDAA2D;AAC3D,kDAK6B;AAW7B,MAAM,KAAK,GAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE5D,SAAgB,WAAW;IACzB,MAAM,IAAI,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAEpF,IAAA,6BAAkB,EAAsB,IAAI,EAAE;QAC5C,GAAG,KAAK;QACR,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,4DAA4D;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;aACjD,MAAM,CACL,qBAAqB,EACrB,2FAA2F,CAC5F;aACA,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;aAC7C,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;aACvE,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;QAChE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,SAAS,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;YACrD,SAAS,EAAE,IAAA,gBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;YACjE,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE7B,IAAI;SACD,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,IAAI,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CACL,IAAA,iBAAO,EAAC,KAAK,EAAE,MAAc,EAAE,OAA2C,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAA,uBAAgB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAqB,GAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,IAAA,oBAAW,EACT,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAA,uBAAY,EAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CACzF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";;AAwBA,kCAiDC;AAzED,yCAAoC;AACpC,4CAA8C;AAC9C,8CAA2C;AAC3C,wCAA4D;AAC5D,gDAA2D;AAC3D,kDAK6B;AAC7B,gDAAqE;AAWrE,MAAM,KAAK,GAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE5D,SAAgB,WAAW;IACzB,MAAM,IAAI,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAEpF,IAAA,6BAAkB,EAAsB,IAAI,EAAE;QAC5C,GAAG,KAAK;QACR,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,4DAA4D;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,GAAG;aACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;aACjD,MAAM,CACL,qBAAqB,EACrB,2FAA2F,CAC5F;aACA,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;aAC7C,MAAM,CAAC,uBAAuB,EAAE,eAAe,EAAE,IAAI,CAAC;aACtD,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;aACvE,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;QAChE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK;YACL,SAAS,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;YACrD,SAAS,EAAE,IAAA,gBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,IAAA,uBAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;YACjE,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;KACH,CAAC,CAAC;IACH,IAAA,0BAAe,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAA,0BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,uBAAa,CAAC,CAAC;IAE7C,IAAI;SACD,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,IAAI,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CACL,IAAA,iBAAO,EAAC,KAAK,EAAE,MAAc,EAAE,OAA2C,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAA,uBAAgB,EAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAqB,GAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,IAAA,oBAAW,EACT,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAA,uBAAY,EAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CACzF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDpC,wBAAgB,YAAY,IAAI,OAAO,CAyGtC"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsDpC,wBAAgB,YAAY,IAAI,OAAO,CA6GtC"}
@@ -7,9 +7,10 @@ const runtime_1 = require("../utils/runtime");
7
7
  const args_1 = require("../utils/args");
8
8
  const context_1 = require("../content/context");
9
9
  const resource_1 = require("../content/resource");
10
+ const sharing_1 = require("../content/sharing");
10
11
  const runs_1 = require("../content/runs");
11
12
  const VIDEOS = { path: 'videos', noun: 'video' };
12
- const VISIBILITIES = ['PUBLIC', 'PRIVATE'];
13
+ const VISIBILITIES = ['PUBLIC', 'UNLISTED', 'PRIVATE'];
13
14
  const videoPath = (ctx, id, suffix = '') => (0, resource_1.resourcePath)(ctx, VIDEOS, id, suffix);
14
15
  function videoCommand() {
15
16
  const video = new commander_1.Command('video').description('Create, script, narrate and render classroom videos');
@@ -18,7 +19,7 @@ function videoCommand() {
18
19
  .description('Create a video; each --scene adds a scene with that narration script')
19
20
  .requiredOption('--title <title>', 'Video title')
20
21
  .option('--description <text>', 'Video description')
21
- .option('--visibility <visibility>', 'PUBLIC or PRIVATE')
22
+ .option('--visibility <visibility>', 'PUBLIC, UNLISTED (opens by link, not listed) or PRIVATE')
22
23
  .option('--scene <script>', 'Add a scene with this script (repeatable, in order)', args_1.collect, [])
23
24
  .option('--idempotency-key <key>', 'Idempotency key for safe retries of the create call')
24
25
  .action((0, runtime_1.command)(async (options) => {
@@ -42,6 +43,10 @@ function videoCommand() {
42
43
  (0, output_1.printResult)(await ctx.client.request('GET', videoPath(ctx, created.id)));
43
44
  }));
44
45
  (0, resource_1.addCrudCommands)(video, VIDEOS);
46
+ (0, sharing_1.addShareCommands)(video, VIDEOS, {
47
+ ...sharing_1.WITH_UNLISTED,
48
+ publicUrlNote: 'The watch page opens once the video is rendered.',
49
+ });
45
50
  video.addCommand(sceneCommand());
46
51
  video
47
52
  .command('narrate <videoId>')
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Command } from 'commander';
2
+ import { type ResourceSpec } from './resource';
3
+ /**
4
+ * `<resource> share <id>` and `<resource> visibility <id> <value>`: a PATCH of
5
+ * the resource's visibility. The PATCH answer carries the new publicUrl.
6
+ */
7
+ export interface Sharing {
8
+ /** Values `visibility` accepts, as the Content API spells them. */
9
+ values: readonly string[];
10
+ /** What `share` sets: the least open value that still opens by link. */
11
+ shareValue: string;
12
+ /** What `share --listed` sets, for resources that can open by link unlisted. */
13
+ listedValue?: string;
14
+ /** Modules have `isPublic` instead of `visibility`; PUBLIC/PRIVATE map onto it. */
15
+ booleanField?: 'isPublic';
16
+ /** Why publicUrl can still be null after sharing, beyond the sandbox classroom. */
17
+ publicUrlNote?: string;
18
+ }
19
+ export declare const PUBLIC_PRIVATE: Sharing;
20
+ export declare const WITH_UNLISTED: Sharing;
21
+ export declare const COURSE_SHARING: Sharing;
22
+ export declare const MODULE_SHARING: Sharing;
23
+ export declare function addShareCommands(parent: Command, spec: ResourceSpec, sharing: Sharing): void;
24
+ //# sourceMappingURL=sharing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharing.d.ts","sourceRoot":"","sources":["../../src/content/sharing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnF;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,mEAAmE;IACnE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,EAAE,OAG5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAI3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,OAG5B,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA0B5F"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODULE_SHARING = exports.COURSE_SHARING = exports.WITH_UNLISTED = exports.PUBLIC_PRIVATE = void 0;
4
+ exports.addShareCommands = addShareCommands;
5
+ const output_1 = require("../utils/output");
6
+ const runtime_1 = require("../utils/runtime");
7
+ const keys_1 = require("../utils/keys");
8
+ const context_1 = require("./context");
9
+ const resource_1 = require("./resource");
10
+ exports.PUBLIC_PRIVATE = {
11
+ values: ['PUBLIC', 'PRIVATE'],
12
+ shareValue: 'PUBLIC',
13
+ };
14
+ exports.WITH_UNLISTED = {
15
+ values: ['PUBLIC', 'UNLISTED', 'PRIVATE'],
16
+ shareValue: 'UNLISTED',
17
+ listedValue: 'PUBLIC',
18
+ };
19
+ exports.COURSE_SHARING = {
20
+ values: ['PUBLIC', 'PRIVATE', 'ORGANIZATION', 'CLASSROOM', 'COURSE'],
21
+ shareValue: 'PUBLIC',
22
+ publicUrlNote: 'A course page opens once the course is published.',
23
+ };
24
+ exports.MODULE_SHARING = {
25
+ ...exports.PUBLIC_PRIVATE,
26
+ booleanField: 'isPublic',
27
+ };
28
+ const SANDBOX_NOTE = 'The sandbox classroom of tf_content_test_ keys has no public pages.';
29
+ function addShareCommands(parent, spec, sharing) {
30
+ const share = parent
31
+ .command('share <id>')
32
+ .description(shareDescription(spec, sharing));
33
+ if (sharing.listedValue) {
34
+ share.option('--listed', `Set ${sharing.listedValue} so it is also listed and searchable`);
35
+ }
36
+ share.action((0, runtime_1.command)(async (id, options) => {
37
+ const value = options.listed && sharing.listedValue ? sharing.listedValue : sharing.shareValue;
38
+ await setVisibility(spec, sharing, id, value);
39
+ }));
40
+ parent
41
+ .command('visibility <id> <value>')
42
+ .description(`Set the ${spec.noun}'s visibility: ${sharing.values.join(', ')}${sharing.booleanField ? ` (sets ${sharing.booleanField})` : ''}`)
43
+ .action((0, runtime_1.command)(async (id, value) => {
44
+ await setVisibility(spec, sharing, id, parseVisibility(value, sharing));
45
+ }));
46
+ }
47
+ function parseVisibility(value, sharing) {
48
+ const choice = value.toUpperCase();
49
+ if (!sharing.values.includes(choice)) {
50
+ throw new runtime_1.CliError(`visibility must be one of: ${sharing.values.join(', ')} (got "${value}")`, {
51
+ code: 'EINVAL',
52
+ exitCode: 2,
53
+ });
54
+ }
55
+ return choice;
56
+ }
57
+ function shareDescription(spec, sharing) {
58
+ const listed = sharing.listedValue
59
+ ? ` (${sharing.shareValue}: opens by link but stays out of lists; --listed for ${sharing.listedValue})`
60
+ : ` (${sharing.shareValue})`;
61
+ return `Make the ${spec.noun} open by link and print its publicUrl${listed}`;
62
+ }
63
+ async function setVisibility(spec, sharing, id, value) {
64
+ const body = sharing.booleanField
65
+ ? { [sharing.booleanField]: value === 'PUBLIC' }
66
+ : { visibility: value };
67
+ const ctx = await (0, context_1.resolveContentContext)();
68
+ const updated = await ctx.client.request('PATCH', (0, resource_1.resourcePath)(ctx, spec, id), body);
69
+ if ((0, runtime_1.isJsonMode)()) {
70
+ (0, output_1.printResult)(updated);
71
+ return;
72
+ }
73
+ const field = sharing.booleanField ?? 'visibility';
74
+ (0, output_1.printResult)({
75
+ id: updated.id ?? id,
76
+ [field]: updated[field] ?? body[field],
77
+ publicUrl: updated.publicUrl ?? null,
78
+ editorUrl: updated.editorUrl ?? null,
79
+ });
80
+ const opensByLink = value === sharing.shareValue || value === sharing.listedValue;
81
+ if (!updated.publicUrl && opensByLink) {
82
+ const isSandbox = (0, keys_1.getApiKeyKind)(ctx.client.apiKey) === 'content_test';
83
+ (0, output_1.printStatus)(['No publicUrl yet.', sharing.publicUrlNote, isSandbox ? SANDBOX_NOTE : undefined]
84
+ .filter(Boolean)
85
+ .join(' '));
86
+ }
87
+ }
88
+ //# sourceMappingURL=sharing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../src/content/sharing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutorflow/cli",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "TutorFlow CLI - agent-friendly command line for the TutorFlow Content API: generate courses, slides, tests, modules, videos, games and simulations, grade learner answers, and manage learners and webhooks. Supports --json output, env-var auth, --wait polling, and non-interactive use.",
5
5
  "keywords": [
6
6
  "tutorflow",