@mccaskie-labs/workbench-config 0.4.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @mccaskie-labs/workbench-config
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - The `intake` manifest lists Control's new `cf_r2_bucket_create` and `cf_r2_bucket_delete` tools and the `new_project` choice that makes the project's `INTAKE_STORE` bucket.
8
+
3
9
  ## 0.4.0
4
10
 
5
11
  ### Minor Changes
@@ -13,6 +13,10 @@
13
13
  "gateway": [
14
14
  "POST /v1/intake/read"
15
15
  ],
16
+ "tools": [
17
+ "cf_r2_bucket_create",
18
+ "cf_r2_bucket_delete"
19
+ ],
16
20
  "package": [
17
21
  "Ai.intake",
18
22
  "defineIntakeTypes",
@@ -32,6 +36,10 @@
32
36
  "description": "Project key with the ai scope, delivered as a Worker secret by gw_key_issue"
33
37
  }
34
38
  ],
39
+ "actions": [
40
+ { "tool": "cf_r2_bucket_create", "gate": "free", "ships": "later" },
41
+ { "tool": "cf_r2_bucket_delete", "gate": "two_step", "ships": "later" }
42
+ ],
35
43
  "limits": [
36
44
  { "id": "intake.types-per-call", "value": 20, "unit": "types", "per": "request", "enforced_by": "gateway", "refusal": "invalid_request" },
37
45
  { "id": "intake.properties-per-type", "value": 40, "unit": "properties", "per": "type", "enforced_by": "gateway", "refusal": "invalid_request" },
@@ -168,7 +176,7 @@
168
176
  { "label": "Yes, in your own storage", "value": "project", "means": "Your app keeps the screenshot and text in its own private bucket. Workbench never keeps it." }
169
177
  ],
170
178
  "must_ask": true,
171
- "note": "project sets save_input in workbench/intake.json and needs the INTAKE_STORE bucket bound to the app (a private R2 bucket <id>-intake per environment, in the projects account). Pass store: env.INTAKE_STORE on every call. Say who will be able to see the copies and for how long."
179
+ "note": "project sets save_input in workbench/intake.json and needs the INTAKE_STORE bucket bound to the app: a private R2 bucket per environment (<id>-intake-staging, <id>-intake-production), made by new_project when its intake choice is yes, or by Workbench Control's cf_r2_bucket_create (use intake) for each environment, whose result gives the wrangler.jsonc binding. Pass store: env.INTAKE_STORE on every call. Say who will be able to see the copies and for how long."
172
180
  },
173
181
  {
174
182
  "id": "intake.check",
@@ -1,4 +1,4 @@
1
- export declare const MANIFEST_VERSION: "7ad8cef4de58";
1
+ export declare const MANIFEST_VERSION: "0d881b725675";
2
2
  export declare const capabilities: {
3
3
  readonly ai: {
4
4
  readonly $schema: "./schema.json";
@@ -2904,6 +2904,7 @@ export declare const capabilities: {
2904
2904
  readonly status: "built";
2905
2905
  readonly surfaces: {
2906
2906
  readonly gateway: readonly ["POST /v1/intake/read"];
2907
+ readonly tools: readonly ["cf_r2_bucket_create", "cf_r2_bucket_delete"];
2907
2908
  readonly package: readonly ["Ai.intake", "defineIntakeTypes", "IntakeTypes", "IntakeResult"];
2908
2909
  };
2909
2910
  readonly config: readonly [{
@@ -2963,6 +2964,15 @@ export declare const capabilities: {
2963
2964
  readonly enforced_by: "gateway";
2964
2965
  readonly refusal: "invalid_request";
2965
2966
  }];
2967
+ readonly actions: readonly [{
2968
+ readonly tool: "cf_r2_bucket_create";
2969
+ readonly gate: "free";
2970
+ readonly ships: "later";
2971
+ }, {
2972
+ readonly tool: "cf_r2_bucket_delete";
2973
+ readonly gate: "two_step";
2974
+ readonly ships: "later";
2975
+ }];
2966
2976
  readonly errors: readonly [{
2967
2977
  readonly code: "invalid_request";
2968
2978
  readonly http: 400;
@@ -3134,7 +3144,7 @@ export declare const capabilities: {
3134
3144
  readonly means: "Your app keeps the screenshot and text in its own private bucket. Workbench never keeps it.";
3135
3145
  }];
3136
3146
  readonly must_ask: true;
3137
- readonly note: "project sets save_input in workbench/intake.json and needs the INTAKE_STORE bucket bound to the app (a private R2 bucket <id>-intake per environment, in the projects account). Pass store: env.INTAKE_STORE on every call. Say who will be able to see the copies and for how long.";
3147
+ readonly note: "project sets save_input in workbench/intake.json and needs the INTAKE_STORE bucket bound to the app: a private R2 bucket per environment (<id>-intake-staging, <id>-intake-production), made by new_project when its intake choice is yes, or by Workbench Control's cf_r2_bucket_create (use intake) for each environment, whose result gives the wrangler.jsonc binding. Pass store: env.INTAKE_STORE on every call. Say who will be able to see the copies and for how long.";
3138
3148
  }, {
3139
3149
  readonly id: "intake.check";
3140
3150
  readonly sets: "app.when_unsure";
@@ -1,6 +1,6 @@
1
1
  // Generated by `npm run capabilities:build` from capabilities/*.json. Do not edit.
2
2
  // check:capabilities fails in Checks when this file is stale.
3
- export const MANIFEST_VERSION = "7ad8cef4de58";
3
+ export const MANIFEST_VERSION = "0d881b725675";
4
4
  export const capabilities = {
5
5
  "ai": {
6
6
  "$schema": "./schema.json",
@@ -3810,6 +3810,10 @@ export const capabilities = {
3810
3810
  "gateway": [
3811
3811
  "POST /v1/intake/read"
3812
3812
  ],
3813
+ "tools": [
3814
+ "cf_r2_bucket_create",
3815
+ "cf_r2_bucket_delete"
3816
+ ],
3813
3817
  "package": [
3814
3818
  "Ai.intake",
3815
3819
  "defineIntakeTypes",
@@ -3887,6 +3891,18 @@ export const capabilities = {
3887
3891
  "refusal": "invalid_request"
3888
3892
  }
3889
3893
  ],
3894
+ "actions": [
3895
+ {
3896
+ "tool": "cf_r2_bucket_create",
3897
+ "gate": "free",
3898
+ "ships": "later"
3899
+ },
3900
+ {
3901
+ "tool": "cf_r2_bucket_delete",
3902
+ "gate": "two_step",
3903
+ "ships": "later"
3904
+ }
3905
+ ],
3890
3906
  "errors": [
3891
3907
  {
3892
3908
  "code": "invalid_request",
@@ -4096,7 +4112,7 @@ export const capabilities = {
4096
4112
  }
4097
4113
  ],
4098
4114
  "must_ask": true,
4099
- "note": "project sets save_input in workbench/intake.json and needs the INTAKE_STORE bucket bound to the app (a private R2 bucket <id>-intake per environment, in the projects account). Pass store: env.INTAKE_STORE on every call. Say who will be able to see the copies and for how long."
4115
+ "note": "project sets save_input in workbench/intake.json and needs the INTAKE_STORE bucket bound to the app: a private R2 bucket per environment (<id>-intake-staging, <id>-intake-production), made by new_project when its intake choice is yes, or by Workbench Control's cf_r2_bucket_create (use intake) for each environment, whose result gives the wrangler.jsonc binding. Pass store: env.INTAKE_STORE on every call. Say who will be able to see the copies and for how long."
4100
4116
  },
4101
4117
  {
4102
4118
  "id": "intake.check",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mccaskie-labs/workbench-config",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Workbench app configuration: WORKBENCH_ENV, typed variables that fail by name, secrets that are never printed, and the capabilities manifest.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",