@farmslot/agent-runtime 0.3.1 → 0.5.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 (49) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/bin/farmslot-agent.mjs +1 -1
  3. package/dist/execution-template/create.d.ts.map +1 -1
  4. package/dist/execution-template/create.js +9 -1
  5. package/dist/execution-template/create.js.map +1 -1
  6. package/dist/execution-template/execution-template.test.js +309 -1
  7. package/dist/execution-template/execution-template.test.js.map +1 -1
  8. package/dist/execution-template/frontmatter.d.ts.map +1 -1
  9. package/dist/execution-template/frontmatter.js +19 -4
  10. package/dist/execution-template/frontmatter.js.map +1 -1
  11. package/dist/execution-template/index.d.ts +8 -1
  12. package/dist/execution-template/index.d.ts.map +1 -1
  13. package/dist/execution-template/index.js +5 -0
  14. package/dist/execution-template/index.js.map +1 -1
  15. package/dist/execution-template/infer.d.ts.map +1 -1
  16. package/dist/execution-template/infer.js +14 -1
  17. package/dist/execution-template/infer.js.map +1 -1
  18. package/dist/execution-template/lint.d.ts.map +1 -1
  19. package/dist/execution-template/lint.js +8 -0
  20. package/dist/execution-template/lint.js.map +1 -1
  21. package/dist/execution-template/project-worker.d.ts +19 -0
  22. package/dist/execution-template/project-worker.d.ts.map +1 -0
  23. package/dist/execution-template/project-worker.js +143 -0
  24. package/dist/execution-template/project-worker.js.map +1 -0
  25. package/dist/execution-template/resolve.d.ts +1 -1
  26. package/dist/execution-template/resolve.d.ts.map +1 -1
  27. package/dist/execution-template/resolve.js +12 -2
  28. package/dist/execution-template/resolve.js.map +1 -1
  29. package/dist/execution-template/select.d.ts +8 -0
  30. package/dist/execution-template/select.d.ts.map +1 -0
  31. package/dist/execution-template/select.js +80 -0
  32. package/dist/execution-template/select.js.map +1 -0
  33. package/dist/execution-template/snapshot.d.ts +13 -0
  34. package/dist/execution-template/snapshot.d.ts.map +1 -0
  35. package/dist/execution-template/snapshot.js +46 -0
  36. package/dist/execution-template/snapshot.js.map +1 -0
  37. package/dist/execution-template/source-config.d.ts +19 -0
  38. package/dist/execution-template/source-config.d.ts.map +1 -0
  39. package/dist/execution-template/source-config.js +90 -0
  40. package/dist/execution-template/source-config.js.map +1 -0
  41. package/dist/execution-template/types.d.ts +38 -1
  42. package/dist/execution-template/types.d.ts.map +1 -1
  43. package/dist/execution-template/types.js +7 -2
  44. package/dist/execution-template/types.js.map +1 -1
  45. package/package.json +4 -3
  46. package/scripts/check-task-artifact-contract.mjs +112 -33
  47. package/scripts/checklist-target.cjs +13 -0
  48. package/scripts/execution-template-cli.mjs +150 -19
  49. package/scripts/mark-checklist-step.cjs +16 -6
@@ -2,6 +2,13 @@ export { createExecutionTemplate } from './create.js';
2
2
  export { frontmatterPlatforms, frontmatterRunMode, normalizePlatforms, normalizeRunMode, parseMarkdownDocument, } from './frontmatter.js';
3
3
  export { catalogRelativeId, FARMSLOT_FLOW_PREFIXES, humanizeBasename, inferFlowFromBasename, inferFlowFromPath, inferPlatformsFromBasename, inferRunModeFromBasename, inferTemplateMetadata, } from './infer.js';
4
4
  export { lintExecutionTemplates, lintExecutionTemplateText } from './lint.js';
5
+ export type { ResolvedProjectWorkerTemplate } from './project-worker.js';
6
+ export { defaultProjectWorkerTemplateFileName, domainProjectWorkerTemplateFileName, listProjectWorkerTemplateOptions, normalizeProjectWorkerTemplateSelection, parseProjectWorkerTemplateFileName, PROJECT_WORKER_TEMPLATE_BY_FLOW, resolveProjectWorkerTemplate, resolveProjectWorkerTemplateForRun, } from './project-worker.js';
5
7
  export { customTemplateSource, listExecutionTemplates, packageFlowTreeTemplateSource, projectWorkerTemplateSource, } from './resolve.js';
6
- export type { CreateExecutionTemplateOptions, ExecutionRunMode, ExecutionTemplateEntry, ExecutionTemplateFrontmatter, ExecutionTemplateLayout, ExecutionTemplateSource, ExecutionTemplateSourceKind, LintExecutionTemplatesResult, LintIssue, ListExecutionTemplatesOptions, } from './types.js';
8
+ export { listCompatibleExecutionTemplates, selectExecutionTemplate } from './select.js';
9
+ export { executionTemplateReference, materializeExecutionTemplate, readExecutionTemplateSnapshot, sha256Text, } from './snapshot.js';
10
+ export type { ResolveConfiguredExecutionTemplateSourcesOptions, ResolvedExecutionTemplateSources, UnavailableExecutionTemplateSource, } from './source-config.js';
11
+ export { executionTemplateSourceDirty, executionTemplateSourceRevision, resolveConfiguredExecutionTemplateSources, } from './source-config.js';
12
+ export type { CreateExecutionTemplateOptions, ExecutionRunMode, ExecutionTemplateEntry, ExecutionTemplateFrontmatter, ExecutionTemplateLayout, ExecutionTemplateSelectionErrorCode, ExecutionTemplateSelectionReason, ExecutionTemplateSource, ExecutionTemplateSourceKind, LintExecutionTemplatesResult, LintIssue, ListCompatibleExecutionTemplatesOptions, ListExecutionTemplatesOptions, SelectedExecutionTemplate, SelectExecutionTemplateOptions, } from './types.js';
13
+ export { ExecutionTemplateSelectionError } from './types.js';
7
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution-template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,SAAS,EACT,6BAA6B,GAC9B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution-template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9E,YAAY,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,gCAAgC,EAChC,uCAAuC,EACvC,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,gDAAgD,EAChD,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yCAAyC,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,mCAAmC,EACnC,gCAAgC,EAChC,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,SAAS,EACT,uCAAuC,EACvC,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC"}
@@ -2,5 +2,10 @@ export { createExecutionTemplate } from './create.js';
2
2
  export { frontmatterPlatforms, frontmatterRunMode, normalizePlatforms, normalizeRunMode, parseMarkdownDocument, } from './frontmatter.js';
3
3
  export { catalogRelativeId, FARMSLOT_FLOW_PREFIXES, humanizeBasename, inferFlowFromBasename, inferFlowFromPath, inferPlatformsFromBasename, inferRunModeFromBasename, inferTemplateMetadata, } from './infer.js';
4
4
  export { lintExecutionTemplates, lintExecutionTemplateText } from './lint.js';
5
+ export { defaultProjectWorkerTemplateFileName, domainProjectWorkerTemplateFileName, listProjectWorkerTemplateOptions, normalizeProjectWorkerTemplateSelection, parseProjectWorkerTemplateFileName, PROJECT_WORKER_TEMPLATE_BY_FLOW, resolveProjectWorkerTemplate, resolveProjectWorkerTemplateForRun, } from './project-worker.js';
5
6
  export { customTemplateSource, listExecutionTemplates, packageFlowTreeTemplateSource, projectWorkerTemplateSource, } from './resolve.js';
7
+ export { listCompatibleExecutionTemplates, selectExecutionTemplate } from './select.js';
8
+ export { executionTemplateReference, materializeExecutionTemplate, readExecutionTemplateSnapshot, sha256Text, } from './snapshot.js';
9
+ export { executionTemplateSourceDirty, executionTemplateSourceRevision, resolveConfiguredExecutionTemplateSources, } from './source-config.js';
10
+ export { ExecutionTemplateSelectionError } from './types.js';
6
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution-template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution-template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,gCAAgC,EAChC,uCAAuC,EACvC,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,UAAU,GACX,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,yCAAyC,GAC1C,MAAM,oBAAoB,CAAC;AAkB5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/execution-template/infer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,sIAUzB,CAAC;AAIX,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAelF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAS/F;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CA4C7C"}
1
+ {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/execution-template/infer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,sIAUzB,CAAC;AAIX,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAelF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAS/F;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAyD7C"}
@@ -1,5 +1,7 @@
1
1
  import path from 'node:path';
2
+ import { EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX } from '@farmslot/protocol';
2
3
  import { frontmatterPlatforms, frontmatterRunMode, parseMarkdownDocument, } from './frontmatter.js';
4
+ import { sha256Text } from './snapshot.js';
3
5
  /** Longest-first so `fix-bug` / `pr-complete` / `self-review` win over shorter prefixes. */
4
6
  export const FARMSLOT_FLOW_PREFIXES = [
5
7
  'self-review-fix',
@@ -96,16 +98,24 @@ export function inferTemplateMetadata(input) {
96
98
  const id = idFromFm || catalogRelativeId(input.relativePath, input.source.layout);
97
99
  const titleFromFm = typeof fm?.title === 'string' ? fm.title.trim() : '';
98
100
  const title = titleFromFm || parsed.heading || humanizeBasename(basename);
101
+ const descriptionFromFm = typeof fm?.description === 'string' ? fm.description.trim() : '';
99
102
  const versionRaw = fm?.version;
100
103
  const version = versionRaw == null || versionRaw === '' ? '1' : String(versionRaw);
101
104
  const runMode = frontmatterRunMode(fm) ?? inferRunModeFromBasename(basename);
102
105
  const platforms = frontmatterPlatforms(fm) ?? inferPlatformsFromBasename(basename) ?? ['*'];
103
- const labels = Array.isArray(fm?.labels)
106
+ const frontmatterLabels = Array.isArray(fm?.labels)
104
107
  ? fm.labels.filter((item) => typeof item === 'string')
105
108
  : [];
109
+ const labels = [
110
+ ...new Set([
111
+ ...frontmatterLabels,
112
+ ...(input.source.domains ?? []).map((domain) => `${EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX}${domain}`),
113
+ ]),
114
+ ];
106
115
  return {
107
116
  id,
108
117
  title,
118
+ ...(descriptionFromFm ? { description: descriptionFromFm } : {}),
109
119
  flow,
110
120
  version,
111
121
  runMode,
@@ -115,6 +125,9 @@ export function inferTemplateMetadata(input) {
115
125
  relativePath: input.relativePath.replace(/\\/g, '/'),
116
126
  sourceId: input.source.id,
117
127
  sourceKind: input.source.kind,
128
+ sha256: sha256Text(input.text),
129
+ sourceRevision: input.source.sourceRevision,
130
+ sourceDirty: input.source.sourceDirty,
118
131
  frontmatter: fm,
119
132
  heading: parsed.heading,
120
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"infer.js","sourceRoot":"","sources":["../../src/execution-template/infer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer.js","sourceRoot":"","sources":["../../src/execution-template/infer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAElB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAS3C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,WAAW;IACX,eAAe;IACf,aAAa;IACb,cAAc;IACd,QAAQ;IACR,KAAK;CACG,CAAC;AAEX,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAEnE,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,QAAQ;SACZ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SAC1C,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;QAC1C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,qEAAqE;IACrE,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACvE,IAAK,sBAA4C,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAClF,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,yEAAyE;IACzE,2EAA2E;IAC3E,6DAA6D;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,MAA+B;IACrF,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,GAAG,IAAI,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAKrC;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,MAAM,GAA2B,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,GAAwC,MAAM,CAAC,WAAW,CAAC;IAEnE,MAAM,UAAU,GAAG,OAAO,EAAE,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;QACjC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC5D,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,IAAI,GAAG,UAAU,IAAI,WAAW,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IAEvF,MAAM,QAAQ,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,EAAE,GAAG,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElF,MAAM,WAAW,GAAG,OAAO,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,KAAK,GAAG,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,OAAO,EAAE,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3F,MAAM,UAAU,GAAG,EAAE,EAAE,OAAO,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEnF,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAE7E,MAAM,SAAS,GAAG,oBAAoB,CAAC,EAAE,CAAC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5F,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG;QACb,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,iBAAiB;YACpB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CACjC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,sCAAsC,GAAG,MAAM,EAAE,CACjE;SACF,CAAC;KACH,CAAC;IAEF,OAAO;QACL,EAAE;QACF,KAAK;QACL,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI;QACJ,OAAO;QACP,OAAO;QACP,SAAS;QACT,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,YAAY;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACpD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QAC7B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAC3C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/execution-template/lint.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA2B1E,wGAAwG;AACxG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CA0HrF;AAMD,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,4BAA4B,CAsDnF"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/execution-template/lint.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA2B1E,wGAAwG;AACxG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAoIrF;AAMD,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,4BAA4B,CAsDnF"}
@@ -115,6 +115,14 @@ export function lintExecutionTemplateText(filePath, text) {
115
115
  message: 'frontmatter flow must be a string',
116
116
  });
117
117
  }
118
+ if (frontmatter.description != null &&
119
+ (typeof frontmatter.description !== 'string' || !frontmatter.description.trim())) {
120
+ issues.push({
121
+ path: filePath,
122
+ severity: 'error',
123
+ message: 'frontmatter description must be a non-empty string',
124
+ });
125
+ }
118
126
  }
119
127
  const lines = body.split(/\r?\n/);
120
128
  let checkboxCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/execution-template/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/execution-template/lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type TaskTemplateSelection, type TaskTemplateSelectionSource, type WorkerTemplateOption } from '@farmslot/protocol';
2
+ export declare const PROJECT_WORKER_TEMPLATE_BY_FLOW: Record<string, string>;
3
+ export interface ResolvedProjectWorkerTemplate extends WorkerTemplateOption {
4
+ templatePath: string;
5
+ content: string;
6
+ selectionSource: TaskTemplateSelectionSource;
7
+ selectionReason: string;
8
+ }
9
+ export declare function defaultProjectWorkerTemplateFileName(flow: string): string;
10
+ export declare function parseProjectWorkerTemplateFileName(flow: string, fileName: string): {
11
+ variant: string | null;
12
+ isDefault: boolean;
13
+ } | null;
14
+ export declare function listProjectWorkerTemplateOptions(projectTemplatesDir: string, flow: string): Promise<WorkerTemplateOption[]>;
15
+ export declare function normalizeProjectWorkerTemplateSelection(flow: string, selection: TaskTemplateSelection): TaskTemplateSelection;
16
+ export declare function resolveProjectWorkerTemplate(projectTemplatesDir: string, flow: string, selection?: TaskTemplateSelection | null, source?: TaskTemplateSelectionSource, reason?: string): Promise<ResolvedProjectWorkerTemplate>;
17
+ export declare function domainProjectWorkerTemplateFileName(flow: string, domain: string): string | null;
18
+ export declare function resolveProjectWorkerTemplateForRun(projectTemplatesDir: string, flow: string, mode?: 'interactive' | 'autonomous' | 'validation', selection?: TaskTemplateSelection | null, domain?: string): Promise<ResolvedProjectWorkerTemplate>;
19
+ //# sourceMappingURL=project-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-worker.d.ts","sourceRoot":"","sources":["../../src/execution-template/project-worker.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,+BAA+B,wBAAkC,CAAC;AAQ/E,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,2BAA2B,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CASvD;AAwBD,wBAAsB,gCAAgC,CACpD,mBAAmB,EAAE,MAAM,EAC3B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWjC;AAED,wBAAgB,uCAAuC,CACrD,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,qBAAqB,GAC/B,qBAAqB,CAoBvB;AAED,wBAAsB,4BAA4B,CAChD,mBAAmB,EAAE,MAAM,EAC3B,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,qBAAqB,GAAG,IAAI,EACxC,MAAM,CAAC,EAAE,2BAA2B,EACpC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,6BAA6B,CAAC,CA6BxC;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/F;AAsBD,wBAAsB,kCAAkC,CACtD,mBAAmB,EAAE,MAAM,EAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,YAAY,EAClD,SAAS,CAAC,EAAE,qBAAqB,GAAG,IAAI,EACxC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,6BAA6B,CAAC,CAsCxC"}
@@ -0,0 +1,143 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { access, readdir, readFile } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { DEFAULT_WORKER_TEMPLATE_BY_FLOW, } from '@farmslot/protocol';
5
+ export const PROJECT_WORKER_TEMPLATE_BY_FLOW = DEFAULT_WORKER_TEMPLATE_BY_FLOW;
6
+ const INTERACTIVE_PROJECT_WORKER_TEMPLATE_BY_FLOW = {
7
+ 'fix-bug': 'fix-bug-interactive.md',
8
+ dev: 'dev-interactive.md',
9
+ 'pr-complete': 'pr-complete-interactive.md',
10
+ };
11
+ export function defaultProjectWorkerTemplateFileName(flow) {
12
+ return PROJECT_WORKER_TEMPLATE_BY_FLOW[flow] ?? `${flow}.md`;
13
+ }
14
+ export function parseProjectWorkerTemplateFileName(flow, fileName) {
15
+ if (path.basename(fileName) !== fileName || !fileName.endsWith('.md'))
16
+ return null;
17
+ const defaultFileName = defaultProjectWorkerTemplateFileName(flow);
18
+ if (fileName === defaultFileName)
19
+ return { variant: null, isDefault: true };
20
+ const prefix = `${defaultFileName.replace(/\.md$/, '')}-`;
21
+ if (!fileName.startsWith(prefix))
22
+ return null;
23
+ const variant = fileName.slice(prefix.length, -'.md'.length).trim();
24
+ if (!/^[a-z0-9](?:[a-z0-9._-]{0,62}[a-z0-9])?$/.test(variant))
25
+ return null;
26
+ return { variant, isDefault: false };
27
+ }
28
+ function projectWorkerTemplateLabel(flow, fileName, variant, isDefault) {
29
+ if (isDefault)
30
+ return `${flow} (default)`;
31
+ return variant ? `${flow} · ${variant}` : fileName;
32
+ }
33
+ function projectWorkerTemplateOption(flow, fileName) {
34
+ const parsed = parseProjectWorkerTemplateFileName(flow, fileName);
35
+ if (!parsed)
36
+ return null;
37
+ return {
38
+ flowType: flow,
39
+ fileName,
40
+ variant: parsed.variant,
41
+ label: projectWorkerTemplateLabel(flow, fileName, parsed.variant, parsed.isDefault),
42
+ isDefault: parsed.isDefault,
43
+ };
44
+ }
45
+ export async function listProjectWorkerTemplateOptions(projectTemplatesDir, flow) {
46
+ const workerDir = path.join(projectTemplatesDir, 'worker');
47
+ if (!existsSync(workerDir))
48
+ return [];
49
+ const files = (await readdir(workerDir)).filter((file) => file.endsWith('.md'));
50
+ return files
51
+ .map((file) => projectWorkerTemplateOption(flow, file))
52
+ .filter((option) => Boolean(option))
53
+ .sort((a, b) => {
54
+ if (a.isDefault !== b.isDefault)
55
+ return a.isDefault ? -1 : 1;
56
+ return a.fileName.localeCompare(b.fileName);
57
+ });
58
+ }
59
+ export function normalizeProjectWorkerTemplateSelection(flow, selection) {
60
+ const fileName = path.basename(selection.fileName ?? '');
61
+ if (!fileName || fileName !== selection.fileName || !fileName.endsWith('.md')) {
62
+ throw new Error(`Invalid worker template selection for ${flow}: fileName must be a project-owned markdown basename`);
63
+ }
64
+ const parsed = parseProjectWorkerTemplateFileName(flow, fileName);
65
+ if (!parsed) {
66
+ const defaultFileName = defaultProjectWorkerTemplateFileName(flow);
67
+ throw new Error(`Invalid worker template selection for ${flow}: ${fileName} does not match ${defaultFileName} or ${defaultFileName.replace(/\.md$/, '')}-<variant>.md (lowercase variant, no trailing punctuation)`);
68
+ }
69
+ if (selection.variant != null && selection.variant !== parsed.variant) {
70
+ throw new Error(`Invalid worker template selection for ${flow}: variant ${selection.variant} does not match ${fileName}`);
71
+ }
72
+ return { fileName, variant: parsed.variant };
73
+ }
74
+ export async function resolveProjectWorkerTemplate(projectTemplatesDir, flow, selection, source, reason) {
75
+ const selectionSource = source ?? (selection ? 'explicit' : 'default');
76
+ const normalized = selection
77
+ ? normalizeProjectWorkerTemplateSelection(flow, selection)
78
+ : { fileName: defaultProjectWorkerTemplateFileName(flow), variant: null };
79
+ const parsed = parseProjectWorkerTemplateFileName(flow, normalized.fileName);
80
+ if (!parsed) {
81
+ throw new Error(`Invalid worker template selection for ${flow}: ${normalized.fileName}`);
82
+ }
83
+ const templatePath = path.join(projectTemplatesDir, 'worker', normalized.fileName);
84
+ if (!existsSync(templatePath)) {
85
+ const prefix = selection ? 'selected ' : '';
86
+ throw new Error(`${prefix}Worker template not found: ${templatePath}`);
87
+ }
88
+ return {
89
+ flowType: flow,
90
+ fileName: normalized.fileName,
91
+ variant: parsed.variant,
92
+ label: projectWorkerTemplateLabel(flow, normalized.fileName, parsed.variant, parsed.isDefault),
93
+ isDefault: parsed.isDefault,
94
+ templatePath,
95
+ content: await readFile(templatePath, 'utf8'),
96
+ selectionSource,
97
+ selectionReason: reason ??
98
+ (selectionSource === 'explicit'
99
+ ? 'explicit taskTemplate selection'
100
+ : 'default flow template selection'),
101
+ };
102
+ }
103
+ export function domainProjectWorkerTemplateFileName(flow, domain) {
104
+ const defaultBase = defaultProjectWorkerTemplateFileName(flow).replace(/\.md$/, '');
105
+ const fileName = `${defaultBase}-${domain}.md`;
106
+ return parseProjectWorkerTemplateFileName(flow, fileName) ? fileName : null;
107
+ }
108
+ async function projectWorkerTemplateExists(projectTemplatesDir, fileName) {
109
+ try {
110
+ await access(path.join(projectTemplatesDir, 'worker', fileName));
111
+ return true;
112
+ }
113
+ catch (error) {
114
+ const code = error.code;
115
+ if (code === 'ENOENT' || code === 'ENOTDIR')
116
+ return false;
117
+ throw error;
118
+ }
119
+ }
120
+ function interactiveSelectionSource(flow) {
121
+ if (flow === 'fix-bug')
122
+ return 'implicit-interactive-fix-bug';
123
+ if (flow === 'dev')
124
+ return 'implicit-interactive-dev';
125
+ return 'implicit-interactive-pr-complete';
126
+ }
127
+ export async function resolveProjectWorkerTemplateForRun(projectTemplatesDir, flow, mode, selection, domain) {
128
+ if (selection)
129
+ return resolveProjectWorkerTemplate(projectTemplatesDir, flow, selection);
130
+ const interactiveFileName = mode === 'interactive' ? INTERACTIVE_PROJECT_WORKER_TEMPLATE_BY_FLOW[flow] : undefined;
131
+ if (interactiveFileName &&
132
+ (await projectWorkerTemplateExists(projectTemplatesDir, interactiveFileName))) {
133
+ return resolveProjectWorkerTemplate(projectTemplatesDir, flow, { fileName: interactiveFileName }, interactiveSelectionSource(flow), `${flow} interactive mode selected ${interactiveFileName} because it exists`);
134
+ }
135
+ const domainFileName = domain ? domainProjectWorkerTemplateFileName(flow, domain) : null;
136
+ if (domainFileName && (await projectWorkerTemplateExists(projectTemplatesDir, domainFileName))) {
137
+ return resolveProjectWorkerTemplate(projectTemplatesDir, flow, { fileName: domainFileName }, 'implicit-domain', `domain '${domain}' selected ${domainFileName} because it exists`);
138
+ }
139
+ return resolveProjectWorkerTemplate(projectTemplatesDir, flow, null, 'default', interactiveFileName
140
+ ? `${interactiveFileName} absent, using default ${flow} template`
141
+ : undefined);
142
+ }
143
+ //# sourceMappingURL=project-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-worker.js","sourceRoot":"","sources":["../../src/execution-template/project-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,+BAA+B,GAIhC,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,+BAA+B,GAAG,+BAA+B,CAAC;AAE/E,MAAM,2CAA2C,GAA2B;IAC1E,SAAS,EAAE,wBAAwB;IACnC,GAAG,EAAE,oBAAoB;IACzB,aAAa,EAAE,4BAA4B;CAC5C,CAAC;AASF,MAAM,UAAU,oCAAoC,CAAC,IAAY;IAC/D,OAAO,+BAA+B,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,QAAgB;IAEhB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnF,MAAM,eAAe,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,QAAQ,KAAK,eAAe;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC;IAC1D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAY,EACZ,QAAgB,EAChB,OAAsB,EACtB,SAAkB;IAElB,IAAI,SAAS;QAAE,OAAO,GAAG,IAAI,YAAY,CAAC;IAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,QAAgB;IACjE,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO;QACL,QAAQ,EAAE,IAAwC;QAClD,QAAQ;QACR,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;QACnF,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,mBAA2B,EAC3B,IAAY;IAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtD,MAAM,CAAC,CAAC,MAAM,EAAkC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,IAAY,EACZ,SAAgC;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,sDAAsD,CACpG,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,KAAK,QAAQ,mBAAmB,eAAe,OAAO,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,4DAA4D,CACpM,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,aAAa,SAAS,CAAC,OAAO,mBAAmB,QAAQ,EAAE,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,mBAA2B,EAC3B,IAAY,EACZ,SAAwC,EACxC,MAAoC,EACpC,MAAe;IAEf,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,uCAAuC,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1D,CAAC,CAAC,EAAE,QAAQ,EAAE,oCAAoC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnF,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,8BAA8B,YAAY,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,IAAwC;QAClD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;QAC9F,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY;QACZ,OAAO,EAAE,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC7C,eAAe;QACf,eAAe,EACb,MAAM;YACN,CAAC,eAAe,KAAK,UAAU;gBAC7B,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,iCAAiC,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAY,EAAE,MAAc;IAC9E,MAAM,WAAW,GAAG,oCAAoC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,MAAM,KAAK,CAAC;IAC/C,OAAO,kCAAkC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,mBAA2B,EAC3B,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,8BAA8B,CAAC;IAC9D,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,0BAA0B,CAAC;IACtD,OAAO,kCAAkC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,mBAA2B,EAC3B,IAAY,EACZ,IAAkD,EAClD,SAAwC,EACxC,MAAe;IAEf,IAAI,SAAS;QAAE,OAAO,4BAA4B,CAAC,mBAAmB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAEzF,MAAM,mBAAmB,GACvB,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IACE,mBAAmB;QACnB,CAAC,MAAM,2BAA2B,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,EAC7E,CAAC;QACD,OAAO,4BAA4B,CACjC,mBAAmB,EACnB,IAAI,EACJ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EACjC,0BAA0B,CAAC,IAAI,CAAC,EAChC,GAAG,IAAI,8BAA8B,mBAAmB,oBAAoB,CAC7E,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,IAAI,cAAc,IAAI,CAAC,MAAM,2BAA2B,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,4BAA4B,CACjC,mBAAmB,EACnB,IAAI,EACJ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,iBAAiB,EACjB,WAAW,MAAM,cAAc,cAAc,oBAAoB,CAClE,CAAC;IACJ,CAAC;IAED,OAAO,4BAA4B,CACjC,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,mBAAmB;QACjB,CAAC,CAAC,GAAG,mBAAmB,0BAA0B,IAAI,WAAW;QACjE,CAAC,CAAC,SAAS,CACd,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@ import type { ExecutionTemplateEntry, ExecutionTemplateSource, ListExecutionTemp
5
5
  */
6
6
  export declare function listExecutionTemplates(options: ListExecutionTemplatesOptions): ExecutionTemplateEntry[];
7
7
  /** Convenience: build a project worker-flat source. */
8
- export declare function projectWorkerTemplateSource(projectName: string, projectTemplatesDir: string): ExecutionTemplateSource;
8
+ export declare function projectWorkerTemplateSource(projectName: string, projectTemplatesDir: string, sourceRevision?: string, sourceDirty?: boolean): ExecutionTemplateSource;
9
9
  /** Convenience: build a package flow-tree source (e.g. recipe-cook references/templates). */
10
10
  export declare function packageFlowTreeTemplateSource(packageId: string, templatesRoot: string): ExecutionTemplateSource;
11
11
  export declare function customTemplateSource(customId: string, root: string, layout?: ExecutionTemplateSource['layout']): ExecutionTemplateSource;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/execution-template/resolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAkDpB;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,EAAE,CA+C1B;AAED,uDAAuD;AACvD,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,GAC1B,uBAAuB,CAOzB;AAED,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,uBAAuB,CAOzB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,uBAAuB,CAAC,QAAQ,CAAe,GACtD,uBAAuB,CAOzB"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/execution-template/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AA6DpB;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,EAAE,CA+C1B;AAED,uDAAuD;AACvD,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,uBAAuB,CASzB;AAED,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,uBAAuB,CAOzB;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,uBAAuB,CAAC,QAAQ,CAAe,GACtD,uBAAuB,CAOzB"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
2
2
  import path from 'node:path';
3
+ import { EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX } from '@farmslot/protocol';
3
4
  import { inferTemplateMetadata } from './infer.js';
4
5
  const SOURCE_KIND_RANK = {
5
6
  custom: 0,
@@ -37,13 +38,20 @@ function listMarkdownFiles(root, layout) {
37
38
  function matchesFilters(entry, options) {
38
39
  if (options.flow && entry.flow !== options.flow)
39
40
  return false;
40
- if (options.runMode && entry.runMode !== options.runMode)
41
+ if (options.runMode && entry.runMode !== null && entry.runMode !== options.runMode)
41
42
  return false;
42
43
  if (options.platform) {
43
44
  const platforms = entry.platforms;
44
45
  if (!platforms.includes('*') && !platforms.includes(options.platform))
45
46
  return false;
46
47
  }
48
+ if (options.domain) {
49
+ const domainLabels = entry.labels.filter((label) => label.startsWith(EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX));
50
+ if (domainLabels.length > 0 &&
51
+ !domainLabels.includes(`${EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX}${options.domain}`)) {
52
+ return false;
53
+ }
54
+ }
47
55
  return true;
48
56
  }
49
57
  /**
@@ -98,12 +106,14 @@ export function listExecutionTemplates(options) {
98
106
  });
99
107
  }
100
108
  /** Convenience: build a project worker-flat source. */
101
- export function projectWorkerTemplateSource(projectName, projectTemplatesDir) {
109
+ export function projectWorkerTemplateSource(projectName, projectTemplatesDir, sourceRevision, sourceDirty) {
102
110
  return {
103
111
  id: `project:${projectName}`,
104
112
  kind: 'project',
105
113
  root: path.join(projectTemplatesDir, 'worker'),
106
114
  layout: 'worker-flat',
115
+ ...(sourceRevision ? { sourceRevision } : {}),
116
+ ...(sourceDirty === undefined ? {} : { sourceDirty }),
107
117
  };
108
118
  }
109
119
  /** Convenience: build a package flow-tree source (e.g. recipe-cook references/templates). */
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/execution-template/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/execution-template/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type ExecutionTemplateEntry, type ListCompatibleExecutionTemplatesOptions, type SelectedExecutionTemplate, type SelectExecutionTemplateOptions } from './types.js';
2
+ export declare function listCompatibleExecutionTemplates(options: ListCompatibleExecutionTemplatesOptions): ExecutionTemplateEntry[];
3
+ /**
4
+ * Select one configured-catalog template. Source precedence has already
5
+ * resolved duplicate ids; it never chooses between distinct compatible ids.
6
+ */
7
+ export declare function selectExecutionTemplate(options: SelectExecutionTemplateOptions): SelectedExecutionTemplate;
8
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/execution-template/select.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,sBAAsB,EAE3B,KAAK,uCAAuC,EAC5C,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACpC,MAAM,YAAY,CAAC;AA+CpB,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,uCAAuC,GAC/C,sBAAsB,EAAE,CAS1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,8BAA8B,GACtC,yBAAyB,CAmD3B"}
@@ -0,0 +1,80 @@
1
+ import { EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX, } from '@farmslot/protocol';
2
+ import { listExecutionTemplates } from './resolve.js';
3
+ import { executionTemplateReference } from './snapshot.js';
4
+ import { ExecutionTemplateSelectionError, } from './types.js';
5
+ function domainLabels(entry) {
6
+ return entry.labels.filter((label) => label.startsWith(EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX));
7
+ }
8
+ function isCompatible(entry, options) {
9
+ if (entry.shadowedBy)
10
+ return false;
11
+ if (entry.flow !== options.flow)
12
+ return false;
13
+ if (!entry.platforms.includes('*') && !entry.platforms.includes(options.platform))
14
+ return false;
15
+ if (entry.runMode !== null && entry.runMode !== options.runMode)
16
+ return false;
17
+ const labels = domainLabels(entry);
18
+ if (labels.length === 0)
19
+ return true;
20
+ return (options.domain !== undefined &&
21
+ labels.includes(`${EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX}${options.domain}`));
22
+ }
23
+ function defaultMatches(when, options) {
24
+ return ((when.flow === undefined || when.flow === options.flow) &&
25
+ (when.platform === undefined || when.platform === options.platform) &&
26
+ (when.runMode === undefined || when.runMode === options.runMode) &&
27
+ (when.domain === undefined || when.domain === options.domain));
28
+ }
29
+ function compatibleIds(entries) {
30
+ const ids = entries.map((entry) => entry.id).sort();
31
+ return ids.length === 0 ? '(none)' : ids.join(', ');
32
+ }
33
+ function selected(entry, reason) {
34
+ return { entry, reason, reference: executionTemplateReference(entry) };
35
+ }
36
+ export function listCompatibleExecutionTemplates(options) {
37
+ const participatingSources = options.sources.filter((source) => !source.domains || (options.domain !== undefined && source.domains.includes(options.domain)));
38
+ return listExecutionTemplates({
39
+ sources: participatingSources,
40
+ includeShadowed: true,
41
+ }).filter((entry) => isCompatible(entry, options));
42
+ }
43
+ /**
44
+ * Select one configured-catalog template. Source precedence has already
45
+ * resolved duplicate ids; it never chooses between distinct compatible ids.
46
+ */
47
+ export function selectExecutionTemplate(options) {
48
+ const compatible = listCompatibleExecutionTemplates(options);
49
+ if (options.explicitId) {
50
+ const explicit = compatible.find((entry) => entry.id === options.explicitId);
51
+ if (!explicit) {
52
+ throw new ExecutionTemplateSelectionError('missing-or-incompatible', `Execution template "${options.explicitId}" is missing or incompatible. Compatible ids: ${compatibleIds(compatible)}.`);
53
+ }
54
+ return selected(explicit, 'explicit');
55
+ }
56
+ const matchingDefault = options.defaults?.find((rule) => defaultMatches(rule.when, options));
57
+ if (matchingDefault) {
58
+ const target = compatible.find((entry) => entry.id === matchingDefault.templateId);
59
+ if (!target) {
60
+ throw new ExecutionTemplateSelectionError('missing-or-incompatible', `Configured execution-template default "${matchingDefault.templateId}" is missing or incompatible. Compatible ids: ${compatibleIds(compatible)}.`);
61
+ }
62
+ return selected(target, 'configured-default');
63
+ }
64
+ const exactDomain = options.domain
65
+ ? compatible.filter((entry) => domainLabels(entry).includes(`${EXECUTION_TEMPLATE_DOMAIN_LABEL_PREFIX}${options.domain}`))
66
+ : [];
67
+ if (exactDomain.length === 1)
68
+ return selected(exactDomain[0], 'single-domain-candidate');
69
+ if (exactDomain.length > 1) {
70
+ throw new ExecutionTemplateSelectionError('ambiguous', `Execution-template selection is ambiguous for domain "${options.domain}". Choose one exact id: ${compatibleIds(exactDomain)}.`);
71
+ }
72
+ const general = compatible.filter((entry) => domainLabels(entry).length === 0);
73
+ if (general.length === 1)
74
+ return selected(general[0], 'single-general-candidate');
75
+ if (general.length === 0) {
76
+ throw new ExecutionTemplateSelectionError('no-compatible-template', 'No compatible execution template exists for the requested inputs.');
77
+ }
78
+ throw new ExecutionTemplateSelectionError('ambiguous', `Execution-template selection is ambiguous. Choose one exact id: ${compatibleIds(general)}.`);
79
+ }
80
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/execution-template/select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ExecutionTemplateReference } from '@farmslot/protocol';
2
+ import type { ExecutionTemplateEntry } from './types.js';
3
+ export declare function sha256Text(text: string): string;
4
+ export declare function executionTemplateReference(entry: ExecutionTemplateEntry, renderedMarkdown?: string): ExecutionTemplateReference;
5
+ export declare function readExecutionTemplateSnapshot(entry: ExecutionTemplateEntry): {
6
+ markdown: string;
7
+ reference: ExecutionTemplateReference;
8
+ };
9
+ export declare function materializeExecutionTemplate(entry: ExecutionTemplateEntry, outputPath: string): {
10
+ path: string;
11
+ reference: ExecutionTemplateReference;
12
+ };
13
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/execution-template/snapshot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,sBAAsB,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,0BAA0B,CAkB5B;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,0BAA0B,CAAC;CACvC,CAQA;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,MAAM,GACjB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,0BAA0B,CAAC;CACvC,CAYA"}