@farmslot/protocol 0.11.1 → 0.13.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 (59) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +39 -21
  3. package/dist/contracts/config.d.ts +3 -0
  4. package/dist/contracts/config.d.ts.map +1 -1
  5. package/dist/contracts/config.js.map +1 -1
  6. package/dist/contracts/dispatch.d.ts +8 -0
  7. package/dist/contracts/dispatch.d.ts.map +1 -1
  8. package/dist/contracts/evals.d.ts +5 -1
  9. package/dist/contracts/evals.d.ts.map +1 -1
  10. package/dist/contracts/evals.js +40 -2
  11. package/dist/contracts/evals.js.map +1 -1
  12. package/dist/contracts/execution-templates.d.ts +73 -0
  13. package/dist/contracts/execution-templates.d.ts.map +1 -0
  14. package/dist/contracts/execution-templates.js +3 -0
  15. package/dist/contracts/execution-templates.js.map +1 -0
  16. package/dist/contracts/index.d.ts +1 -0
  17. package/dist/contracts/index.d.ts.map +1 -1
  18. package/dist/contracts/index.js +1 -0
  19. package/dist/contracts/index.js.map +1 -1
  20. package/dist/contracts/runs.d.ts +4 -0
  21. package/dist/contracts/runs.d.ts.map +1 -1
  22. package/dist/contracts/runs.js.map +1 -1
  23. package/dist/recipe/artifact.d.ts.map +1 -1
  24. package/dist/recipe/artifact.js +133 -4
  25. package/dist/recipe/artifact.js.map +1 -1
  26. package/dist/recipe/common.d.ts +7 -30
  27. package/dist/recipe/common.d.ts.map +1 -1
  28. package/dist/recipe/common.js +2 -1
  29. package/dist/recipe/common.js.map +1 -1
  30. package/dist/recipe/document.d.ts +0 -2
  31. package/dist/recipe/document.d.ts.map +1 -1
  32. package/dist/recipe/document.js +12 -33
  33. package/dist/recipe/document.js.map +1 -1
  34. package/dist/recipe/index.d.ts +1 -1
  35. package/dist/recipe/index.d.ts.map +1 -1
  36. package/dist/recipe/index.js +1 -1
  37. package/dist/recipe/index.js.map +1 -1
  38. package/dist/recipe/manifest.d.ts.map +1 -1
  39. package/dist/recipe/manifest.js +102 -253
  40. package/dist/recipe/manifest.js.map +1 -1
  41. package/dist/recipe/params.js +15 -15
  42. package/dist/recipe/params.js.map +1 -1
  43. package/dist/recipe/trust.d.ts +7 -1
  44. package/dist/recipe/trust.d.ts.map +1 -1
  45. package/dist/recipe/trust.js.map +1 -1
  46. package/dist/recipe/workflow.d.ts +3 -1
  47. package/dist/recipe/workflow.d.ts.map +1 -1
  48. package/dist/recipe/workflow.js +32 -7
  49. package/dist/recipe/workflow.js.map +1 -1
  50. package/dist/rpc/config.d.ts +7 -1
  51. package/dist/rpc/config.d.ts.map +1 -1
  52. package/dist/rpc/config.js.map +1 -1
  53. package/dist/rpc/dispatch.d.ts +9 -1
  54. package/dist/rpc/dispatch.d.ts.map +1 -1
  55. package/dist/rpc/run.d.ts +2 -0
  56. package/dist/rpc/run.d.ts.map +1 -1
  57. package/package.json +2 -1
  58. package/schemas/action-manifest-v1.schema.json +441 -0
  59. package/schemas/recipe-v1.schema.json +140 -35
@@ -1,54 +1,40 @@
1
- import { addFinding, BUILT_IN_UI_OBSERVER_SET, createContext, finishResult, isNonEmptyString, isRecord, OFFICIAL_ACTION_SET, RECIPE_PROTOCOL_SCHEMA_VERSION, } from './common.js';
1
+ import { addFinding, BUILT_IN_UI_OBSERVER_SET, createContext, finishResult, isNonEmptyString, isRecord, OFFICIAL_ACTION_SET, RECIPE_ACTION_MANIFEST_SCHEMA_URL, } from './common.js';
2
2
  import { validateRecipeParams, validateRecipeParamsSchema } from './params.js';
3
3
  import { RECIPE_EXECUTION_CAPABILITIES } from './trust.js';
4
- import { getRecipeActionParams } from './workflow.js';
4
+ import { getRecipeActionParams, isDynamicRecipeRef, validateRecipeActionCases, validateRecipeWorkflowNode, } from './workflow.js';
5
5
  const recipeExecutionCapabilitySet = new Set(RECIPE_EXECUTION_CAPABILITIES);
6
- const ACTION_MANIFEST_FIELDS = new Set([
7
- 'runner_protocol_version',
8
- 'action_registry_version',
9
- 'supported_official_actions',
10
- 'action_metadata',
11
- 'custom_actions',
12
- 'native_bindings',
13
- 'capabilities',
14
- 'observers',
6
+ const ACTION_MANIFEST_FIELDS = new Set(['$schema', 'actions', 'observers']);
7
+ const ACTION_ENTRY_FIELDS = new Set([
8
+ 'description',
9
+ 'schema',
10
+ 'result_cases',
11
+ 'examples',
12
+ 'execution_capabilities',
15
13
  ]);
14
+ const OBSERVER_FIELDS = new Set(['ref', 'default_for']);
16
15
  export function getRecipeActionManifestActionNames(manifest) {
17
- if (!isRecord(manifest))
16
+ if (!isRecord(manifest) || !isRecord(manifest.actions))
18
17
  return [];
19
- const actionNames = new Set();
20
- if (Array.isArray(manifest.supported_official_actions)) {
21
- for (const action of manifest.supported_official_actions) {
22
- if (isNonEmptyString(action))
23
- actionNames.add(action);
24
- }
25
- }
26
- if (Array.isArray(manifest.custom_actions)) {
27
- for (const action of manifest.custom_actions) {
28
- if (isRecord(action) && isNonEmptyString(action.name))
29
- actionNames.add(action.name);
30
- }
18
+ return Object.keys(manifest.actions).sort();
19
+ }
20
+ function rejectUnknownFields(ctx, value, allowed, path, code) {
21
+ for (const field of Object.keys(value)) {
22
+ if (allowed.has(field))
23
+ continue;
24
+ addFinding(ctx, 'error', code, `${path}.${field}`, `${path} does not support ${field}.`);
31
25
  }
32
- return [...actionNames].sort();
33
26
  }
34
- function validateActionCatalogEntry(ctx, entry, path, expectedAction, schemaRequired = true) {
27
+ function validateActionCatalogEntry(ctx, action, entry, path) {
35
28
  if (!isRecord(entry)) {
36
- addFinding(ctx, 'error', 'action_manifest.invalid_action_metadata', path, `${path} must be an object.`);
29
+ addFinding(ctx, 'error', 'action_manifest.invalid_action', path, `${path} must be an object.`);
37
30
  return;
38
31
  }
39
- for (const stringField of [
40
- 'description',
41
- 'when_to_use',
42
- 'avoid_when',
43
- 'proof_effect',
44
- 'safety_notes',
45
- ]) {
46
- const value = entry[stringField];
47
- if (value != null && typeof value !== 'string') {
48
- addFinding(ctx, 'error', 'action_manifest.invalid_metadata_field', `${path}.${stringField}`, `${path}.${stringField} must be a string when present.`);
49
- }
32
+ rejectUnknownFields(ctx, entry, ACTION_ENTRY_FIELDS, path, 'action_manifest.unsupported_action_field');
33
+ if (!isNonEmptyString(entry.description)) {
34
+ addFinding(ctx, 'error', 'action_manifest.missing_description', `${path}.description`, `${path}.description must be a non-empty string.`);
50
35
  }
51
- if (entry.schema == null) {
36
+ const schemaRequired = action !== 'call' && action !== 'end';
37
+ if (!Object.hasOwn(entry, 'schema')) {
52
38
  if (schemaRequired) {
53
39
  addFinding(ctx, 'error', 'action_manifest.missing_schema', `${path}.schema`, `${path}.schema is required so action parameters can be validated before execution.`);
54
40
  }
@@ -57,13 +43,13 @@ function validateActionCatalogEntry(ctx, entry, path, expectedAction, schemaRequ
57
43
  addFinding(ctx, 'error', 'action_manifest.invalid_schema', `${path}.schema`, `${path}.schema must be a JSON Schema object when present.`);
58
44
  }
59
45
  else {
60
- const schemaResult = validateRecipeParamsSchema(entry.schema, { requireClosedRoot: false });
46
+ const schemaResult = validateRecipeParamsSchema(entry.schema);
61
47
  ctx.findings.push(...schemaResult.findings.map((finding) => ({
62
48
  ...finding,
63
49
  path: `${path}.schema${finding.path === 'paramsSchema' ? '' : finding.path.replace(/^paramsSchema/u, '')}`,
64
50
  })));
65
51
  }
66
- if (entry.result_cases != null) {
52
+ if (Object.hasOwn(entry, 'result_cases')) {
67
53
  if (!Array.isArray(entry.result_cases) ||
68
54
  entry.result_cases.length === 0 ||
69
55
  entry.result_cases.some((value) => !isNonEmptyString(value)) ||
@@ -71,9 +57,10 @@ function validateActionCatalogEntry(ctx, entry, path, expectedAction, schemaRequ
71
57
  addFinding(ctx, 'error', 'action_manifest.invalid_result_cases', `${path}.result_cases`, `${path}.result_cases must be a non-empty array of unique case names.`);
72
58
  }
73
59
  }
74
- if (entry.execution_capabilities != null) {
75
- if (!Array.isArray(entry.execution_capabilities)) {
76
- addFinding(ctx, 'error', 'action_manifest.invalid_execution_capabilities', `${path}.execution_capabilities`, `${path}.execution_capabilities must be an array when present.`);
60
+ if (Object.hasOwn(entry, 'execution_capabilities')) {
61
+ if (!Array.isArray(entry.execution_capabilities) ||
62
+ new Set(entry.execution_capabilities).size !== entry.execution_capabilities.length) {
63
+ addFinding(ctx, 'error', 'action_manifest.invalid_execution_capabilities', `${path}.execution_capabilities`, `${path}.execution_capabilities must be an array of unique capabilities.`);
77
64
  }
78
65
  else {
79
66
  entry.execution_capabilities.forEach((capability, index) => {
@@ -83,249 +70,111 @@ function validateActionCatalogEntry(ctx, entry, path, expectedAction, schemaRequ
83
70
  });
84
71
  }
85
72
  }
86
- if (entry.examples == null)
87
- return;
88
- if (!Array.isArray(entry.examples)) {
89
- addFinding(ctx, 'error', 'action_manifest.invalid_examples', `${path}.examples`, `${path}.examples must be an array when present.`);
73
+ if (!Array.isArray(entry.examples) || entry.examples.length === 0) {
74
+ addFinding(ctx, 'error', 'action_manifest.missing_examples', `${path}.examples`, `${path}.examples must contain at least one copyable recipe node.`);
90
75
  return;
91
76
  }
92
77
  entry.examples.forEach((example, index) => {
93
78
  const examplePath = `${path}.examples[${index}]`;
94
79
  if (!isRecord(example)) {
95
- addFinding(ctx, 'error', 'action_manifest.invalid_example', examplePath, `${examplePath} must be an object.`);
96
- return;
97
- }
98
- if (example.description != null && typeof example.description !== 'string') {
99
- addFinding(ctx, 'error', 'action_manifest.invalid_example_description', `${examplePath}.description`, `${examplePath}.description must be a string when present.`);
100
- }
101
- if (!isRecord(example.node)) {
102
- addFinding(ctx, 'error', 'action_manifest.invalid_example_node', `${examplePath}.node`, `${examplePath}.node must be an object.`);
80
+ addFinding(ctx, 'error', 'action_manifest.invalid_example', examplePath, `${examplePath} must be a recipe node object.`);
103
81
  return;
104
82
  }
105
- if (!isNonEmptyString(example.node.action)) {
106
- addFinding(ctx, 'error', 'action_manifest.invalid_example_action', `${examplePath}.node.action`, `${examplePath}.node.action must be a non-empty string.`);
107
- }
108
- else if (expectedAction && example.node.action !== expectedAction) {
109
- addFinding(ctx, 'error', 'action_manifest.example_action_mismatch', `${examplePath}.node.action`, `Example action ${example.node.action} must match declared action ${expectedAction}.`);
83
+ if (example.action !== action) {
84
+ addFinding(ctx, 'error', 'action_manifest.example_action_mismatch', `${examplePath}.action`, `${examplePath}.action must equal ${action}.`);
110
85
  }
86
+ const nodeResult = validateRecipeWorkflowNode('example', example);
87
+ ctx.findings.push(...nodeResult.findings.map((finding) => ({
88
+ ...finding,
89
+ path: finding.path.replace(/^workflow\.nodes\.example/u, examplePath),
90
+ })));
91
+ if (action === 'call' && isNonEmptyString(example.ref) && isDynamicRecipeRef(example.ref)) {
92
+ addFinding(ctx, 'error', 'workflow.dynamic_call_ref', `${examplePath}.ref`, 'call.ref must be static so dependencies can be resolved and trusted before execution.');
93
+ }
94
+ const resultCases = Array.isArray(entry.result_cases)
95
+ ? entry.result_cases.filter(isNonEmptyString)
96
+ : undefined;
97
+ const casesResult = validateRecipeActionCases(example, action, resultCases, examplePath);
98
+ ctx.findings.push(...casesResult.findings);
111
99
  if (isRecord(entry.schema)) {
112
- const paramsResult = validateRecipeParams(getRecipeActionParams(example.node), entry.schema, {
100
+ const paramsResult = validateRecipeParams(getRecipeActionParams(example), entry.schema, {
113
101
  allowTemplates: true,
114
102
  });
115
103
  ctx.findings.push(...paramsResult.findings.map((finding) => ({
116
104
  ...finding,
117
- path: `${examplePath}.node${finding.path === 'params' ? '' : finding.path.replace(/^params/u, '')}`,
105
+ path: `${examplePath}${finding.path === 'params' ? '' : finding.path.replace(/^params/u, '')}`,
118
106
  })));
119
107
  }
120
108
  });
121
109
  }
122
- export function validateRecipeActionManifestDocument(manifest) {
123
- const ctx = createContext();
124
- if (!isRecord(manifest)) {
125
- addFinding(ctx, 'error', 'action_manifest.invalid_document', '$', 'Recipe action manifest must be a JSON object.');
126
- return finishResult(ctx);
127
- }
128
- for (const field of Object.keys(manifest)) {
129
- if (!ACTION_MANIFEST_FIELDS.has(field)) {
130
- addFinding(ctx, 'error', 'action_manifest.unsupported_field', field, `Recipe action manifests do not support ${field}.`);
131
- }
132
- }
133
- if (manifest.runner_protocol_version !== RECIPE_PROTOCOL_SCHEMA_VERSION) {
134
- addFinding(ctx, 'error', 'action_manifest.invalid_runner_protocol_version', 'runner_protocol_version', `runner_protocol_version must equal ${RECIPE_PROTOCOL_SCHEMA_VERSION}.`);
110
+ function validateObserver(ctx, observer, index, declaredActions, declaredObservers) {
111
+ const path = `observers[${index}]`;
112
+ if (!isRecord(observer)) {
113
+ addFinding(ctx, 'error', 'action_manifest.invalid_observer', path, `${path} must be an object.`);
114
+ return;
135
115
  }
136
- if (manifest.action_registry_version !== RECIPE_PROTOCOL_SCHEMA_VERSION) {
137
- addFinding(ctx, 'error', 'action_manifest.invalid_action_registry_version', 'action_registry_version', `action_registry_version must equal ${RECIPE_PROTOCOL_SCHEMA_VERSION}.`);
138
- }
139
- const declaredActions = new Set();
140
- const officialActions = manifest.supported_official_actions;
141
- if (!Array.isArray(officialActions) || officialActions.length === 0) {
142
- addFinding(ctx, 'error', 'action_manifest.invalid_supported_official_actions', 'supported_official_actions', 'supported_official_actions must be a non-empty array.');
116
+ rejectUnknownFields(ctx, observer, OBSERVER_FIELDS, path, 'action_manifest.unsupported_observer_field');
117
+ if (!isNonEmptyString(observer.ref)) {
118
+ addFinding(ctx, 'error', 'action_manifest.invalid_observer_ref', `${path}.ref`, `${path}.ref must be a non-empty string.`);
143
119
  }
144
120
  else {
145
- officialActions.forEach((action, index) => {
146
- const path = `supported_official_actions[${index}]`;
147
- if (!isNonEmptyString(action)) {
148
- addFinding(ctx, 'error', 'action_manifest.invalid_supported_action', path, `${path} must be a non-empty string.`);
149
- return;
150
- }
151
- if (!OFFICIAL_ACTION_SET.has(action)) {
152
- addFinding(ctx, 'error', 'action_manifest.unknown_official_action', path, `${action} is not in the Farmslot v1 official action registry.`);
153
- }
154
- if (declaredActions.has(action)) {
155
- addFinding(ctx, 'error', 'action_manifest.duplicate_action', path, `${action} is declared more than once.`);
156
- }
157
- declaredActions.add(action);
158
- });
159
- }
160
- const customActions = manifest.custom_actions;
161
- if (customActions != null) {
162
- if (!Array.isArray(customActions)) {
163
- addFinding(ctx, 'error', 'action_manifest.invalid_custom_actions', 'custom_actions', 'custom_actions must be an array when present.');
121
+ if (!BUILT_IN_UI_OBSERVER_SET.has(observer.ref) && !observer.ref.includes('.')) {
122
+ addFinding(ctx, 'error', 'action_manifest.invalid_observer_ref', `${path}.ref`, `${observer.ref} must be a built-in UI observer ref or a namespaced custom ref.`);
164
123
  }
165
- else {
166
- customActions.forEach((action, index) => {
167
- const path = `custom_actions[${index}]`;
168
- if (!isRecord(action)) {
169
- addFinding(ctx, 'error', 'action_manifest.invalid_custom_action', path, `${path} must be an object.`);
170
- return;
171
- }
172
- if (!isNonEmptyString(action.name)) {
173
- addFinding(ctx, 'error', 'action_manifest.invalid_custom_action_name', `${path}.name`, `${path}.name must be a non-empty string.`);
174
- }
175
- else {
176
- if (!/^[a-z0-9]+(?:[._-][a-z0-9]+)+$/u.test(action.name)) {
177
- addFinding(ctx, 'error', 'action_manifest.custom_action_not_namespaced', `${path}.name`, `${action.name} must be a lowercase namespaced action such as wallet.unlock.`);
178
- }
179
- if (OFFICIAL_ACTION_SET.has(action.name)) {
180
- addFinding(ctx, 'error', 'action_manifest.custom_action_overlaps_official', `${path}.name`, `${action.name} is official and must be declared in supported_official_actions.`);
181
- }
182
- if (declaredActions.has(action.name)) {
183
- addFinding(ctx, 'error', 'action_manifest.duplicate_action', `${path}.name`, `${action.name} is declared more than once.`);
184
- }
185
- declaredActions.add(action.name);
186
- }
187
- validateActionCatalogEntry(ctx, action, path, isNonEmptyString(action.name) ? action.name : undefined);
188
- if (!Object.hasOwn(action, 'execution_capabilities')) {
189
- addFinding(ctx, 'error', 'action_manifest.missing_execution_capabilities', `${path}.execution_capabilities`, 'Custom actions must explicitly declare execution_capabilities, including an empty array for read-only actions.');
190
- }
191
- });
124
+ if (declaredObservers.has(observer.ref)) {
125
+ addFinding(ctx, 'error', 'action_manifest.duplicate_observer', `${path}.ref`, `${observer.ref} is declared more than once.`);
192
126
  }
127
+ declaredObservers.add(observer.ref);
193
128
  }
194
- if (manifest.action_metadata != null) {
195
- if (!isRecord(manifest.action_metadata)) {
196
- addFinding(ctx, 'error', 'action_manifest.invalid_action_metadata', 'action_metadata', 'action_metadata must be an object when present.');
197
- }
198
- else {
199
- const declaredOfficialActions = new Set(Array.isArray(officialActions)
200
- ? officialActions.filter((action) => isNonEmptyString(action))
201
- : []);
202
- for (const [action, metadata] of Object.entries(manifest.action_metadata)) {
203
- if (!declaredOfficialActions.has(action)) {
204
- addFinding(ctx, 'error', 'action_manifest.metadata_for_undeclared_action', `action_metadata.${action}`, `action_metadata may describe only supported_official_actions; declare ${action} once in custom_actions instead.`);
205
- }
206
- validateActionCatalogEntry(ctx, metadata, `action_metadata.${action}`, action, action !== 'call' && action !== 'end');
207
- }
208
- }
129
+ if (!Array.isArray(observer.default_for) ||
130
+ observer.default_for.length === 0 ||
131
+ new Set(observer.default_for).size !== observer.default_for.length) {
132
+ addFinding(ctx, 'error', 'action_manifest.invalid_observer_default_for', `${path}.default_for`, `${path}.default_for must be a non-empty array of unique declared actions.`);
133
+ return;
209
134
  }
210
- for (const action of declaredActions) {
211
- if (action === 'call' || action === 'end')
212
- continue;
213
- const isCustom = Array.isArray(customActions)
214
- ? customActions.some((entry) => isRecord(entry) && entry.name === action)
215
- : false;
216
- if (isCustom)
217
- continue;
218
- if (!isRecord(manifest.action_metadata) || !isRecord(manifest.action_metadata[action])) {
219
- addFinding(ctx, 'error', 'action_manifest.missing_action_metadata', `action_metadata.${action}`, `Official action ${action} must declare metadata and a parameter schema.`);
135
+ observer.default_for.forEach((action, actionIndex) => {
136
+ if (!isNonEmptyString(action) ||
137
+ !declaredActions.has(action) ||
138
+ action === 'call' ||
139
+ action === 'end') {
140
+ addFinding(ctx, 'error', 'action_manifest.invalid_observer_default_for', `${path}.default_for[${actionIndex}]`, `${path}.default_for[${actionIndex}] must reference a declared executable action.`);
220
141
  }
142
+ });
143
+ }
144
+ export function validateRecipeActionManifestDocument(manifest) {
145
+ const ctx = createContext();
146
+ if (!isRecord(manifest)) {
147
+ addFinding(ctx, 'error', 'action_manifest.invalid_document', '$', 'Recipe action manifest must be a JSON object.');
148
+ return finishResult(ctx);
221
149
  }
222
- const nativeBindings = manifest.native_bindings;
223
- if (nativeBindings != null) {
224
- if (!Array.isArray(nativeBindings)) {
225
- addFinding(ctx, 'error', 'action_manifest.invalid_native_bindings', 'native_bindings', 'native_bindings must be an array when present.');
226
- }
227
- else {
228
- nativeBindings.forEach((binding, index) => {
229
- const path = `native_bindings[${index}]`;
230
- if (!isRecord(binding)) {
231
- addFinding(ctx, 'error', 'action_manifest.invalid_native_binding', path, `${path} must be an object.`);
232
- return;
233
- }
234
- if (!isNonEmptyString(binding.action)) {
235
- addFinding(ctx, 'error', 'action_manifest.invalid_native_binding_action', `${path}.action`, `${path}.action must be a non-empty string.`);
236
- }
237
- else if (!declaredActions.has(binding.action)) {
238
- addFinding(ctx, 'error', 'action_manifest.native_binding_for_undeclared_action', `${path}.action`, `Native binding action ${binding.action} is not declared by the manifest.`);
239
- }
240
- if (!isNonEmptyString(binding.implementation)) {
241
- addFinding(ctx, 'error', 'action_manifest.invalid_native_binding_implementation', `${path}.implementation`, `${path}.implementation must be a non-empty string.`);
242
- }
243
- });
244
- }
150
+ rejectUnknownFields(ctx, manifest, ACTION_MANIFEST_FIELDS, '$', 'action_manifest.unsupported_field');
151
+ if (manifest.$schema !== RECIPE_ACTION_MANIFEST_SCHEMA_URL) {
152
+ addFinding(ctx, 'error', 'action_manifest.invalid_schema_ref', '$schema', `$schema must equal ${RECIPE_ACTION_MANIFEST_SCHEMA_URL}.`);
245
153
  }
246
- const capabilities = manifest.capabilities;
247
- if (capabilities != null) {
248
- if (!Array.isArray(capabilities)) {
249
- addFinding(ctx, 'error', 'action_manifest.invalid_capabilities', 'capabilities', 'capabilities must be an array when present.');
154
+ if (!isRecord(manifest.actions) || Object.keys(manifest.actions).length === 0) {
155
+ addFinding(ctx, 'error', 'action_manifest.invalid_actions', 'actions', 'actions must be a non-empty object keyed by action name.');
156
+ return finishResult(ctx);
157
+ }
158
+ const declaredActions = new Set();
159
+ for (const [action, entry] of Object.entries(manifest.actions)) {
160
+ const path = `actions.${action}`;
161
+ if (!OFFICIAL_ACTION_SET.has(action) && !/^[a-z0-9]+(?:[._-][a-z0-9]+)+$/u.test(action)) {
162
+ addFinding(ctx, 'error', 'action_manifest.custom_action_not_namespaced', path, `${action} must be an official action or a lowercase namespaced custom action.`);
250
163
  }
251
- else {
252
- capabilities.forEach((capability, index) => {
253
- const path = `capabilities[${index}]`;
254
- if (!isRecord(capability)) {
255
- addFinding(ctx, 'error', 'action_manifest.invalid_capability', path, `${path} must be an object.`);
256
- return;
257
- }
258
- if (!isNonEmptyString(capability.capability)) {
259
- addFinding(ctx, 'error', 'action_manifest.invalid_capability_name', `${path}.capability`, `${path}.capability must be a non-empty string.`);
260
- }
261
- if (capability.status !== 'supported' &&
262
- capability.status !== 'unsupported' &&
263
- capability.status !== 'partial' &&
264
- capability.status !== 'planned') {
265
- addFinding(ctx, 'error', 'action_manifest.invalid_capability_status', `${path}.status`, `${path}.status must be supported, unsupported, partial, or planned.`);
266
- }
267
- for (const stringField of ['provider', 'reason']) {
268
- const value = capability[stringField];
269
- if (value != null && typeof value !== 'string') {
270
- addFinding(ctx, 'error', 'action_manifest.invalid_capability_field', `${path}.${stringField}`, `${path}.${stringField} must be a string when present.`);
271
- }
272
- }
273
- for (const arrayField of ['platforms', 'modes', 'artifactTypes']) {
274
- const value = capability[arrayField];
275
- if (value != null &&
276
- (!Array.isArray(value) || value.some((entry) => !isNonEmptyString(entry)))) {
277
- addFinding(ctx, 'error', 'action_manifest.invalid_capability_field', `${path}.${arrayField}`, `${path}.${arrayField} must be an array of non-empty strings when present.`);
278
- }
279
- }
280
- });
164
+ declaredActions.add(action);
165
+ validateActionCatalogEntry(ctx, action, entry, path);
166
+ if (!OFFICIAL_ACTION_SET.has(action) &&
167
+ (!isRecord(entry) || !Object.hasOwn(entry, 'execution_capabilities'))) {
168
+ addFinding(ctx, 'error', 'action_manifest.missing_execution_capabilities', `${path}.execution_capabilities`, 'Custom actions must explicitly declare execution_capabilities, including an empty array for read-only actions.');
281
169
  }
282
170
  }
283
- const observers = manifest.observers;
284
- if (observers != null) {
285
- if (!Array.isArray(observers)) {
171
+ if (Object.hasOwn(manifest, 'observers')) {
172
+ if (!Array.isArray(manifest.observers)) {
286
173
  addFinding(ctx, 'error', 'action_manifest.invalid_observers', 'observers', 'observers must be an array when present.');
287
174
  }
288
175
  else {
289
176
  const declaredObservers = new Set();
290
- observers.forEach((observer, index) => {
291
- const path = `observers[${index}]`;
292
- if (!isRecord(observer)) {
293
- addFinding(ctx, 'error', 'action_manifest.invalid_observer', path, `${path} must be an object.`);
294
- return;
295
- }
296
- if (!isNonEmptyString(observer.ref)) {
297
- addFinding(ctx, 'error', 'action_manifest.invalid_observer_ref', `${path}.ref`, `${path}.ref must be a non-empty string.`);
298
- }
299
- else {
300
- if (!BUILT_IN_UI_OBSERVER_SET.has(observer.ref) && !observer.ref.includes('.')) {
301
- addFinding(ctx, 'error', 'action_manifest.invalid_observer_ref', `${path}.ref`, `${observer.ref} must be a built-in UI observer ref or a namespaced custom ref.`);
302
- }
303
- if (declaredObservers.has(observer.ref)) {
304
- addFinding(ctx, 'error', 'action_manifest.duplicate_observer', `${path}.ref`, `${observer.ref} is declared more than once.`);
305
- }
306
- declaredObservers.add(observer.ref);
307
- }
308
- if (!isNonEmptyString(observer.description)) {
309
- addFinding(ctx, 'error', 'action_manifest.invalid_observer_description', `${path}.description`, `${path}.description must be a non-empty string.`);
310
- }
311
- if (observer.default_for != null) {
312
- if (!Array.isArray(observer.default_for)) {
313
- addFinding(ctx, 'error', 'action_manifest.invalid_observer_default_for', `${path}.default_for`, `${path}.default_for must be an array when present.`);
314
- }
315
- else {
316
- observer.default_for.forEach((action, actionIndex) => {
317
- if (!isNonEmptyString(action) || !declaredActions.has(action)) {
318
- addFinding(ctx, 'error', 'action_manifest.invalid_observer_default_for', `${path}.default_for[${actionIndex}]`, `${path}.default_for[${actionIndex}] must reference a declared action.`);
319
- }
320
- });
321
- }
322
- }
323
- for (const field of ['cost', 'redaction']) {
324
- if (observer[field] != null && typeof observer[field] !== 'string') {
325
- addFinding(ctx, 'error', 'action_manifest.invalid_observer_field', `${path}.${field}`, `${path}.${field} must be a string when present.`);
326
- }
327
- }
328
- });
177
+ manifest.observers.forEach((observer, index) => validateObserver(ctx, observer, index, declaredActions, declaredObservers));
329
178
  }
330
179
  }
331
180
  return finishResult(ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/recipe/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/recipe/manifest.ts"],"names":[],"mappings":"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"}
@@ -41,16 +41,19 @@ function validateObjectSchema(ctx, schema, path, supportedFields = OBJECT_SCHEMA
41
41
  if (exactObjectType ? schema.type !== 'object' : !schemaIncludesType(schema.type, 'object')) {
42
42
  addFinding(ctx, 'error', 'recipe.invalid_params_schema_type', `${path}.type`, `${path}.type must be object.`);
43
43
  }
44
- if (schema.additionalProperties != null && typeof schema.additionalProperties !== 'boolean') {
44
+ validateObjectSchemaKeywords(ctx, schema, path, exactObjectType, strictObjectBoundary);
45
+ }
46
+ function validateObjectSchemaKeywords(ctx, schema, path, requireAdditionalProperties = false, strictObjectBoundary = false) {
47
+ if (hasOwn(schema, 'additionalProperties') && typeof schema.additionalProperties !== 'boolean') {
45
48
  addFinding(ctx, 'error', 'recipe.invalid_params_additional_properties', `${path}.additionalProperties`, `${path}.additionalProperties must be a boolean.`);
46
49
  }
47
- else if (exactObjectType && schema.additionalProperties == null) {
50
+ else if (requireAdditionalProperties && !hasOwn(schema, 'additionalProperties')) {
48
51
  addFinding(ctx, 'error', 'recipe.missing_params_additional_properties', `${path}.additionalProperties`, `${path}.additionalProperties must explicitly declare whether unknown properties are allowed.`);
49
52
  }
50
53
  else if (strictObjectBoundary && schema.additionalProperties !== false) {
51
54
  addFinding(ctx, 'error', 'recipe.non_strict_params_schema', `${path}.additionalProperties`, `${path}.additionalProperties must be false.`);
52
55
  }
53
- if (schema.properties != null && !isRecord(schema.properties)) {
56
+ if (hasOwn(schema, 'properties') && !isRecord(schema.properties)) {
54
57
  addFinding(ctx, 'error', 'recipe.invalid_params_properties', `${path}.properties`, `${path}.properties must be an object.`);
55
58
  }
56
59
  const properties = isRecord(schema.properties) ? schema.properties : {};
@@ -60,7 +63,7 @@ function validateObjectSchema(ctx, schema, path, supportedFields = OBJECT_SCHEMA
60
63
  }
61
64
  validatePropertySchema(ctx, propertySchema, `${path}.properties.${name}`);
62
65
  }
63
- if (schema.required != null && !Array.isArray(schema.required)) {
66
+ if (hasOwn(schema, 'required') && !Array.isArray(schema.required)) {
64
67
  addFinding(ctx, 'error', 'recipe.invalid_params_required', `${path}.required`, `${path}.required must be an array of unique property names.`);
65
68
  }
66
69
  else if (Array.isArray(schema.required)) {
@@ -90,10 +93,10 @@ function validatePropertySchema(ctx, schema, path) {
90
93
  if (!isSupportedParamType(schema.type)) {
91
94
  addFinding(ctx, 'error', 'recipe.invalid_param_type', `${path}.type`, `${path}.type must be a supported type or a non-empty array of supported types.`);
92
95
  }
93
- if (schema.description != null && typeof schema.description !== 'string') {
96
+ if (hasOwn(schema, 'description') && typeof schema.description !== 'string') {
94
97
  addFinding(ctx, 'error', 'recipe.invalid_param_description', `${path}.description`, `${path}.description must be a string.`);
95
98
  }
96
- if (schema.enum != null) {
99
+ if (hasOwn(schema, 'enum')) {
97
100
  const enumValues = schema.enum;
98
101
  if (!Array.isArray(enumValues) || enumValues.length === 0) {
99
102
  addFinding(ctx, 'error', 'recipe.invalid_param_enum', `${path}.enum`, `${path}.enum must be a non-empty array.`);
@@ -124,15 +127,12 @@ function validatePropertySchema(ctx, schema, path) {
124
127
  validateNestedStructuredValue(ctx, schema.default, schema, `${path}.default`);
125
128
  }
126
129
  }
127
- if (schemaIncludesType(schema.type, 'object'))
128
- validateObjectSchema(ctx, schema, path, PARAM_SCHEMA_FIELDS, false);
129
- if (schemaIncludesType(schema.type, 'array')) {
130
- if (schema.items == null) {
131
- addFinding(ctx, 'error', 'recipe.missing_param_items', `${path}.items`, `${path}.items is required for array parameters.`);
132
- }
133
- else {
134
- validatePropertySchema(ctx, schema.items, `${path}.items`);
135
- }
130
+ validateObjectSchemaKeywords(ctx, schema, path);
131
+ if (hasOwn(schema, 'items')) {
132
+ validatePropertySchema(ctx, schema.items, `${path}.items`);
133
+ }
134
+ else if (schemaIncludesType(schema.type, 'array')) {
135
+ addFinding(ctx, 'error', 'recipe.missing_param_items', `${path}.items`, `${path}.items is required for array parameters.`);
136
136
  }
137
137
  }
138
138
  function validateNestedStructuredValue(ctx, value, schema, path) {
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/recipe/params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/recipe/params.ts"],"names":[],"mappings":"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"}