@proposit/proposit-core 2.5.0 → 3.0.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.
@@ -0,0 +1,12 @@
1
+ /** Ordered stage ids of the scholar ingestion pipeline. */
2
+ export declare const INGESTION_SCHOLAR_STAGE_IDS: readonly string[];
3
+ /** Ordered stage ids of the scribe ingestion pipeline. */
4
+ export declare const INGESTION_SCRIBE_STAGE_IDS: readonly string[];
5
+ /**
6
+ * The ordered canonical stage ids for a pipeline id, or an empty list for an
7
+ * unknown / absent id (so a consumer degrades gracefully to whatever stages it
8
+ * actually observes). The ids are the stable pipeline identifiers set by the
9
+ * scholar / scribe factories.
10
+ */
11
+ export declare function getCanonicalStageIds(pipelineId: string | undefined): readonly string[];
12
+ //# sourceMappingURL=canonical-stages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-stages.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/canonical-stages.ts"],"names":[],"mappings":"AASA,2DAA2D;AAC3D,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAaxD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAWvD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,SAAS,MAAM,EAAE,CAMnB"}
@@ -0,0 +1,50 @@
1
+ // Canonical stage-id ordering for the ingestion pipeline family.
2
+ //
3
+ // Each list is the ordered stage-id sequence the corresponding factory
4
+ // (`createScholarPipeline` / `createScribePipeline`) produces — the single
5
+ // source of truth a consumer can import to render or drive the pipeline's
6
+ // stages without hardcoding its own copy. The lists are maintained by hand and
7
+ // guarded against drift by a test that asserts each equals
8
+ // `pipeline.stages.map((s) => s.id)`.
9
+ /** Ordered stage ids of the scholar ingestion pipeline. */
10
+ export const INGESTION_SCHOLAR_STAGE_IDS = [
11
+ "segmentation",
12
+ "claim-mention-extraction",
13
+ "citation-source-detection",
14
+ "axiom-indicator-detection",
15
+ "claim-canonicalization",
16
+ "claim-type-classification",
17
+ "claim-reference-validation",
18
+ "variable-assignment",
19
+ "relation-extraction",
20
+ "conclusion-selection",
21
+ "formula-compilation",
22
+ "formula-validation",
23
+ ];
24
+ /** Ordered stage ids of the scribe ingestion pipeline. */
25
+ export const INGESTION_SCRIBE_STAGE_IDS = [
26
+ "extract",
27
+ "claim-canonicalization",
28
+ "claim-type-classification",
29
+ "claim-reference-validation",
30
+ "variable-assignment",
31
+ "scribe-structure",
32
+ "relation-extraction",
33
+ "conclusion-selection",
34
+ "formula-compilation",
35
+ "formula-validation",
36
+ ];
37
+ /**
38
+ * The ordered canonical stage ids for a pipeline id, or an empty list for an
39
+ * unknown / absent id (so a consumer degrades gracefully to whatever stages it
40
+ * actually observes). The ids are the stable pipeline identifiers set by the
41
+ * scholar / scribe factories.
42
+ */
43
+ export function getCanonicalStageIds(pipelineId) {
44
+ if (pipelineId === "argument-ingestion-scholar")
45
+ return INGESTION_SCHOLAR_STAGE_IDS;
46
+ if (pipelineId === "argument-ingestion-scribe")
47
+ return INGESTION_SCRIBE_STAGE_IDS;
48
+ return [];
49
+ }
50
+ //# sourceMappingURL=canonical-stages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-stages.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/canonical-stages.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,+EAA+E;AAC/E,2DAA2D;AAC3D,sCAAsC;AAEtC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC1D,cAAc;IACd,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;CACvB,CAAA;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IACzD,SAAS;IACT,wBAAwB;IACxB,2BAA2B;IAC3B,4BAA4B;IAC5B,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;CACvB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAChC,UAA8B;IAE9B,IAAI,UAAU,KAAK,4BAA4B;QAC3C,OAAO,2BAA2B,CAAA;IACtC,IAAI,UAAU,KAAK,2BAA2B;QAC1C,OAAO,0BAA0B,CAAA;IACrC,OAAO,EAAE,CAAA;AACb,CAAC"}
@@ -2,4 +2,5 @@ export { createScholarPipeline } from "./scholar/index.js";
2
2
  export type { TCreateScholarPipelineOptions } from "./scholar/index.js";
3
3
  export { createScribePipeline } from "./scribe/index.js";
4
4
  export type { TCreateScribePipelineOptions } from "./scribe/index.js";
5
+ export { INGESTION_SCHOLAR_STAGE_IDS, INGESTION_SCRIBE_STAGE_IDS, getCanonicalStageIds, } from "./canonical-stages.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EACH,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,GACvB,MAAM,uBAAuB,CAAA"}
@@ -2,4 +2,5 @@
2
2
  // Subpath: @proposit/proposit-core/pipelines/ingestion
3
3
  export { createScholarPipeline } from "./scholar/index.js";
4
4
  export { createScribePipeline } from "./scribe/index.js";
5
+ export { INGESTION_SCHOLAR_STAGE_IDS, INGESTION_SCRIBE_STAGE_IDS, getCanonicalStageIds, } from "./canonical-stages.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/ingestion/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uDAAuD;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EACH,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,GACvB,MAAM,uBAAuB,CAAA"}
@@ -63,9 +63,6 @@ export { executePipeline, executeStage, executeFinalize, launchStage, completeSt
63
63
  export type { TStage, TStageContext, TStageStatus, TPipeline, TPipelineFinalize, TProcessingFailure, TPipelineResult, TPipelineEvent, TDepSpec, TOptionalDep, TRetryPolicy, TRetryReason, TExecutePipelineDeps, TStageOutcomeRecord, TExecuteStageDeps, TExecuteStageResult, TExecuteFinalizeResult, TLaunchStageResult, } from "./pipelines/index.js";
64
64
  export { LlmTokenUsageSchema } from "./llm/index.js";
65
65
  export type { TLlmProvider, TLlmRequest, TLlmResponse, TLlmTokenUsage, TLlmModel, TReasoningEffort, TToolSpec, TResponseStatus, TRetrievedResponse, } from "./llm/index.js";
66
- export { createOpenAiResponsesProvider } from "../extensions/openai/index.js";
67
- export type { TCreateOpenAiResponsesProviderOptions, TOpenAiFetch, } from "../extensions/openai/index.js";
68
- export { NonRetryableLlmError, QuotaExhaustedLlmError, RateLimitLlmError, SchemaValidationLlmError, ToolLoopExhaustedError, TransientLlmError, } from "../extensions/openai/index.js";
69
66
  export { InvalidArgumentStructureError, UnknownExpressionError, NotOperatorNotDecidableError, } from "./core/review-errors.js";
70
67
  export type { TNotOperatorNotDecidableReason } from "./core/review-errors.js";
71
68
  export { collectArgumentReferencedClaims } from "./core/review-helpers.js";
@@ -74,6 +71,4 @@ export { canonicalizeOperatorAssignments } from "./core/review-helpers.js";
74
71
  export type { TCanonicalizeOperatorAssignmentsInput } from "./core/review-helpers.js";
75
72
  export { executeTurn, createConversation, ConversationClosedError, } from "./conversation/index.js";
76
73
  export type { TTurnInput, TTurnResult, TExecuteTurnDeps, TConversation, TMultiTurnInput, TMultiTurnOutput, TResponseId, } from "./conversation/index.js";
77
- export { createReviewTurn, createSimulateTurn, createDistillTurn, } from "../extensions/builder/index.js";
78
- export type { TDistillTurnOptions, TDistillOutput, } from "../extensions/builder/index.js";
79
74
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
package/dist/lib/index.js CHANGED
@@ -42,28 +42,19 @@ export { validateArgument, validateArgumentAfterPremiseMutation, validateArgumen
42
42
  export { InvariantViolationError } from "./core/invariant-violation-error.js";
43
43
  export { executePipeline, executeStage, executeFinalize, launchStage, completeStage, optional, deterministicStage, llmStage, subPipelineStage, isLlmStage, DEFAULT_RETRY_POLICY, PipelineConfigurationError, LlmStageRetryExhaustedError, StageAbortedError, SubPipelineFailedError, LLM_QUOTA_EXHAUSTED, LLM_RATE_LIMITED, LLM_TRANSIENT_ERROR, LLM_NON_RETRYABLE_ERROR, LLM_UNKNOWN_ERROR, OUTPUT_SCHEMA_INVALID, ProcessingFailureSchema, } from "./pipelines/index.js";
44
44
  export { LlmTokenUsageSchema } from "./llm/index.js";
45
- // Concrete OpenAI Responses-API provider, surfaced from the lib
46
- // barrel for ergonomic single-import access from consumers
47
- // (`@proposit/proposit-core` package-root import). The provider also
48
- // has a dedicated subpath export at `@proposit/proposit-core/extensions/openai`
49
- // for callers that prefer to tree-shake provider machinery out of
50
- // their builds.
51
- export { createOpenAiResponsesProvider } from "../extensions/openai/index.js";
52
- export { NonRetryableLlmError, QuotaExhaustedLlmError, RateLimitLlmError, SchemaValidationLlmError, ToolLoopExhaustedError, TransientLlmError, } from "../extensions/openai/index.js";
53
- // NOTE: the ingestion pipelines + their task contract are NOT re-exported
54
- // from this root barrel. They ship as their own subpaths —
55
- // `@proposit/proposit-core/pipelines/base` (the shared contract +
56
- // helpers) and `@proposit/proposit-core/pipelines/ingestion` (the
57
- // `createScholarPipeline` / `createScribePipeline` factories). The root
58
- // barrel carries only the engine, the pipeline framework, and the
59
- // provider extensions.
45
+ // Opinionated extensions are NOT re-exported from this root barrel; each
46
+ // ships as its own subpath so the root stays the pure engine + pipeline
47
+ // framework. The concrete OpenAI Responses-API provider (and its error
48
+ // classes) lives at `@proposit/proposit-core/extensions/openai`; the
49
+ // ingestion pipelines + their task contract at
50
+ // `@proposit/proposit-core/pipelines/base` (shared contract + helpers) and
51
+ // `@proposit/proposit-core/pipelines/ingestion` (the `createScholarPipeline`
52
+ // / `createScribePipeline` factories); the Argument Builder turn factories at
53
+ // `@proposit/proposit-core/builder`.
60
54
  export { InvalidArgumentStructureError, UnknownExpressionError, NotOperatorNotDecidableError, } from "./core/review-errors.js";
61
55
  export { collectArgumentReferencedClaims } from "./core/review-helpers.js";
62
56
  export { canonicalizeOperatorAssignments } from "./core/review-helpers.js";
63
57
  // Conversation primitive — multi-turn LLM exchange support.
64
58
  // Subpath: @proposit/proposit-core/conversation
65
59
  export { executeTurn, createConversation, ConversationClosedError, } from "./conversation/index.js";
66
- // Builder extension — Argument Builder turn factories.
67
- // Subpath: @proposit/proposit-core/builder
68
- export { createReviewTurn, createSimulateTurn, createDistillTurn, } from "../extensions/builder/index.js";
69
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { TDepSpec } from "./types.js";
2
+ import type { TStageOutcomeRecord } from "./single-stage.js";
3
+ export { optional, depId, isOptionalDep } from "./types.js";
4
+ export type { TDepSpec, TOptionalDep } from "./types.js";
5
+ /** A serializable stage descriptor — all an eligibility check needs. */
6
+ export type TStageDescriptor = {
7
+ id: string;
8
+ dependsOn: readonly TDepSpec[];
9
+ };
10
+ type TRecordMap = Readonly<Record<string, TStageOutcomeRecord>>;
11
+ /**
12
+ * A stage is eligible to run once every required dep is `completed` and every
13
+ * optional dep has reached some terminal outcome.
14
+ */
15
+ export declare function isStageEligible(stage: TStageDescriptor, records: TRecordMap): boolean;
16
+ /**
17
+ * A stage is skip-eligible when a REQUIRED dep reached a non-`completed`
18
+ * terminal outcome (skipped / failed) — the dependent then skips rather than
19
+ * failing.
20
+ */
21
+ export declare function hasRequiredFailureUpstream(stage: TStageDescriptor, records: TRecordMap): boolean;
22
+ /** A scheduling step: stages to launch now + stages to mark skipped now. */
23
+ export type TDagProgress<TStage extends TStageDescriptor> = {
24
+ /** Stages eligible to run now (deps satisfied, not yet terminal). */
25
+ runnable: TStage[];
26
+ /**
27
+ * Stages whose required dep failed (skip-eligible, not yet terminal).
28
+ * Marking each `skipped` lets its optional-dependent downstream stages
29
+ * then reach eligibility (eager skip propagation).
30
+ */
31
+ skippable: TStage[];
32
+ };
33
+ /**
34
+ * From the full descriptor list + the committed terminal-outcome map, partition
35
+ * the not-yet-terminal stages into the ones to launch now (`runnable`) and the
36
+ * ones to mark skipped now (`skippable`). An already-terminal stage appears in
37
+ * neither. Skip-eligibility takes precedence over runnability (the two sets are
38
+ * disjoint). Generic over the descriptor subtype so a caller carrying extra
39
+ * serializable fields gets them back on the partitioned stages.
40
+ */
41
+ export declare function computeDagProgress<TStage extends TStageDescriptor>(stages: readonly TStage[], records: TRecordMap): TDagProgress<TStage>;
42
+ //# sourceMappingURL=scheduling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/lib/pipelines/scheduling.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC3D,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAExD,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;CACjC,CAAA;AAED,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;AAE/D;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,UAAU,GACpB,OAAO,CAaT;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,UAAU,GACpB,OAAO,CAOT;AAED,4EAA4E;AAC5E,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,gBAAgB,IAAI;IACxD,qEAAqE;IACrE,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB;;;;OAIG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,gBAAgB,EAC9D,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,UAAU,GACpB,YAAY,CAAC,MAAM,CAAC,CAYtB"}
@@ -0,0 +1,79 @@
1
+ // Descriptor-based DAG scheduling helpers.
2
+ //
3
+ // These compute stage eligibility from a serializable stage descriptor
4
+ // (`{ id, dependsOn }`) plus a plain record map of terminal outcomes — no
5
+ // `TStage` with its `run`/`outputSchema`, no live `Map`, no I/O. They exist so
6
+ // a consumer that drives the pipeline DAG out of process (e.g. persisting each
7
+ // stage outcome and advancing across separate invocations) can decide what to
8
+ // launch and what to skip without re-implementing the scheduler-loop
9
+ // eligibility rules. They mirror the in-process scheduler's semantics exactly:
10
+ //
11
+ // - a REQUIRED dep is satisfied only when its outcome is `completed`;
12
+ // - an OPTIONAL dep is satisfied once it reaches ANY terminal outcome
13
+ // (`completed` / `skipped` / `failed`);
14
+ // - a stage with a REQUIRED dep that reached a non-`completed` terminal
15
+ // outcome is skip-eligible — the dependent skips rather than failing, and
16
+ // marking it `skipped` lets its OPTIONAL-dependent downstream stages then
17
+ // reach eligibility (eager skip propagation).
18
+ import { depId, isOptionalDep } from "./types.js";
19
+ export { optional, depId, isOptionalDep } from "./types.js";
20
+ /**
21
+ * A stage is eligible to run once every required dep is `completed` and every
22
+ * optional dep has reached some terminal outcome.
23
+ */
24
+ export function isStageEligible(stage, records) {
25
+ for (const dep of stage.dependsOn) {
26
+ const id = depId(dep);
27
+ const record = records[id];
28
+ if (isOptionalDep(dep)) {
29
+ // Optional: eligible once the upstream has ANY final outcome.
30
+ if (!record)
31
+ return false;
32
+ continue;
33
+ }
34
+ if (!record)
35
+ return false;
36
+ if (record.outcome !== "completed")
37
+ return false;
38
+ }
39
+ return true;
40
+ }
41
+ /**
42
+ * A stage is skip-eligible when a REQUIRED dep reached a non-`completed`
43
+ * terminal outcome (skipped / failed) — the dependent then skips rather than
44
+ * failing.
45
+ */
46
+ export function hasRequiredFailureUpstream(stage, records) {
47
+ for (const dep of stage.dependsOn) {
48
+ if (isOptionalDep(dep))
49
+ continue;
50
+ const record = records[depId(dep)];
51
+ if (record && record.outcome !== "completed")
52
+ return true;
53
+ }
54
+ return false;
55
+ }
56
+ /**
57
+ * From the full descriptor list + the committed terminal-outcome map, partition
58
+ * the not-yet-terminal stages into the ones to launch now (`runnable`) and the
59
+ * ones to mark skipped now (`skippable`). An already-terminal stage appears in
60
+ * neither. Skip-eligibility takes precedence over runnability (the two sets are
61
+ * disjoint). Generic over the descriptor subtype so a caller carrying extra
62
+ * serializable fields gets them back on the partitioned stages.
63
+ */
64
+ export function computeDagProgress(stages, records) {
65
+ const runnable = [];
66
+ const skippable = [];
67
+ for (const stage of stages) {
68
+ if (records[stage.id])
69
+ continue; // already terminal — never revisit
70
+ if (hasRequiredFailureUpstream(stage, records)) {
71
+ skippable.push(stage);
72
+ }
73
+ else if (isStageEligible(stage, records)) {
74
+ runnable.push(stage);
75
+ }
76
+ }
77
+ return { runnable, skippable };
78
+ }
79
+ //# sourceMappingURL=scheduling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../src/lib/pipelines/scheduling.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,qEAAqE;AACrE,+EAA+E;AAC/E,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,4CAA4C;AAC5C,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,kDAAkD;AAElD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAIjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAW3D;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAuB,EACvB,OAAmB;IAEnB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;QAC1B,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,8DAA8D;YAC9D,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YACzB,SAAQ;QACZ,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACzB,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW;YAAE,OAAO,KAAK,CAAA;IACpD,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACtC,KAAuB,EACvB,OAAmB;IAEnB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,SAAQ;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAClC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW;YAAE,OAAO,IAAI,CAAA;IAC7D,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAC9B,MAAyB,EACzB,OAAmB;IAEnB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAQ,CAAC,mCAAmC;QACnE,IAAI,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;aAAM,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proposit/proposit-core",
3
- "version": "2.5.0",
3
+ "version": "3.0.0",
4
4
  "description": "Core engine for building and manipulating propositional logic arguments.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -58,6 +58,11 @@
58
58
  "import": "./dist/extensions/pipelines/ingestion/index.js",
59
59
  "default": "./dist/extensions/pipelines/ingestion/index.js"
60
60
  },
61
+ "./pipelines/scheduling": {
62
+ "types": "./dist/lib/pipelines/scheduling.d.ts",
63
+ "import": "./dist/lib/pipelines/scheduling.js",
64
+ "default": "./dist/lib/pipelines/scheduling.js"
65
+ },
61
66
  "./conversation": {
62
67
  "types": "./dist/lib/conversation/index.d.ts",
63
68
  "import": "./dist/lib/conversation/index.js",