@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.
- package/LICENSE +21 -0
- package/README.md +23 -2
- package/dist/packages/contracts/src/identity.d.ts +16 -0
- package/dist/packages/contracts/src/identity.js +41 -0
- package/dist/packages/contracts/src/method-package.d.ts +71 -0
- package/dist/packages/contracts/src/method-package.js +22 -0
- package/dist/packages/method-document/src/conversion-report.d.ts +138 -0
- package/dist/packages/method-document/src/conversion-report.js +23 -0
- package/dist/packages/sdk/examples/daily-briefing/README.md +31 -0
- package/dist/packages/sdk/examples/daily-briefing/TASK.md +3 -0
- package/dist/packages/sdk/examples/daily-briefing/approved-report.md +138 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_artifacts.py +39 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_check_inputs.py +47 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_files.py +31 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_manifest.py +23 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_markdown.py +67 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_progress.py +18 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_render.py +71 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_sessions.py +37 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_times.py +158 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_validation.py +101 -0
- package/dist/packages/sdk/examples/daily-briefing/briefing_website.py +215 -0
- package/dist/packages/sdk/examples/daily-briefing/checks.json +19 -0
- package/dist/packages/sdk/examples/daily-briefing/daily-briefing.method +158 -0
- package/dist/packages/sdk/examples/daily-briefing/inputs.json +1 -0
- package/dist/packages/sdk/examples/daily-briefing/package-lock.json +10 -0
- package/dist/packages/sdk/examples/daily-briefing/package.json +4 -0
- package/dist/packages/sdk/examples/daily-briefing/pyproject.toml +8 -0
- package/dist/packages/sdk/examples/daily-briefing/reader/reader.css +35 -0
- package/dist/packages/sdk/examples/daily-briefing/reader/reader.js +42 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/context.json +1 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/documents/document-001.md +219 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/media.json +1 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/metadata/documents.json +39 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0001.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0002.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0003.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0004.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0005.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0006.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0007.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0008.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0009.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0010.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0011.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0012.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0013.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0014.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0015.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0016.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0017.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0018.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0019.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0020.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0021.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0022.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0023.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0024.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0025.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0026.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0027.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/records/chatgpt-0028.json +49 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/sessions.json +1 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/timeline.jsonl +28 -0
- package/dist/packages/sdk/examples/daily-briefing/sample/untimed.jsonl +0 -0
- package/dist/packages/sdk/examples/daily-briefing/sample-output.zip +0 -0
- package/dist/packages/sdk/examples/daily-briefing/sample-report.md +51 -0
- package/dist/packages/sdk/examples/daily-briefing/uv.lock +128 -0
- package/dist/packages/sdk/examples/daily-briefing/vendor/marked-LICENSE.md +44 -0
- package/dist/packages/sdk/examples/daily-briefing/vendor/marked.mjs +77 -0
- package/dist/packages/sdk/examples/files.json +126 -0
- package/dist/packages/sdk/examples/message-routing/README.md +23 -0
- package/dist/packages/sdk/examples/message-routing/TASK.md +5 -0
- package/dist/packages/sdk/examples/message-routing/choose-destination.mjs +10 -0
- package/dist/packages/sdk/examples/message-routing/create-ticket.mjs +15 -0
- package/dist/packages/sdk/examples/message-routing/inputs.json +1 -0
- package/dist/packages/sdk/examples/message-routing/message-routing.method +45 -0
- package/dist/packages/sdk/examples/message-routing/result.fixture.json +6 -0
- package/dist/packages/sdk/examples/message-routing/routing.mjs +29 -0
- package/dist/packages/sdk/examples/message-routing/routing.test.mjs +27 -0
- package/dist/packages/sdk/examples/message-routing/ticket.method +88 -0
- package/dist/packages/sdk/examples/message-routing/ticket.test.mjs +64 -0
- package/dist/packages/sdk/examples/notes-summary/README.md +23 -0
- package/dist/packages/sdk/examples/notes-summary/TASK.md +3 -0
- package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/case.json +36 -0
- package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/examples.json +16 -0
- package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/files/0 +10 -0
- package/dist/packages/sdk/examples/notes-summary/cases/dates-in-decisions/recording.json +195 -0
- package/dist/packages/sdk/examples/notes-summary/notes/2026-10-05-standup.md +4 -0
- package/dist/packages/sdk/examples/notes-summary/notes/2026-10-07-planning.md +3 -0
- package/dist/packages/sdk/examples/notes-summary/notes-summary.method +54 -0
- package/dist/packages/sdk/examples/notes-summary/out/.keep +0 -0
- package/dist/packages/sdk/examples/notes-summary/read-notes.mjs +4 -0
- package/dist/packages/sdk/examples/notes-summary/save.mjs +7 -0
- package/dist/packages/sdk/examples/outbound-management/README.md +119 -0
- package/dist/packages/sdk/examples/outbound-management/TASK.md +5 -0
- package/dist/packages/sdk/examples/outbound-management/check_plan.py +16 -0
- package/dist/packages/sdk/examples/outbound-management/check_sources.py +14 -0
- package/dist/packages/sdk/examples/outbound-management/crm.py +153 -0
- package/dist/packages/sdk/examples/outbound-management/crm_test.py +141 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/README.md +15 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/crm.json +54 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/day-1/messages.json +29 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/day-2/messages.json +38 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/observations.json +12 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/plan.json +69 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/receipt.json +1 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/state.json +99 -0
- package/dist/packages/sdk/examples/outbound-management/fixtures/tasks.md +16 -0
- package/dist/packages/sdk/examples/outbound-management/inputs.json +4 -0
- package/dist/packages/sdk/examples/outbound-management/outbound.method +277 -0
- package/dist/packages/sdk/examples/outbound-management/read_crm.py +4 -0
- package/dist/packages/sdk/examples/outbound-management/save_day.py +4 -0
- package/dist/packages/sdk/examples/outbound-management/starter/crm.json +11 -0
- package/dist/packages/sdk/examples/social-briefing/README.md +41 -0
- package/dist/packages/sdk/examples/social-briefing/TASK.md +5 -0
- package/dist/packages/sdk/examples/social-briefing/inputs.json +5 -0
- package/dist/packages/sdk/examples/social-briefing/result.fixture.json +14 -0
- package/dist/packages/sdk/examples/social-briefing/social-briefing.method +110 -0
- package/dist/packages/sdk/examples/support-triage/README.md +77 -0
- package/dist/packages/sdk/examples/support-triage/TASK.md +3 -0
- package/dist/packages/sdk/examples/support-triage/cases/double-charge-to-billing/case.json +40 -0
- package/dist/packages/sdk/examples/support-triage/cases/double-charge-to-billing/recording.json +460 -0
- package/dist/packages/sdk/examples/support-triage/fake-helpdesk.mjs +38 -0
- package/dist/packages/sdk/examples/support-triage/helpdesk.mjs +33 -0
- package/dist/packages/sdk/examples/support-triage/inputs.json +1 -0
- package/dist/packages/sdk/examples/support-triage/read-ticket.mjs +8 -0
- package/dist/packages/sdk/examples/support-triage/route.mjs +4 -0
- package/dist/packages/sdk/examples/support-triage/sample-tickets.json +5 -0
- package/dist/packages/sdk/examples/support-triage/set-ticket.mjs +9 -0
- package/dist/packages/sdk/examples/support-triage/support-triage.method +165 -0
- package/dist/packages/sdk/examples/support-triage/triage.mjs +38 -0
- package/dist/packages/sdk/examples/support-triage/triage.test.mjs +68 -0
- package/dist/packages/sdk/observers/mail.delivery/fetch.mjs +87 -0
- package/dist/packages/sdk/observers/mail.delivery/fixtures/bounce-by-recipient.json +1 -0
- package/dist/packages/sdk/observers/mail.delivery/fixtures/bounce.json +1 -0
- package/dist/packages/sdk/observers/mail.delivery/fixtures/delayed.json +1 -0
- package/dist/packages/sdk/observers/mail.delivery/fixtures/delivered.json +1 -0
- package/dist/packages/sdk/observers/mail.delivery/fixtures/empty.json +1 -0
- package/dist/packages/sdk/observers/mail.delivery/fixtures/other-message.json +1 -0
- package/dist/packages/sdk/observers/mail.delivery/judge.mjs +13 -0
- package/dist/packages/sdk/observers/mail.delivery/observer.json +14 -0
- package/dist/packages/sdk/package.json +232 -0
- package/dist/packages/sdk/src/authoring-example.d.ts +91 -0
- package/dist/packages/sdk/src/authoring-example.js +50 -0
- package/dist/packages/sdk/src/authoring-instructions.d.ts +20 -0
- package/dist/packages/sdk/src/authoring-instructions.js +151 -0
- package/dist/packages/sdk/src/authoring-prompt.d.ts +2 -0
- package/dist/packages/sdk/src/authoring-prompt.js +8 -0
- package/dist/packages/sdk/src/authoring.d.ts +10 -0
- package/dist/packages/sdk/src/authoring.js +287 -0
- package/dist/packages/sdk/src/bindings.d.ts +4 -0
- package/dist/packages/sdk/src/bindings.js +124 -0
- package/dist/packages/sdk/src/bridge.d.ts +2 -0
- package/dist/packages/sdk/src/bridge.js +23 -0
- package/dist/packages/sdk/src/browser-runtime/pyproject.toml +5 -0
- package/dist/packages/sdk/src/browser-runtime/tools.json +189 -0
- package/dist/packages/sdk/src/browser-runtime/uv.lock +3894 -0
- package/dist/packages/sdk/src/browser-service.py +127 -0
- package/dist/packages/sdk/src/browser.d.ts +38 -0
- package/dist/packages/sdk/src/browser.js +203 -0
- package/dist/packages/sdk/src/capabilities.d.ts +13 -0
- package/dist/packages/sdk/src/capabilities.js +68 -0
- package/dist/packages/sdk/src/classification-client.d.ts +4 -0
- package/dist/packages/sdk/src/classification-client.js +27 -0
- package/dist/packages/sdk/src/cloud.d.ts +23 -0
- package/dist/packages/sdk/src/cloud.js +43 -0
- package/dist/packages/sdk/src/computer-settings.d.ts +28 -0
- package/dist/packages/sdk/src/computer-settings.js +57 -0
- package/dist/packages/sdk/src/connect.d.ts +47 -0
- package/dist/packages/sdk/src/connect.js +203 -0
- package/dist/packages/sdk/src/current-inspection.d.ts +3 -0
- package/dist/packages/sdk/src/current-inspection.js +146 -0
- package/dist/packages/sdk/src/current-runtime.d.ts +14 -0
- package/dist/packages/sdk/src/current-runtime.js +167 -0
- package/dist/packages/sdk/src/doctor.d.ts +17 -0
- package/dist/packages/sdk/src/doctor.js +68 -0
- package/dist/packages/sdk/src/executable.d.ts +2 -0
- package/dist/packages/sdk/src/executable.js +22 -0
- package/dist/packages/sdk/src/explain-effects.d.ts +32 -0
- package/dist/packages/sdk/src/explain-effects.js +192 -0
- package/dist/packages/sdk/src/explain.d.ts +115 -0
- package/dist/packages/sdk/src/explain.js +441 -0
- package/dist/packages/sdk/src/files.d.ts +9 -0
- package/dist/packages/sdk/src/files.js +50 -0
- package/dist/packages/sdk/src/guard-keys.d.ts +5 -0
- package/dist/packages/sdk/src/guard-keys.js +42 -0
- package/dist/packages/sdk/src/hosted-models.d.ts +49 -0
- package/dist/packages/sdk/src/hosted-models.js +81 -0
- package/dist/packages/sdk/src/improve.d.ts +55 -0
- package/dist/packages/sdk/src/improve.js +159 -0
- package/dist/packages/sdk/src/index.d.ts +13 -0
- package/dist/packages/sdk/src/index.js +13 -0
- package/dist/packages/sdk/src/inspect.d.ts +6 -0
- package/dist/packages/sdk/src/inspect.js +17 -0
- package/dist/packages/sdk/src/link.d.ts +12 -0
- package/dist/packages/sdk/src/link.js +53 -0
- package/dist/packages/sdk/src/local-cli.d.ts +24 -0
- package/dist/packages/sdk/src/local-cli.js +146 -0
- package/dist/packages/sdk/src/local-setup.d.ts +15 -0
- package/dist/packages/sdk/src/local-setup.js +42 -0
- package/dist/packages/sdk/src/method-client.d.ts +30 -0
- package/dist/packages/sdk/src/method-client.js +250 -0
- package/dist/packages/sdk/src/method-files.d.ts +29 -0
- package/dist/packages/sdk/src/method-files.js +93 -0
- package/dist/packages/sdk/src/method-help.d.ts +19 -0
- package/dist/packages/sdk/src/method-help.js +404 -0
- package/dist/packages/sdk/src/method-issues.d.ts +86 -0
- package/dist/packages/sdk/src/method-issues.js +192 -0
- package/dist/packages/sdk/src/method-sync.d.ts +46 -0
- package/dist/packages/sdk/src/method-sync.js +293 -0
- package/dist/packages/sdk/src/method.d.ts +5 -0
- package/dist/packages/sdk/src/method.js +359 -0
- package/dist/packages/sdk/src/model-checks.d.ts +96 -0
- package/dist/packages/sdk/src/model-checks.js +181 -0
- package/dist/packages/sdk/src/outbox.d.ts +120 -0
- package/dist/packages/sdk/src/outbox.js +297 -0
- package/dist/packages/sdk/src/own-model-key.d.ts +22 -0
- package/dist/packages/sdk/src/own-model-key.js +76 -0
- package/dist/packages/sdk/src/prepare.d.ts +24 -0
- package/dist/packages/sdk/src/prepare.js +245 -0
- package/dist/packages/sdk/src/process.d.ts +15 -0
- package/dist/packages/sdk/src/process.js +107 -0
- package/dist/packages/sdk/src/production.d.ts +182 -0
- package/dist/packages/sdk/src/production.js +284 -0
- package/dist/packages/sdk/src/progress.d.ts +12 -0
- package/dist/packages/sdk/src/progress.js +48 -0
- package/dist/packages/sdk/src/proposals.d.ts +73 -0
- package/dist/packages/sdk/src/proposals.js +284 -0
- package/dist/packages/sdk/src/quality.d.ts +82 -0
- package/dist/packages/sdk/src/quality.js +294 -0
- package/dist/packages/sdk/src/result-files.d.ts +5 -0
- package/dist/packages/sdk/src/result-files.js +149 -0
- package/dist/packages/sdk/src/result-transfer.d.ts +21 -0
- package/dist/packages/sdk/src/result-transfer.js +37 -0
- package/dist/packages/sdk/src/run-data.d.ts +11 -0
- package/dist/packages/sdk/src/run-data.js +80 -0
- package/dist/packages/sdk/src/run-method.d.ts +2 -0
- package/dist/packages/sdk/src/run-method.js +2 -0
- package/dist/packages/sdk/src/run-saved.d.ts +5 -0
- package/dist/packages/sdk/src/run-saved.js +138 -0
- package/dist/packages/sdk/src/run-worker.d.ts +6 -0
- package/dist/packages/sdk/src/run-worker.js +131 -0
- package/dist/packages/sdk/src/secrets.d.ts +37 -0
- package/dist/packages/sdk/src/secrets.js +196 -0
- package/dist/packages/sdk/src/update.d.ts +5 -0
- package/dist/packages/sdk/src/update.js +39 -0
- package/dist/packages/sdk/src/versions.d.ts +58 -0
- package/dist/packages/sdk/src/versions.js +144 -0
- package/dist/packages/sdk/src/worker.d.ts +120 -0
- package/dist/packages/sdk/src/worker.js +443 -0
- package/dist/packages/workflow-language/src/execution.d.ts +1 -0
- package/dist/packages/workflow-language/src/execution.js +1 -0
- package/dist/packages/workflow-language/src/inspection.d.ts +990 -0
- package/dist/packages/workflow-language/src/inspection.js +130 -0
- package/dist/packages/workflow-language/src/result-files.d.ts +160 -0
- package/dist/packages/workflow-language/src/result-files.js +67 -0
- package/dist/packages/workflow-language/src/schema.d.ts +207 -0
- package/dist/packages/workflow-language/src/schema.js +56 -0
- package/dist/packages/workflow-language/src/validate.d.ts +11 -0
- package/dist/packages/workflow-language/src/validate.js +77 -0
- 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.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
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
|
+
}
|