@hasna/loops 0.3.60 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +265 -0
  2. package/LICENSE +197 -13
  3. package/README.md +95 -85
  4. package/dist/api/index.d.ts +11 -0
  5. package/dist/api/index.js +333 -0
  6. package/dist/cli/index.js +8013 -6659
  7. package/dist/daemon/control.d.ts +21 -1
  8. package/dist/daemon/daemon.d.ts +5 -0
  9. package/dist/daemon/index.js +2836 -1222
  10. package/dist/daemon/install.d.ts +1 -1
  11. package/dist/index.d.ts +23 -8
  12. package/dist/index.js +5715 -4541
  13. package/dist/lib/accounts.d.ts +6 -1
  14. package/dist/lib/agent-adapter.d.ts +74 -0
  15. package/dist/lib/backup.d.ts +25 -0
  16. package/dist/lib/errors.d.ts +21 -0
  17. package/dist/lib/executor.d.ts +10 -1
  18. package/dist/lib/goal/metadata.d.ts +16 -0
  19. package/dist/lib/goal/model-factory.d.ts +1 -0
  20. package/dist/lib/goal/prompts.d.ts +3 -1
  21. package/dist/lib/goal/types.d.ts +3 -0
  22. package/dist/lib/health.d.ts +1 -1
  23. package/dist/lib/ids.d.ts +8 -1
  24. package/dist/lib/machines.d.ts +6 -0
  25. package/dist/lib/mode.d.ts +48 -0
  26. package/dist/lib/mode.js +260 -0
  27. package/dist/lib/process-identity.d.ts +16 -0
  28. package/dist/lib/{schedule.d.ts → recurrence.d.ts} +1 -0
  29. package/dist/lib/redact.d.ts +21 -0
  30. package/dist/lib/route/cursors.d.ts +18 -0
  31. package/dist/lib/route/drain.d.ts +6 -0
  32. package/dist/lib/route/fields.d.ts +27 -0
  33. package/dist/lib/route/gates.d.ts +26 -0
  34. package/dist/lib/route/index.d.ts +18 -0
  35. package/dist/lib/route/options.d.ts +31 -0
  36. package/dist/lib/route/parse.d.ts +8 -0
  37. package/dist/lib/route/pr-review.d.ts +11 -0
  38. package/dist/lib/route/provider.d.ts +41 -0
  39. package/dist/lib/route/route-event.d.ts +23 -0
  40. package/dist/lib/route/route-tasks.d.ts +75 -0
  41. package/dist/lib/route/throttle.d.ts +47 -0
  42. package/dist/lib/route/todos-cli.d.ts +21 -0
  43. package/dist/lib/route/types.d.ts +88 -0
  44. package/dist/lib/run-artifacts.d.ts +17 -2
  45. package/dist/lib/run-envelope.d.ts +41 -0
  46. package/dist/lib/scheduler.d.ts +78 -2
  47. package/dist/lib/store.d.ts +63 -0
  48. package/dist/lib/store.js +1007 -287
  49. package/dist/lib/template-kit.d.ts +70 -0
  50. package/dist/lib/templates-custom.d.ts +34 -0
  51. package/dist/lib/templates.d.ts +13 -81
  52. package/dist/lib/workflow-runner.d.ts +2 -0
  53. package/dist/mcp/index.d.ts +3 -0
  54. package/dist/mcp/index.js +3231 -1382
  55. package/dist/runner/index.d.ts +9 -0
  56. package/dist/runner/index.js +295 -0
  57. package/dist/sdk/index.d.ts +29 -3
  58. package/dist/sdk/index.js +2743 -1044
  59. package/dist/test-helpers.d.ts +37 -0
  60. package/dist/types.d.ts +3 -1
  61. package/docs/DEPLOYMENT_MODES.md +140 -0
  62. package/docs/USAGE.md +102 -46
  63. package/package.json +23 -5
@@ -10,5 +10,5 @@ export interface InstallStartupResult {
10
10
  instructions: string[];
11
11
  enableResults?: StartupEnableResult[];
12
12
  }
13
- export declare function installStartup(cliEntry: string, execPath?: string, args?: string[]): InstallStartupResult;
13
+ export declare function installStartup(cliEntry: string, execPath?: string, args?: string[], platform?: NodeJS.Platform): InstallStartupResult;
14
14
  export declare function enableStartup(result: InstallStartupResult): StartupEnableResult[];
package/dist/index.d.ts CHANGED
@@ -1,19 +1,34 @@
1
- export * from "./types.js";
1
+ /**
2
+ * Curated public API for @hasna/loops.
3
+ *
4
+ * Stable exports are safe to build on and follow semver. Experimental exports
5
+ * may change shape between minor versions; import them knowingly. The
6
+ * `@hasna/loops/storage` subpath (the raw Store) is internal plumbing kept
7
+ * only for advanced integrations and may change without notice.
8
+ */
2
9
  export { LoopsClient, loops, openAutomationsRuntimeBinding } from "./sdk/index.js";
3
- export type { LoopsClientOptions } from "./sdk/index.js";
10
+ export type { ListLoopsFilters, ListRunsFilters, LoopsClientOptions } from "./sdk/index.js";
4
11
  export { createLoopsMcpServer, listToolsForCli, LOOPS_MCP_TOOLS } from "./mcp/index.js";
5
12
  export type { LoopsMcpToolMetadata } from "./mcp/index.js";
13
+ export { AmbiguousNameError, CodedError, LoopArchivedError, LoopNotFoundError, ValidationError } from "./lib/errors.js";
14
+ export type { CatchUpPolicy, CreateLoopInput, ExecutorResult, IntervalAnchor, Loop, LoopRun, LoopStatus, OverlapPolicy, RunStatus, TimeoutMs, CronSchedule, DynamicSchedule, IntervalSchedule, OnceSchedule, ScheduleSpec, AccountRef, AgentAllowlistSpec, AgentConfigIsolation, AgentPermissionMode, AgentPromptSource, AgentProvider, AgentRoutingSpec, AgentSandbox, AgentTarget, AgentTargetBase, AgentWorktreeMode, AgentWorktreeSpec, CommandTarget, ExecutableTarget, ExecutableTargetInput, LoopTarget, LoopTargetInput, PromptFileAgentTarget, RuntimePreflightPolicy, WorkflowTarget, CreateWorkflowInput, WorkflowEvent, WorkflowRun, WorkflowRunStatus, WorkflowSpec, WorkflowStatus, WorkflowStep, WorkflowStepInput, WorkflowStepRun, WorkflowStepRunStatus, } from "./types.js";
15
+ export { runDoctor } from "./lib/doctor.js";
16
+ export type { DoctorCheck, DoctorReport, DoctorSeverity } from "./lib/doctor.js";
17
+ export { buildHealthReport, classifyRunFailure, expectationForLoop } from "./lib/health.js";
18
+ export type { LoopExpectationResult, LoopsHealthReport, RunFailureClassification, RunFailureSignal, } from "./lib/health.js";
19
+ export { computeNextAfter, initialNextRun, nextCronRun, parseCron, parseDuration } from "./lib/recurrence.js";
20
+ export { runLoopNow, tick } from "./lib/scheduler.js";
21
+ export type { ManualRunSource, RunLoopNowDeps, RunLoopNowExecuted, RunLoopNowMode, RunLoopNowResult, RunLoopNowScheduled, } from "./lib/scheduler.js";
6
22
  export { Store } from "./lib/store.js";
7
- export { parseDuration, parseCron, nextCronRun, initialNextRun, computeNextAfter } from "./lib/schedule.js";
23
+ export { LOOP_DEPLOYMENT_MODES, buildDeploymentStatus, deploymentStatusLine, loopControlPlaneConfig, normalizeLoopDeploymentMode, resolveLoopDeploymentMode, } from "./lib/mode.js";
24
+ export type { LoopControlPlaneConfig, LoopDeploymentMode, LoopDeploymentStatus, LoopModeResolution, LoopSourceOfTruth } from "./lib/mode.js";
8
25
  export { executeLoop, executeTarget, preflightTarget } from "./lib/executor.js";
26
+ export { executeLoopTarget, executeWorkflow, preflightWorkflow } from "./lib/workflow-runner.js";
27
+ export { workflowBodyFromJson, workflowExecutionOrder } from "./lib/workflow-spec.js";
9
28
  export { listOpenMachines, refreshLoopMachine, resolveLoopMachine } from "./lib/machines.js";
10
- export { tick } from "./lib/scheduler.js";
11
- export { executeWorkflow, executeLoopTarget, preflightWorkflow } from "./lib/workflow-runner.js";
12
- export { workflowExecutionOrder, workflowBodyFromJson } from "./lib/workflow-spec.js";
13
29
  export { BOUNDED_AGENT_WORKER_VERIFIER_TEMPLATE_ID, EVENT_WORKER_VERIFIER_TEMPLATE_ID, TODOS_TASK_WORKER_VERIFIER_TEMPLATE_ID, getLoopTemplate, listLoopTemplates, renderBoundedAgentWorkerVerifierWorkflow, renderEventWorkerVerifierWorkflow, renderLoopTemplate, renderTodosTaskWorkerVerifierWorkflow, } from "./lib/templates.js";
14
- export { runDoctor } from "./lib/doctor.js";
15
- export { buildHealthReport, classifyRunFailure, expectationForLoop } from "./lib/health.js";
16
30
  export { buildDuplicateOverlapReport, buildNameHygieneReport, buildScriptInventoryReport } from "./lib/hygiene.js";
17
31
  export { runGoal } from "./lib/goal/runner.js";
18
32
  export { resolveGoalModel } from "./lib/goal/model-factory.js";
19
33
  export { isTerminal as isGoalTerminal, readyNodeKeys, rollupSummary } from "./lib/goal/status.js";
34
+ export type { CreateWorkflowInvocationInput, Goal, GoalAutoExecute, GoalExecutorResult, GoalPlan, GoalPlanNode, GoalPlanNodeStatus, GoalPlanStatus, GoalRollup, GoalRun, GoalSpec, GoalStatus, LoopMachineConfidence, LoopMachineRef, LoopMachineRoute, LoopTemplateKind, LoopTemplateSource, LoopTemplateSummary, LoopTemplateVariable, LoopTemplateVariableType, OpenAutomationsRuntimeBinding, PersistGuardOptions, UpsertWorkflowWorkItemInput, WorkflowInvocation, WorkflowInvocationIntent, WorkflowInvocationOutputPolicy, WorkflowInvocationRef, WorkflowInvocationScope, WorkflowInvocationSourceKind, WorkflowInvocationSubjectKind, WorkflowWorkItem, WorkflowWorkItemStatus, } from "./types.js";