@method-ai-hq/sdk 0.0.0-stage → 0.14.2

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 (262) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -2
  3. package/dist/packages/contracts/src/identity.d.ts +16 -0
  4. package/dist/packages/contracts/src/identity.js +41 -0
  5. package/dist/packages/contracts/src/method-package.d.ts +71 -0
  6. package/dist/packages/contracts/src/method-package.js +22 -0
  7. package/dist/packages/method-document/src/conversion-report.d.ts +138 -0
  8. package/dist/packages/method-document/src/conversion-report.js +23 -0
  9. package/dist/packages/sdk/examples/daily-briefing/README.md +31 -0
  10. package/dist/packages/sdk/examples/daily-briefing/TASK.md +3 -0
  11. package/dist/packages/sdk/examples/daily-briefing/approved-report.md +138 -0
  12. package/dist/packages/sdk/examples/daily-briefing/briefing_artifacts.py +39 -0
  13. package/dist/packages/sdk/examples/daily-briefing/briefing_check_inputs.py +47 -0
  14. package/dist/packages/sdk/examples/daily-briefing/briefing_files.py +31 -0
  15. package/dist/packages/sdk/examples/daily-briefing/briefing_manifest.py +23 -0
  16. package/dist/packages/sdk/examples/daily-briefing/briefing_markdown.py +67 -0
  17. package/dist/packages/sdk/examples/daily-briefing/briefing_progress.py +18 -0
  18. package/dist/packages/sdk/examples/daily-briefing/briefing_render.py +71 -0
  19. package/dist/packages/sdk/examples/daily-briefing/briefing_sessions.py +37 -0
  20. package/dist/packages/sdk/examples/daily-briefing/briefing_times.py +158 -0
  21. package/dist/packages/sdk/examples/daily-briefing/briefing_validation.py +101 -0
  22. package/dist/packages/sdk/examples/daily-briefing/briefing_website.py +215 -0
  23. package/dist/packages/sdk/examples/daily-briefing/checks.json +19 -0
  24. package/dist/packages/sdk/examples/daily-briefing/daily-briefing.method +158 -0
  25. package/dist/packages/sdk/examples/daily-briefing/inputs.json +1 -0
  26. package/dist/packages/sdk/examples/daily-briefing/package-lock.json +10 -0
  27. package/dist/packages/sdk/examples/daily-briefing/package.json +4 -0
  28. package/dist/packages/sdk/examples/daily-briefing/pyproject.toml +8 -0
  29. package/dist/packages/sdk/examples/daily-briefing/reader/reader.css +35 -0
  30. package/dist/packages/sdk/examples/daily-briefing/reader/reader.js +42 -0
  31. package/dist/packages/sdk/examples/daily-briefing/sample/context.json +1 -0
  32. package/dist/packages/sdk/examples/daily-briefing/sample/documents/document-001.md +219 -0
  33. package/dist/packages/sdk/examples/daily-briefing/sample/media.json +1 -0
  34. package/dist/packages/sdk/examples/daily-briefing/sample/metadata/documents.json +39 -0
  35. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0001.json +49 -0
  36. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0002.json +49 -0
  37. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0003.json +49 -0
  38. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0004.json +49 -0
  39. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0005.json +49 -0
  40. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0006.json +49 -0
  41. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0007.json +49 -0
  42. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0008.json +49 -0
  43. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0009.json +49 -0
  44. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0010.json +49 -0
  45. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0011.json +49 -0
  46. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0012.json +49 -0
  47. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0013.json +49 -0
  48. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0014.json +49 -0
  49. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0015.json +49 -0
  50. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0016.json +49 -0
  51. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0017.json +49 -0
  52. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0018.json +49 -0
  53. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0019.json +49 -0
  54. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0020.json +49 -0
  55. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0021.json +49 -0
  56. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0022.json +49 -0
  57. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0023.json +49 -0
  58. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0024.json +49 -0
  59. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0025.json +49 -0
  60. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0026.json +49 -0
  61. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0027.json +49 -0
  62. package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0028.json +49 -0
  63. package/dist/packages/sdk/examples/daily-briefing/sample/sessions.json +1 -0
  64. package/dist/packages/sdk/examples/daily-briefing/sample/timeline.jsonl +28 -0
  65. package/dist/packages/sdk/examples/daily-briefing/sample/untimed.jsonl +0 -0
  66. package/dist/packages/sdk/examples/daily-briefing/sample-output.zip +0 -0
  67. package/dist/packages/sdk/examples/daily-briefing/sample-report.md +51 -0
  68. package/dist/packages/sdk/examples/daily-briefing/uv.lock +128 -0
  69. package/dist/packages/sdk/examples/daily-briefing/vendor/marked-LICENSE.md +44 -0
  70. package/dist/packages/sdk/examples/daily-briefing/vendor/marked.mjs +77 -0
  71. package/dist/packages/sdk/examples/files.json +126 -0
  72. package/dist/packages/sdk/examples/message-routing/README.md +23 -0
  73. package/dist/packages/sdk/examples/message-routing/TASK.md +5 -0
  74. package/dist/packages/sdk/examples/message-routing/choose-destination.mjs +10 -0
  75. package/dist/packages/sdk/examples/message-routing/create-ticket.mjs +15 -0
  76. package/dist/packages/sdk/examples/message-routing/inputs.json +1 -0
  77. package/dist/packages/sdk/examples/message-routing/message-routing.method +45 -0
  78. package/dist/packages/sdk/examples/message-routing/result.fixture.json +6 -0
  79. package/dist/packages/sdk/examples/message-routing/routing.mjs +29 -0
  80. package/dist/packages/sdk/examples/message-routing/routing.test.mjs +27 -0
  81. package/dist/packages/sdk/examples/message-routing/ticket.method +88 -0
  82. package/dist/packages/sdk/examples/message-routing/ticket.test.mjs +64 -0
  83. package/dist/packages/sdk/examples/notes-summary/README.md +23 -0
  84. package/dist/packages/sdk/examples/notes-summary/TASK.md +3 -0
  85. package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/case.json +36 -0
  86. package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/examples.json +16 -0
  87. package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/files/0 +10 -0
  88. package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/recording.json +195 -0
  89. package/dist/packages/sdk/examples/notes-summary/notes/2026-10-05-standup.md +4 -0
  90. package/dist/packages/sdk/examples/notes-summary/notes/2026-10-07-planning.md +3 -0
  91. package/dist/packages/sdk/examples/notes-summary/notes-summary.method +54 -0
  92. package/dist/packages/sdk/examples/notes-summary/out/.keep +0 -0
  93. package/dist/packages/sdk/examples/notes-summary/read-notes.mjs +4 -0
  94. package/dist/packages/sdk/examples/notes-summary/save.mjs +7 -0
  95. package/dist/packages/sdk/examples/outbound-management/README.md +119 -0
  96. package/dist/packages/sdk/examples/outbound-management/TASK.md +5 -0
  97. package/dist/packages/sdk/examples/outbound-management/check_plan.py +16 -0
  98. package/dist/packages/sdk/examples/outbound-management/check_sources.py +14 -0
  99. package/dist/packages/sdk/examples/outbound-management/crm.py +153 -0
  100. package/dist/packages/sdk/examples/outbound-management/crm_test.py +141 -0
  101. package/dist/packages/sdk/examples/outbound-management/fixtures/README.md +15 -0
  102. package/dist/packages/sdk/examples/outbound-management/fixtures/crm.json +54 -0
  103. package/dist/packages/sdk/examples/outbound-management/fixtures/day-1/messages.json +29 -0
  104. package/dist/packages/sdk/examples/outbound-management/fixtures/day-2/messages.json +38 -0
  105. package/dist/packages/sdk/examples/outbound-management/fixtures/observations.json +12 -0
  106. package/dist/packages/sdk/examples/outbound-management/fixtures/plan.json +69 -0
  107. package/dist/packages/sdk/examples/outbound-management/fixtures/receipt.json +1 -0
  108. package/dist/packages/sdk/examples/outbound-management/fixtures/state.json +99 -0
  109. package/dist/packages/sdk/examples/outbound-management/fixtures/tasks.md +16 -0
  110. package/dist/packages/sdk/examples/outbound-management/inputs.json +4 -0
  111. package/dist/packages/sdk/examples/outbound-management/outbound.method +277 -0
  112. package/dist/packages/sdk/examples/outbound-management/read_crm.py +4 -0
  113. package/dist/packages/sdk/examples/outbound-management/save_day.py +4 -0
  114. package/dist/packages/sdk/examples/outbound-management/starter/crm.json +11 -0
  115. package/dist/packages/sdk/examples/social-briefing/README.md +41 -0
  116. package/dist/packages/sdk/examples/social-briefing/TASK.md +5 -0
  117. package/dist/packages/sdk/examples/social-briefing/inputs.json +5 -0
  118. package/dist/packages/sdk/examples/social-briefing/result.fixture.json +14 -0
  119. package/dist/packages/sdk/examples/social-briefing/social-briefing.method +110 -0
  120. package/dist/packages/sdk/examples/support-triage/README.md +77 -0
  121. package/dist/packages/sdk/examples/support-triage/TASK.md +3 -0
  122. package/dist/packages/sdk/examples/support-triage/cases/double-charge-to-billing/case.json +40 -0
  123. package/dist/packages/sdk/examples/support-triage/cases/double-charge-to-billing/recording.json +460 -0
  124. package/dist/packages/sdk/examples/support-triage/fake-helpdesk.mjs +38 -0
  125. package/dist/packages/sdk/examples/support-triage/helpdesk.mjs +33 -0
  126. package/dist/packages/sdk/examples/support-triage/inputs.json +1 -0
  127. package/dist/packages/sdk/examples/support-triage/read-ticket.mjs +8 -0
  128. package/dist/packages/sdk/examples/support-triage/route.mjs +4 -0
  129. package/dist/packages/sdk/examples/support-triage/sample-tickets.json +5 -0
  130. package/dist/packages/sdk/examples/support-triage/set-ticket.mjs +9 -0
  131. package/dist/packages/sdk/examples/support-triage/support-triage.method +165 -0
  132. package/dist/packages/sdk/examples/support-triage/triage.mjs +38 -0
  133. package/dist/packages/sdk/examples/support-triage/triage.test.mjs +68 -0
  134. package/dist/packages/sdk/observers/mail.delivery/fetch.mjs +87 -0
  135. package/dist/packages/sdk/observers/mail.delivery/fixtures/bounce-by-recipient.json +1 -0
  136. package/dist/packages/sdk/observers/mail.delivery/fixtures/bounce.json +1 -0
  137. package/dist/packages/sdk/observers/mail.delivery/fixtures/delayed.json +1 -0
  138. package/dist/packages/sdk/observers/mail.delivery/fixtures/delivered.json +1 -0
  139. package/dist/packages/sdk/observers/mail.delivery/fixtures/empty.json +1 -0
  140. package/dist/packages/sdk/observers/mail.delivery/fixtures/other-message.json +1 -0
  141. package/dist/packages/sdk/observers/mail.delivery/judge.mjs +13 -0
  142. package/dist/packages/sdk/observers/mail.delivery/observer.json +14 -0
  143. package/dist/packages/sdk/package.json +232 -0
  144. package/dist/packages/sdk/src/authoring-example.d.ts +91 -0
  145. package/dist/packages/sdk/src/authoring-example.js +50 -0
  146. package/dist/packages/sdk/src/authoring-instructions.d.ts +20 -0
  147. package/dist/packages/sdk/src/authoring-instructions.js +151 -0
  148. package/dist/packages/sdk/src/authoring-prompt.d.ts +2 -0
  149. package/dist/packages/sdk/src/authoring-prompt.js +8 -0
  150. package/dist/packages/sdk/src/authoring.d.ts +10 -0
  151. package/dist/packages/sdk/src/authoring.js +287 -0
  152. package/dist/packages/sdk/src/bindings.d.ts +4 -0
  153. package/dist/packages/sdk/src/bindings.js +124 -0
  154. package/dist/packages/sdk/src/bridge.d.ts +2 -0
  155. package/dist/packages/sdk/src/bridge.js +23 -0
  156. package/dist/packages/sdk/src/browser-runtime/pyproject.toml +5 -0
  157. package/dist/packages/sdk/src/browser-runtime/tools.json +189 -0
  158. package/dist/packages/sdk/src/browser-runtime/uv.lock +3894 -0
  159. package/dist/packages/sdk/src/browser-service.py +127 -0
  160. package/dist/packages/sdk/src/browser.d.ts +38 -0
  161. package/dist/packages/sdk/src/browser.js +203 -0
  162. package/dist/packages/sdk/src/capabilities.d.ts +13 -0
  163. package/dist/packages/sdk/src/capabilities.js +68 -0
  164. package/dist/packages/sdk/src/classification-client.d.ts +4 -0
  165. package/dist/packages/sdk/src/classification-client.js +27 -0
  166. package/dist/packages/sdk/src/cloud.d.ts +23 -0
  167. package/dist/packages/sdk/src/cloud.js +43 -0
  168. package/dist/packages/sdk/src/computer-settings.d.ts +28 -0
  169. package/dist/packages/sdk/src/computer-settings.js +57 -0
  170. package/dist/packages/sdk/src/connect.d.ts +47 -0
  171. package/dist/packages/sdk/src/connect.js +203 -0
  172. package/dist/packages/sdk/src/current-inspection.d.ts +3 -0
  173. package/dist/packages/sdk/src/current-inspection.js +146 -0
  174. package/dist/packages/sdk/src/current-runtime.d.ts +14 -0
  175. package/dist/packages/sdk/src/current-runtime.js +167 -0
  176. package/dist/packages/sdk/src/doctor.d.ts +17 -0
  177. package/dist/packages/sdk/src/doctor.js +68 -0
  178. package/dist/packages/sdk/src/executable.d.ts +2 -0
  179. package/dist/packages/sdk/src/executable.js +22 -0
  180. package/dist/packages/sdk/src/explain-effects.d.ts +32 -0
  181. package/dist/packages/sdk/src/explain-effects.js +192 -0
  182. package/dist/packages/sdk/src/explain.d.ts +115 -0
  183. package/dist/packages/sdk/src/explain.js +441 -0
  184. package/dist/packages/sdk/src/files.d.ts +9 -0
  185. package/dist/packages/sdk/src/files.js +50 -0
  186. package/dist/packages/sdk/src/guard-keys.d.ts +5 -0
  187. package/dist/packages/sdk/src/guard-keys.js +42 -0
  188. package/dist/packages/sdk/src/hosted-models.d.ts +49 -0
  189. package/dist/packages/sdk/src/hosted-models.js +81 -0
  190. package/dist/packages/sdk/src/improve.d.ts +55 -0
  191. package/dist/packages/sdk/src/improve.js +159 -0
  192. package/dist/packages/sdk/src/index.d.ts +13 -0
  193. package/dist/packages/sdk/src/index.js +13 -0
  194. package/dist/packages/sdk/src/inspect.d.ts +6 -0
  195. package/dist/packages/sdk/src/inspect.js +17 -0
  196. package/dist/packages/sdk/src/link.d.ts +12 -0
  197. package/dist/packages/sdk/src/link.js +53 -0
  198. package/dist/packages/sdk/src/local-cli.d.ts +24 -0
  199. package/dist/packages/sdk/src/local-cli.js +146 -0
  200. package/dist/packages/sdk/src/local-setup.d.ts +15 -0
  201. package/dist/packages/sdk/src/local-setup.js +42 -0
  202. package/dist/packages/sdk/src/method-client.d.ts +30 -0
  203. package/dist/packages/sdk/src/method-client.js +250 -0
  204. package/dist/packages/sdk/src/method-files.d.ts +29 -0
  205. package/dist/packages/sdk/src/method-files.js +93 -0
  206. package/dist/packages/sdk/src/method-help.d.ts +19 -0
  207. package/dist/packages/sdk/src/method-help.js +404 -0
  208. package/dist/packages/sdk/src/method-issues.d.ts +86 -0
  209. package/dist/packages/sdk/src/method-issues.js +192 -0
  210. package/dist/packages/sdk/src/method-sync.d.ts +46 -0
  211. package/dist/packages/sdk/src/method-sync.js +293 -0
  212. package/dist/packages/sdk/src/method.d.ts +5 -0
  213. package/dist/packages/sdk/src/method.js +359 -0
  214. package/dist/packages/sdk/src/model-checks.d.ts +96 -0
  215. package/dist/packages/sdk/src/model-checks.js +181 -0
  216. package/dist/packages/sdk/src/outbox.d.ts +120 -0
  217. package/dist/packages/sdk/src/outbox.js +297 -0
  218. package/dist/packages/sdk/src/own-model-key.d.ts +22 -0
  219. package/dist/packages/sdk/src/own-model-key.js +76 -0
  220. package/dist/packages/sdk/src/prepare.d.ts +24 -0
  221. package/dist/packages/sdk/src/prepare.js +245 -0
  222. package/dist/packages/sdk/src/process.d.ts +15 -0
  223. package/dist/packages/sdk/src/process.js +107 -0
  224. package/dist/packages/sdk/src/production.d.ts +182 -0
  225. package/dist/packages/sdk/src/production.js +284 -0
  226. package/dist/packages/sdk/src/progress.d.ts +12 -0
  227. package/dist/packages/sdk/src/progress.js +48 -0
  228. package/dist/packages/sdk/src/proposals.d.ts +73 -0
  229. package/dist/packages/sdk/src/proposals.js +284 -0
  230. package/dist/packages/sdk/src/quality.d.ts +82 -0
  231. package/dist/packages/sdk/src/quality.js +294 -0
  232. package/dist/packages/sdk/src/result-files.d.ts +5 -0
  233. package/dist/packages/sdk/src/result-files.js +149 -0
  234. package/dist/packages/sdk/src/result-transfer.d.ts +21 -0
  235. package/dist/packages/sdk/src/result-transfer.js +37 -0
  236. package/dist/packages/sdk/src/run-data.d.ts +11 -0
  237. package/dist/packages/sdk/src/run-data.js +80 -0
  238. package/dist/packages/sdk/src/run-method.d.ts +2 -0
  239. package/dist/packages/sdk/src/run-method.js +2 -0
  240. package/dist/packages/sdk/src/run-saved.d.ts +5 -0
  241. package/dist/packages/sdk/src/run-saved.js +138 -0
  242. package/dist/packages/sdk/src/run-worker.d.ts +6 -0
  243. package/dist/packages/sdk/src/run-worker.js +131 -0
  244. package/dist/packages/sdk/src/secrets.d.ts +37 -0
  245. package/dist/packages/sdk/src/secrets.js +196 -0
  246. package/dist/packages/sdk/src/update.d.ts +5 -0
  247. package/dist/packages/sdk/src/update.js +39 -0
  248. package/dist/packages/sdk/src/versions.d.ts +58 -0
  249. package/dist/packages/sdk/src/versions.js +144 -0
  250. package/dist/packages/sdk/src/worker.d.ts +120 -0
  251. package/dist/packages/sdk/src/worker.js +443 -0
  252. package/dist/packages/workflow-language/src/execution.d.ts +1 -0
  253. package/dist/packages/workflow-language/src/execution.js +1 -0
  254. package/dist/packages/workflow-language/src/inspection.d.ts +990 -0
  255. package/dist/packages/workflow-language/src/inspection.js +130 -0
  256. package/dist/packages/workflow-language/src/result-files.d.ts +160 -0
  257. package/dist/packages/workflow-language/src/result-files.js +67 -0
  258. package/dist/packages/workflow-language/src/schema.d.ts +207 -0
  259. package/dist/packages/workflow-language/src/schema.js +56 -0
  260. package/dist/packages/workflow-language/src/validate.d.ts +11 -0
  261. package/dist/packages/workflow-language/src/validate.js +77 -0
  262. package/package.json +230 -4
@@ -0,0 +1,77 @@
1
+ import { stringify } from "yaml";
2
+ import { validateMethod } from '@withmethod/runtime/document.js';
3
+ export { parseDocumentValue, shapeErrors, MethodValidationError } from '@withmethod/runtime/document.js';
4
+ export { outputSchema } from '@withmethod/runtime/semantics.js';
5
+ import { effectiveOutputs } from "./schema.js";
6
+ export function serializeWorkflow(value) { return stringify(value, { lineWidth: 0 }); }
7
+ export function shapeObject(shape) { return typeof shape === "string" ? { type: shape } : shape; }
8
+ export function validateShape(shape, label) {
9
+ const s = shapeObject(shape);
10
+ if (s.type === "record" && !s.fields)
11
+ throw Error(`${label}: record needs fields.`);
12
+ if (s.type === "list" && (!!s.fields === !!s.items))
13
+ throw Error(`${label}: list needs either fields or items.`);
14
+ if (s.fields && !["record", "list"].includes(s.type))
15
+ throw Error(`${label}: fields require a record or list.`);
16
+ if (s.items && s.type !== "list")
17
+ throw Error(`${label}: items require a list.`);
18
+ if (s.format && s.type !== "file")
19
+ throw Error(`${label}: format describes a file.`);
20
+ Object.entries(s.fields ?? {}).forEach(([key, child]) => validateShape(child, `${label}.${key}`));
21
+ if (s.items)
22
+ validateShape(s.items, `${label}.items`);
23
+ }
24
+ export function references(step) { return [...Object.values(step.in ?? {}), ...Object.values(step.each ?? {}), ...(step.when ? [step.when] : []), ...Object.values(step.effects ?? {}).flatMap(effect => Object.values(effect.in ?? {}))]; }
25
+ export function producers(workflow) {
26
+ const result = new Map();
27
+ for (const [id, step] of Object.entries(workflow.steps))
28
+ for (const name of Object.keys(effectiveOutputs(step))) {
29
+ if (["inputs", "state", "environment", "run"].includes(name) || result.has(name))
30
+ throw Error(`Output ${name} must have one unique name.`);
31
+ result.set(name, id);
32
+ }
33
+ return result;
34
+ }
35
+ export function referenceShape(workflow, reference) {
36
+ const parts = reference.split("."), root = parts.shift();
37
+ let shape;
38
+ if (root === "environment") {
39
+ if (parts.length !== 1 || !workflow.environment?.[parts[0]])
40
+ throw Error(`Unknown connection ${reference}.`);
41
+ return undefined;
42
+ }
43
+ if (root === "run") {
44
+ if (parts.join(".") !== "started_at")
45
+ throw Error(`Unknown run value ${reference}.`);
46
+ return "text";
47
+ }
48
+ if (root === "inputs" || root === "state")
49
+ shape = workflow[root]?.[parts.shift()];
50
+ else {
51
+ const producer = producers(workflow).get(root), step = producer ? workflow.steps[producer] : undefined;
52
+ shape = step ? effectiveOutputs(step)[root] : undefined;
53
+ if (shape && step?.each)
54
+ shape = { type: "list", items: shape };
55
+ }
56
+ if (!shape)
57
+ throw Error(`Unknown data ${reference}.`);
58
+ for (const part of parts) {
59
+ const s = shapeObject(shape);
60
+ if (s.type === "list" && /^(0|[1-9][0-9]*)$/.test(part))
61
+ shape = s.fields ? { type: "record", fields: s.fields } : s.items;
62
+ else if (s.type === "record")
63
+ shape = s.fields?.[part];
64
+ else
65
+ shape = undefined;
66
+ if (!shape)
67
+ throw Error(`Unknown field ${reference}.`);
68
+ }
69
+ return shape;
70
+ }
71
+ export function stepDependencies(workflow, id) {
72
+ const step = workflow.steps[id], outputProducers = producers(workflow);
73
+ return [...new Set([...(typeof step.after === "string" ? [step.after] : step.after ?? []), ...references(step).flatMap(ref => { const producer = outputProducers.get(ref.split(".")[0]); return producer ? [producer] : []; })])];
74
+ }
75
+ export function loadWorkflow(value) {
76
+ return validateMethod(value).method;
77
+ }
package/package.json CHANGED
@@ -1,6 +1,232 @@
1
1
  {
2
2
  "name": "@method-ai-hq/sdk",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.14.2",
4
+ "description": "Build and run reusable .method files with checked steps and saved results.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "dist/packages/sdk/src/index.js",
8
+ "types": "dist/packages/sdk/src/index.d.ts",
9
+ "bin": {
10
+ "method": "dist/packages/sdk/src/method.js",
11
+ "method-bridge": "dist/packages/sdk/src/bridge.js"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "README.md",
16
+ "LICENSE"
17
+ ],
18
+ "engines": {
19
+ "node": ">=22"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/method-ai-hq/method-sdk.git",
24
+ "directory": "packages/sdk"
25
+ },
26
+ "keywords": [
27
+ "workflow",
28
+ "agents",
29
+ "ai-agents",
30
+ "verification",
31
+ "mcp"
32
+ ],
33
+ "scripts": {
34
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/packages/sdk/src/bridge.js dist/packages/sdk/src/method.js && node scripts/copy-examples.mjs",
35
+ "prepack": "npm --prefix ../.. run build"
36
+ },
37
+ "dependencies": {
38
+ "@withmethod/runtime": "https://codeload.github.com/method-ai-hq/method-spec/tar.gz/c45c5ba1a3432b8d4e90ff07a7457eef5ea0f371",
39
+ "fflate": "^0.8.3",
40
+ "yaml": "^2.9.0",
41
+ "zod": "^3.25.76"
42
+ },
43
+ "homepage": "https://docs.withmethod.ai/sdk/overview",
44
+ "exports": {
45
+ ".": {
46
+ "types": "./dist/packages/sdk/src/index.d.ts",
47
+ "import": "./dist/packages/sdk/src/index.js",
48
+ "default": "./dist/packages/sdk/src/index.js"
49
+ },
50
+ "./schema": {
51
+ "types": "./dist/packages/workflow-language/src/schema.d.ts",
52
+ "import": "./dist/packages/workflow-language/src/schema.js",
53
+ "default": "./dist/packages/workflow-language/src/schema.js"
54
+ },
55
+ "./validate": {
56
+ "types": "./dist/packages/workflow-language/src/validate.d.ts",
57
+ "import": "./dist/packages/workflow-language/src/validate.js",
58
+ "default": "./dist/packages/workflow-language/src/validate.js"
59
+ },
60
+ "./execution": {
61
+ "types": "./dist/packages/workflow-language/src/execution.d.ts",
62
+ "import": "./dist/packages/workflow-language/src/execution.js",
63
+ "default": "./dist/packages/workflow-language/src/execution.js"
64
+ },
65
+ "./inspection": {
66
+ "types": "./dist/packages/workflow-language/src/inspection.d.ts",
67
+ "import": "./dist/packages/workflow-language/src/inspection.js",
68
+ "default": "./dist/packages/workflow-language/src/inspection.js"
69
+ },
70
+ "./result-files": {
71
+ "types": "./dist/packages/workflow-language/src/result-files.d.ts",
72
+ "import": "./dist/packages/workflow-language/src/result-files.js",
73
+ "default": "./dist/packages/workflow-language/src/result-files.js"
74
+ },
75
+ "./identity": {
76
+ "types": "./dist/packages/contracts/src/identity.d.ts",
77
+ "import": "./dist/packages/contracts/src/identity.js",
78
+ "default": "./dist/packages/contracts/src/identity.js"
79
+ },
80
+ "./method-package": {
81
+ "types": "./dist/packages/contracts/src/method-package.d.ts",
82
+ "import": "./dist/packages/contracts/src/method-package.js",
83
+ "default": "./dist/packages/contracts/src/method-package.js"
84
+ },
85
+ "./conversion": {
86
+ "types": "./dist/packages/method-document/src/conversion-report.d.ts",
87
+ "import": "./dist/packages/method-document/src/conversion-report.js",
88
+ "default": "./dist/packages/method-document/src/conversion-report.js"
89
+ },
90
+ "./method-client": {
91
+ "types": "./dist/packages/sdk/src/method-client.d.ts",
92
+ "import": "./dist/packages/sdk/src/method-client.js",
93
+ "default": "./dist/packages/sdk/src/method-client.js"
94
+ },
95
+ "./method-sync": {
96
+ "types": "./dist/packages/sdk/src/method-sync.d.ts",
97
+ "import": "./dist/packages/sdk/src/method-sync.js",
98
+ "default": "./dist/packages/sdk/src/method-sync.js"
99
+ },
100
+ "./method": {
101
+ "types": "./dist/packages/sdk/src/method.d.ts",
102
+ "import": "./dist/packages/sdk/src/method.js",
103
+ "default": "./dist/packages/sdk/src/method.js"
104
+ },
105
+ "./files": {
106
+ "types": "./dist/packages/sdk/src/files.d.ts",
107
+ "import": "./dist/packages/sdk/src/files.js",
108
+ "default": "./dist/packages/sdk/src/files.js"
109
+ },
110
+ "./inspect": {
111
+ "types": "./dist/packages/sdk/src/inspect.d.ts",
112
+ "import": "./dist/packages/sdk/src/inspect.js",
113
+ "default": "./dist/packages/sdk/src/inspect.js"
114
+ },
115
+ "./process": {
116
+ "types": "./dist/packages/sdk/src/process.d.ts",
117
+ "import": "./dist/packages/sdk/src/process.js",
118
+ "default": "./dist/packages/sdk/src/process.js"
119
+ },
120
+ "./executable": {
121
+ "types": "./dist/packages/sdk/src/executable.d.ts",
122
+ "import": "./dist/packages/sdk/src/executable.js",
123
+ "default": "./dist/packages/sdk/src/executable.js"
124
+ },
125
+ "./authoring": {
126
+ "types": "./dist/packages/sdk/src/authoring.d.ts",
127
+ "import": "./dist/packages/sdk/src/authoring.js",
128
+ "default": "./dist/packages/sdk/src/authoring.js"
129
+ },
130
+ "./method-help": {
131
+ "types": "./dist/packages/sdk/src/method-help.d.ts",
132
+ "import": "./dist/packages/sdk/src/method-help.js",
133
+ "default": "./dist/packages/sdk/src/method-help.js"
134
+ },
135
+ "./current-runtime": {
136
+ "types": "./dist/packages/sdk/src/current-runtime.d.ts",
137
+ "import": "./dist/packages/sdk/src/current-runtime.js",
138
+ "default": "./dist/packages/sdk/src/current-runtime.js"
139
+ },
140
+ "./local-setup": {
141
+ "types": "./dist/packages/sdk/src/local-setup.d.ts",
142
+ "import": "./dist/packages/sdk/src/local-setup.js",
143
+ "default": "./dist/packages/sdk/src/local-setup.js"
144
+ },
145
+ "./current-inspection": {
146
+ "types": "./dist/packages/sdk/src/current-inspection.d.ts",
147
+ "import": "./dist/packages/sdk/src/current-inspection.js",
148
+ "default": "./dist/packages/sdk/src/current-inspection.js"
149
+ },
150
+ "./method-files": {
151
+ "types": "./dist/packages/sdk/src/method-files.d.ts",
152
+ "import": "./dist/packages/sdk/src/method-files.js",
153
+ "default": "./dist/packages/sdk/src/method-files.js"
154
+ },
155
+ "./versions": {
156
+ "types": "./dist/packages/sdk/src/versions.d.ts",
157
+ "import": "./dist/packages/sdk/src/versions.js",
158
+ "default": "./dist/packages/sdk/src/versions.js"
159
+ },
160
+ "./outbox": {
161
+ "types": "./dist/packages/sdk/src/outbox.d.ts",
162
+ "import": "./dist/packages/sdk/src/outbox.js",
163
+ "default": "./dist/packages/sdk/src/outbox.js"
164
+ },
165
+ "./computer-settings": {
166
+ "types": "./dist/packages/sdk/src/computer-settings.d.ts",
167
+ "import": "./dist/packages/sdk/src/computer-settings.js",
168
+ "default": "./dist/packages/sdk/src/computer-settings.js"
169
+ },
170
+ "./bindings": {
171
+ "types": "./dist/packages/sdk/src/bindings.d.ts",
172
+ "import": "./dist/packages/sdk/src/bindings.js",
173
+ "default": "./dist/packages/sdk/src/bindings.js"
174
+ },
175
+ "./capabilities": {
176
+ "types": "./dist/packages/sdk/src/capabilities.d.ts",
177
+ "import": "./dist/packages/sdk/src/capabilities.js",
178
+ "default": "./dist/packages/sdk/src/capabilities.js"
179
+ },
180
+ "./prepare": {
181
+ "types": "./dist/packages/sdk/src/prepare.d.ts",
182
+ "import": "./dist/packages/sdk/src/prepare.js",
183
+ "default": "./dist/packages/sdk/src/prepare.js"
184
+ },
185
+ "./run-worker": {
186
+ "types": "./dist/packages/sdk/src/run-worker.d.ts",
187
+ "import": "./dist/packages/sdk/src/run-worker.js",
188
+ "default": "./dist/packages/sdk/src/run-worker.js"
189
+ },
190
+ "./local-cli": {
191
+ "types": "./dist/packages/sdk/src/local-cli.d.ts",
192
+ "import": "./dist/packages/sdk/src/local-cli.js",
193
+ "default": "./dist/packages/sdk/src/local-cli.js"
194
+ },
195
+ "./doctor": {
196
+ "types": "./dist/packages/sdk/src/doctor.d.ts",
197
+ "import": "./dist/packages/sdk/src/doctor.js",
198
+ "default": "./dist/packages/sdk/src/doctor.js"
199
+ },
200
+ "./run-saved": {
201
+ "types": "./dist/packages/sdk/src/run-saved.d.ts",
202
+ "import": "./dist/packages/sdk/src/run-saved.js",
203
+ "default": "./dist/packages/sdk/src/run-saved.js"
204
+ },
205
+ "./sdk-result-files": {
206
+ "types": "./dist/packages/sdk/src/result-files.d.ts",
207
+ "import": "./dist/packages/sdk/src/result-files.js",
208
+ "default": "./dist/packages/sdk/src/result-files.js"
209
+ },
210
+ "./package.json": "./package.json",
211
+ "./authoring-prompt": {
212
+ "types": "./dist/packages/sdk/src/authoring-prompt.d.ts",
213
+ "import": "./dist/packages/sdk/src/authoring-prompt.js",
214
+ "default": "./dist/packages/sdk/src/authoring-prompt.js"
215
+ },
216
+ "./progress": {
217
+ "types": "./dist/packages/sdk/src/progress.d.ts",
218
+ "import": "./dist/packages/sdk/src/progress.js",
219
+ "default": "./dist/packages/sdk/src/progress.js"
220
+ },
221
+ "./run-method": {
222
+ "types": "./dist/packages/sdk/src/run-method.d.ts",
223
+ "import": "./dist/packages/sdk/src/run-method.js",
224
+ "default": "./dist/packages/sdk/src/run-method.js"
225
+ },
226
+ "./authoring-example": {
227
+ "types": "./dist/packages/sdk/src/authoring-example.d.ts",
228
+ "import": "./dist/packages/sdk/src/authoring-example.js",
229
+ "default": "./dist/packages/sdk/src/authoring-example.js"
230
+ }
231
+ }
232
+ }