@hasna/loops 0.4.28 → 0.4.29
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/CHANGELOG.md +84 -1
- package/README.md +226 -49
- package/dist/api/index.d.ts +20 -19
- package/dist/api/index.js +6846 -1087
- package/dist/cli/index.js +2471 -885
- package/dist/cli/safe-error-context.d.ts +1 -0
- package/dist/daemon/daemon.d.ts +1 -0
- package/dist/daemon/index.js +1786 -493
- package/dist/generated/storage-kit/index.d.ts +1 -1
- package/dist/generated/storage-kit/mode.d.ts +6 -12
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4778 -1016
- package/dist/lib/advancement.d.ts +52 -0
- package/dist/lib/agent-adapter.d.ts +20 -2
- package/dist/lib/auth/route-policy.d.ts +14 -0
- package/dist/lib/auth/tenant-auth.d.ts +38 -0
- package/dist/lib/cloud/mode.d.ts +2 -8
- package/dist/lib/cloud/storage.d.ts +1 -2
- package/dist/lib/cloud/transport.d.ts +4 -18
- package/dist/lib/errors.d.ts +43 -1
- package/dist/lib/format.d.ts +2 -2
- package/dist/lib/goal/runner.d.ts +36 -3
- package/dist/lib/health.d.ts +1 -1
- package/dist/lib/labels.d.ts +4 -0
- package/dist/lib/loop-status.d.ts +4 -0
- package/dist/lib/migration.d.ts +4 -17
- package/dist/lib/mode.d.ts +2 -5
- package/dist/lib/mode.js +27 -36
- package/dist/lib/route/index.d.ts +2 -2
- package/dist/lib/route/throttle.d.ts +7 -0
- package/dist/lib/route/types.d.ts +3 -0
- package/dist/lib/run-completion.d.ts +18 -0
- package/dist/lib/scheduler.d.ts +5 -11
- package/dist/lib/storage/contract.d.ts +15 -1
- package/dist/lib/storage/index.d.ts +1 -1
- package/dist/lib/storage/index.js +3864 -457
- package/dist/lib/storage/pg-executor.d.ts +10 -5
- package/dist/lib/storage/postgres-loop-storage.d.ts +50 -24
- package/dist/lib/storage/postgres-schema.d.ts +8 -0
- package/dist/lib/storage/postgres-schema.js +1323 -1
- package/dist/lib/storage/postgres.d.ts +3 -1
- package/dist/lib/storage/postgres.js +1353 -27
- package/dist/lib/storage/provider-credentials.d.ts +84 -0
- package/dist/lib/storage/shared-database-transfer.d.ts +136 -0
- package/dist/lib/storage/sqlite.d.ts +15 -2
- package/dist/lib/storage/sqlite.js +1299 -217
- package/dist/lib/storage/tenant-backfill-s3.d.ts +53 -0
- package/dist/lib/storage/tenant-backfill.d.ts +40 -0
- package/dist/lib/store/index.d.ts +11 -8
- package/dist/lib/store.d.ts +52 -7
- package/dist/lib/store.js +1266 -217
- package/dist/lib/templates.d.ts +11 -0
- package/dist/lib/workflow-events.d.ts +6 -0
- package/dist/lib/workflow-provenance.d.ts +8 -0
- package/dist/lib/workflow-runner.d.ts +52 -4
- package/dist/mcp/index.js +1961 -651
- package/dist/runner/index.d.ts +20 -2
- package/dist/runner/index.js +2113 -177
- package/dist/sdk/http.d.ts +211 -3
- package/dist/sdk/http.js +301 -0
- package/dist/sdk/index.d.ts +7 -2
- package/dist/sdk/index.js +1959 -711
- package/dist/serve/index.d.ts +14 -0
- package/dist/serve/index.js +12323 -1743
- package/dist/types.d.ts +64 -3
- package/docs/AUTOMATION_RUNTIME_DESIGN.md +32 -32
- package/docs/CUTOVER-RUNBOOK.md +158 -31
- package/docs/DEPLOYMENT_MODES.md +78 -56
- package/docs/RUNTIME_BOUNDARY.md +26 -26
- package/docs/SHARED-DATABASE-TRANSFER.md +95 -0
- package/docs/SHARED_KIT_EXTRACTION_INVENTORY.md +631 -0
- package/docs/TRANSCRIPT_LOOP_PATTERNS.md +3 -3
- package/docs/UNIFIED_PRODUCT_CONTRACT.md +365 -0
- package/docs/USAGE.md +143 -52
- package/docs/workflows/transcript-feedback-to-loops.json +2 -2
- package/package.json +7 -3
- package/dist/lib/storage/pg-runner-claim.d.ts +0 -40
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
export declare const STORAGE_MODES: readonly ["local", "cloud"];
|
|
2
2
|
export type StorageMode = (typeof STORAGE_MODES)[number];
|
|
3
|
-
export declare const DEPRECATED_STORAGE_MODE_ALIASES: readonly ["remote", "hybrid", "self_hosted"];
|
|
4
3
|
export type Env = Record<string, string | undefined>;
|
|
5
4
|
export interface StorageModeNormalization {
|
|
6
5
|
mode: StorageMode;
|
|
7
|
-
/** The deprecated alias that was normalized to `cloud`, if any. */
|
|
8
|
-
deprecatedAlias: string | null;
|
|
9
6
|
}
|
|
10
7
|
/**
|
|
11
8
|
* Normalize a raw storage-mode string to the `local | cloud` runtime enum.
|
|
12
|
-
*
|
|
13
|
-
* to `cloud`. Throws on any other value.
|
|
9
|
+
* Accept only the canonical local/cloud values.
|
|
14
10
|
*/
|
|
15
11
|
export declare function normalizeStorageMode(value: string): StorageModeNormalization;
|
|
16
12
|
/** Upper-snake env token for an app name, e.g. `todos` -> `TODOS`. */
|
|
17
13
|
export declare function envToken(name: string): string;
|
|
18
14
|
export interface StorageEnvKeys {
|
|
19
|
-
/**
|
|
15
|
+
/** Canonical storage mode key. */
|
|
20
16
|
modeKeys: string[];
|
|
21
|
-
/**
|
|
17
|
+
/** Canonical database URL key. */
|
|
22
18
|
databaseUrlKeys: string[];
|
|
23
19
|
}
|
|
24
20
|
/** Resolve the canonical env-key spec for an app's storage config. */
|
|
@@ -27,7 +23,6 @@ export interface StorageModeResolution {
|
|
|
27
23
|
mode: StorageMode;
|
|
28
24
|
/** Env key the mode came from, or `"default"`. */
|
|
29
25
|
source: string;
|
|
30
|
-
deprecatedAlias: string | null;
|
|
31
26
|
databaseUrlPresent: boolean;
|
|
32
27
|
/** Env key the database URL came from, or `null`. */
|
|
33
28
|
databaseUrlSource: string | null;
|
|
@@ -35,13 +30,12 @@ export interface StorageModeResolution {
|
|
|
35
30
|
}
|
|
36
31
|
/**
|
|
37
32
|
* Resolve an app's storage mode from the environment per the contract env spec.
|
|
38
|
-
*
|
|
39
|
-
* `local`. Never reads secret values — only detects DATABASE_URL presence.
|
|
33
|
+
* Unset mode means `local`. Never reads secret values.
|
|
40
34
|
*/
|
|
41
35
|
export declare function resolveStorageMode(name: string, env?: Env): StorageModeResolution;
|
|
42
36
|
/**
|
|
43
|
-
* Resolve the database URL value for an app
|
|
44
|
-
*
|
|
37
|
+
* Resolve the canonical database URL value for an app. Returns `null` when
|
|
38
|
+
* unset. The caller is responsible for never
|
|
45
39
|
* logging the returned value.
|
|
46
40
|
*/
|
|
47
41
|
export declare function resolveDatabaseUrl(name: string, env?: Env): string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type { ListLoopsFilters, ListRunsFilters, LoopsClientOptions } from "./sd
|
|
|
11
11
|
export { createLoopsMcpServer, listToolsForCli, LOOPS_MCP_TOOLS } from "./mcp/index.js";
|
|
12
12
|
export type { LoopsMcpToolMetadata } from "./mcp/index.js";
|
|
13
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";
|
|
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, AgentSessionContract, AgentTarget, AgentTargetBase, AgentWorktreeMode, AgentWorktreeSpec, CommandTarget, ExecutableTarget, ExecutableTargetInput, LoopTarget, LoopTargetInput, PromptFileAgentTarget, RuntimePreflightPolicy, WorkflowTarget, AgentSessionContractWorkflowEvent, CreateWorkflowInput, CustomWorkflowEvent, GenericWorkflowEvent, PublicWorkflowEvent, WorkflowEvent, WorkflowEventBase, WorkflowLifecycleEventType, WorkflowRun, WorkflowRunStatus, WorkflowSpec, WorkflowStatus, WorkflowStep, WorkflowStepInput, WorkflowStepRun, WorkflowStepRunStatus, } from "./types.js";
|
|
15
15
|
export { runDoctor } from "./lib/doctor.js";
|
|
16
16
|
export type { DoctorCheck, DoctorReport, DoctorSeverity } from "./lib/doctor.js";
|
|
17
17
|
export { buildHealthReport, buildHealthScan, classifyRunFailure, expectationForLoop, writeHealthScanReports } from "./lib/health.js";
|
|
@@ -30,9 +30,9 @@ export { workflowBodyFromJson, workflowExecutionOrder } from "./lib/workflow-spe
|
|
|
30
30
|
export { listOpenMachines, refreshLoopMachine, resolveLoopMachine } from "./lib/machines.js";
|
|
31
31
|
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";
|
|
32
32
|
export { buildDuplicateOverlapReport, buildNameHygieneReport, buildScriptInventoryReport } from "./lib/hygiene.js";
|
|
33
|
-
export { LOOPS_MIGRATION_SCHEMA, applyImportMigrationBundle, buildImportMigrationPlan, buildSelfHostedMigrationPlan, exportLoopsMigrationBundle, migrationHash, publicMigrationBundle,
|
|
33
|
+
export { LOOPS_MIGRATION_SCHEMA, applyImportMigrationBundle, buildImportMigrationPlan, buildSelfHostedMigrationPlan, exportLoopsMigrationBundle, migrationHash, publicMigrationBundle, selfHostedControlPlaneSummary, validateLoopsMigrationBundle, } from "./lib/migration.js";
|
|
34
34
|
export { runGoal } from "./lib/goal/runner.js";
|
|
35
35
|
export { resolveGoalModel } from "./lib/goal/model-factory.js";
|
|
36
36
|
export { isTerminal as isGoalTerminal, readyNodeKeys, rollupSummary } from "./lib/goal/status.js";
|
|
37
37
|
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";
|
|
38
|
-
export type { ApplyLoopsMigrationResult, ExportLoopsMigrationOptions, ImportLoopsMigrationOptions, LoopsMigrationAction, LoopsMigrationBundle, LoopsMigrationPlan, LoopsMigrationPlanRow, LoopsMigrationPlanSummary, LoopsMigrationResource,
|
|
38
|
+
export type { ApplyLoopsMigrationResult, ExportLoopsMigrationOptions, ImportLoopsMigrationOptions, LoopsMigrationAction, LoopsMigrationBundle, LoopsMigrationPlan, LoopsMigrationPlanRow, LoopsMigrationPlanSummary, LoopsMigrationResource, SelfHostedPlanOptions, } from "./lib/migration.js";
|