@mojir/dvala 0.0.7 → 0.0.10
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/dist/cli/cli.js +1622 -1620
- package/dist/cli/reference/examples.d.ts +1 -1
- package/dist/cli/src/AutoCompleter/AutoCompleter.d.ts +4 -2
- package/dist/cli/src/{Dvala/Cache.d.ts → Cache.d.ts} +1 -1
- package/dist/cli/src/builtin/specialExpressions/functions.d.ts +1 -1
- package/dist/cli/src/createDvala.d.ts +47 -0
- package/dist/cli/src/evaluator/ContextStack.d.ts +10 -2
- package/dist/cli/src/evaluator/effectTypes.d.ts +24 -6
- package/dist/cli/src/evaluator/suspension.d.ts +6 -0
- package/dist/cli/src/evaluator/trampoline.d.ts +15 -1
- package/dist/cli/src/parser/subParsers/parseDo.d.ts +1 -1
- package/dist/cli/src/tokenizer/token.d.ts +2 -4
- package/dist/cli/src/tokenizer/tokenize.d.ts +1 -2
- package/dist/cli/src/tokenizer/tokenizers.d.ts +2 -3
- package/dist/cli/src/tooling.d.ts +51 -0
- package/dist/debug.esm.js +1 -1
- package/dist/debug.esm.js.map +1 -1
- package/dist/debug.js +1 -1
- package/dist/debug.js.map +1 -1
- package/dist/dvala.iife.js +1 -1
- package/dist/dvala.iife.js.map +1 -1
- package/dist/full.esm.js +1 -1
- package/dist/full.esm.js.map +1 -1
- package/dist/full.js +1 -1
- package/dist/full.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/common/utils.d.ts +2 -0
- package/dist/mcp-server/mcp-server/src/server.d.ts +1 -0
- package/dist/mcp-server/reference/api.d.ts +73 -0
- package/dist/mcp-server/reference/datatype.d.ts +3 -0
- package/dist/mcp-server/reference/examples.d.ts +11 -0
- package/dist/mcp-server/reference/index.d.ts +195 -0
- package/dist/mcp-server/reference/shorthand.d.ts +3 -0
- package/dist/mcp-server/server.js +36377 -0
- package/dist/mcp-server/src/AutoCompleter/AutoCompleter.d.ts +27 -0
- package/dist/{src/Dvala → mcp-server/src}/Cache.d.ts +1 -1
- package/dist/mcp-server/src/allModules.d.ts +2 -0
- package/dist/mcp-server/src/builtin/bindingNode.d.ts +11 -0
- package/dist/mcp-server/src/builtin/core/array.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/assertion.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/bitwise.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/collection.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/functional.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/math.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/meta.d.ts +3 -0
- package/dist/mcp-server/src/builtin/core/misc.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/object.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/predicates.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/regexp.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/sequence.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/string.d.ts +2 -0
- package/dist/mcp-server/src/builtin/core/vector.d.ts +2 -0
- package/dist/mcp-server/src/builtin/index.d.ts +13 -0
- package/dist/mcp-server/src/builtin/interface.d.ts +113 -0
- package/dist/mcp-server/src/builtin/modules/assertion/docs.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/assertion/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/bitwise/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/collection/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/convert/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/functional/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/grid/docs.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/grid/fromArray.d.ts +8 -0
- package/dist/mcp-server/src/builtin/modules/grid/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/grid/transpose.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/interface.d.ts +28 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/docs.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +8 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +4 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/dot.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +7 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +10 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/length.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/scale.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/solve.d.ts +8 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/linear-algebra/index.d.ts +4 -0
- package/dist/mcp-server/src/builtin/modules/math/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/matrix/docs.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/adjugate.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/band.d.ts +9 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/cofactor.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/determinant.d.ts +6 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/inverse.d.ts +6 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isBanded.d.ts +11 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +10 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isIdentity.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isSquare.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isSymetric.d.ts +8 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/isTriangular.d.ts +13 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +7 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/minor.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/norm1.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/matrix/helpers/trace.d.ts +8 -0
- package/dist/mcp-server/src/builtin/modules/matrix/index.d.ts +4 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/binomialCefficient.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/combinations.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/derangements.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/divisors.d.ts +4 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/docs.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/factorial.d.ts +3 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/index.d.ts +4 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/partitions.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/permutations.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/powerSet.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/primeFactors.d.ts +11 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/abundant.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/bell.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/catalan.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/collatz.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/composite.d.ts +3 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/deficient.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/factorial.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/geometric.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/golomb.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/happy.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/index.d.ts +27 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/juggler.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/lucas.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/lucky.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/mersenne.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/padovan.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/partition.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/pell.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfect.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +10 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/poligonal.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/prime.d.ts +3 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/recaman.d.ts +9 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/sylvester.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/sequence/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/string/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/bincount.d.ts +9 -0
- package/dist/mcp-server/src/builtin/modules/vector/calcMad.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/vector/calcMean.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/vector/calcMedad.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/vector/calcMedian.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/vector/calcStdDev.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/calcVariance.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/docs.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/entropy.d.ts +8 -0
- package/dist/mcp-server/src/builtin/modules/vector/histogram.d.ts +9 -0
- package/dist/mcp-server/src/builtin/modules/vector/index.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/mode.d.ts +6 -0
- package/dist/mcp-server/src/builtin/modules/vector/outliers.d.ts +7 -0
- package/dist/mcp-server/src/builtin/modules/vector/percentile.d.ts +7 -0
- package/dist/mcp-server/src/builtin/modules/vector/quartiles.d.ts +1 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/index.d.ts +13 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +5 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/mad.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/mean.d.ts +4 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/medad.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/median.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/prod.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/rms.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +3 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/span.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +3 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/sum.d.ts +2 -0
- package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/variance.d.ts +3 -0
- package/dist/mcp-server/src/builtin/normalExpressions/index.d.ts +9 -0
- package/dist/mcp-server/src/builtin/normalExpressions/initCoreDvala.d.ts +1 -0
- package/dist/mcp-server/src/builtin/specialExpressionTypes.d.ts +24 -0
- package/dist/mcp-server/src/builtin/specialExpressions/and.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/array.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/block.d.ts +7 -0
- package/dist/mcp-server/src/builtin/specialExpressions/cond.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/defined.d.ts +5 -0
- package/dist/mcp-server/src/builtin/specialExpressions/effect.d.ts +5 -0
- package/dist/mcp-server/src/builtin/specialExpressions/functions.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/if.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/import.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/let.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/loop.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/loops.d.ts +9 -0
- package/dist/mcp-server/src/builtin/specialExpressions/match.d.ts +7 -0
- package/dist/mcp-server/src/builtin/specialExpressions/object.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/or.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/parallel.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/perform.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/qq.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/race.d.ts +6 -0
- package/dist/mcp-server/src/builtin/specialExpressions/recur.d.ts +5 -0
- package/dist/mcp-server/src/builtin/specialExpressions/unless.d.ts +6 -0
- package/dist/mcp-server/src/builtin/utils.d.ts +6 -0
- package/dist/mcp-server/src/bundler/interface.d.ts +15 -0
- package/dist/mcp-server/src/constants/constants.d.ts +19 -0
- package/dist/mcp-server/src/createDvala.d.ts +47 -0
- package/dist/mcp-server/src/errors.d.ts +24 -0
- package/dist/mcp-server/src/evaluator/ContextStack.d.ts +70 -0
- package/dist/mcp-server/src/evaluator/contentHash.d.ts +21 -0
- package/dist/mcp-server/src/evaluator/dedupSubTrees.d.ts +37 -0
- package/dist/mcp-server/src/evaluator/effectRef.d.ts +27 -0
- package/dist/mcp-server/src/evaluator/effectTypes.d.ts +199 -0
- package/dist/mcp-server/src/evaluator/frames.d.ts +513 -0
- package/dist/mcp-server/src/evaluator/interface.d.ts +14 -0
- package/dist/mcp-server/src/evaluator/standardEffects.d.ts +50 -0
- package/dist/mcp-server/src/evaluator/step.d.ts +175 -0
- package/dist/mcp-server/src/evaluator/suspension.d.ts +92 -0
- package/dist/mcp-server/src/evaluator/trampoline.d.ts +138 -0
- package/dist/mcp-server/src/getUndefinedSymbols/index.d.ts +7 -0
- package/dist/mcp-server/src/initReferenceData.d.ts +1 -0
- package/dist/mcp-server/src/interface.d.ts +7 -0
- package/dist/mcp-server/src/parser/ParserContext.d.ts +20 -0
- package/dist/mcp-server/src/parser/getPrecedence.d.ts +3 -0
- package/dist/mcp-server/src/parser/helpers.d.ts +19 -0
- package/dist/mcp-server/src/parser/index.d.ts +5 -0
- package/dist/mcp-server/src/parser/subParsers/parseArray.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseBindingTarget.d.ts +8 -0
- package/dist/mcp-server/src/parser/subParsers/parseCond.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseDo.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseExpression.d.ts +5 -0
- package/dist/mcp-server/src/parser/subParsers/parseForOrDoseq.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseFunction.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseFunctionCall.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseIfOrUnless.d.ts +5 -0
- package/dist/mcp-server/src/parser/subParsers/parseImplicitBlock.d.ts +5 -0
- package/dist/mcp-server/src/parser/subParsers/parseLet.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseLoop.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseMatch.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseNumber.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseObject.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseOperand.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseRegexpShorthand.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseReservedSymbol.d.ts +3 -0
- package/dist/mcp-server/src/parser/subParsers/parseString.d.ts +4 -0
- package/dist/mcp-server/src/parser/subParsers/parseSymbol.d.ts +3 -0
- package/dist/mcp-server/src/parser/types.d.ts +128 -0
- package/dist/mcp-server/src/tokenizer/minifyTokenStream.d.ts +4 -0
- package/dist/mcp-server/src/tokenizer/operators.d.ts +12 -0
- package/dist/mcp-server/src/tokenizer/reservedNames.d.ts +65 -0
- package/dist/mcp-server/src/tokenizer/token.d.ts +82 -0
- package/dist/mcp-server/src/tokenizer/tokenize.d.ts +7 -0
- package/dist/mcp-server/src/tokenizer/tokenizers.d.ts +13 -0
- package/dist/mcp-server/src/tooling.d.ts +51 -0
- package/dist/mcp-server/src/transformer/index.d.ts +2 -0
- package/dist/mcp-server/src/typeGuards/annotatedCollections.d.ts +16 -0
- package/dist/mcp-server/src/typeGuards/array.d.ts +9 -0
- package/dist/mcp-server/src/typeGuards/astNode.d.ts +19 -0
- package/dist/mcp-server/src/typeGuards/dvala.d.ts +26 -0
- package/dist/mcp-server/src/typeGuards/dvalaFunction.d.ts +9 -0
- package/dist/mcp-server/src/typeGuards/index.d.ts +7 -0
- package/dist/mcp-server/src/typeGuards/number.d.ts +66 -0
- package/dist/mcp-server/src/typeGuards/string.d.ts +15 -0
- package/dist/mcp-server/src/untokenizer/index.d.ts +2 -0
- package/dist/mcp-server/src/utils/arity.d.ts +10 -0
- package/dist/mcp-server/src/utils/debug/debugTools.d.ts +1 -0
- package/dist/mcp-server/src/utils/debug/getCodeMarker.d.ts +2 -0
- package/dist/mcp-server/src/utils/debug/getSourceCodeInfo.d.ts +2 -0
- package/dist/mcp-server/src/utils/docString/generateDocString.d.ts +4 -0
- package/dist/mcp-server/src/utils/getAssertionError.d.ts +3 -0
- package/dist/mcp-server/src/utils/index.d.ts +14 -0
- package/dist/mcp-server/src/utils/maybePromise.d.ts +54 -0
- package/dist/mcp-server/src/utils/symbols.d.ts +3 -0
- package/dist/modules/grid.esm.js +1 -1
- package/dist/modules/grid.esm.js.map +1 -1
- package/dist/modules/grid.js +1 -1
- package/dist/modules/grid.js.map +1 -1
- package/dist/modules/reference/index.d.ts +136 -136
- package/dist/modules/src/AutoCompleter/AutoCompleter.d.ts +4 -2
- package/dist/modules/src/{Dvala/Cache.d.ts → Cache.d.ts} +1 -1
- package/dist/modules/src/builtin/specialExpressions/functions.d.ts +1 -1
- package/dist/modules/src/createDvala.d.ts +47 -0
- package/dist/modules/src/evaluator/ContextStack.d.ts +10 -2
- package/dist/modules/src/evaluator/effectTypes.d.ts +24 -6
- package/dist/modules/src/evaluator/suspension.d.ts +6 -0
- package/dist/modules/src/evaluator/trampoline.d.ts +15 -1
- package/dist/modules/src/index.d.ts +10 -5
- package/dist/modules/src/parser/subParsers/parseDo.d.ts +1 -1
- package/dist/modules/src/resume.d.ts +41 -0
- package/dist/modules/src/retrigger.d.ts +39 -0
- package/dist/modules/src/tokenizer/token.d.ts +2 -4
- package/dist/modules/src/tokenizer/tokenize.d.ts +1 -2
- package/dist/modules/src/tokenizer/tokenizers.d.ts +2 -3
- package/dist/modules/src/tooling.d.ts +51 -0
- package/dist/reference/index.d.ts +136 -136
- package/dist/src/AutoCompleter/AutoCompleter.d.ts +4 -2
- package/dist/src/Cache.d.ts +16 -0
- package/dist/src/builtin/specialExpressions/functions.d.ts +1 -1
- package/dist/src/createDvala.d.ts +47 -0
- package/dist/src/evaluator/ContextStack.d.ts +10 -2
- package/dist/src/evaluator/effectTypes.d.ts +24 -6
- package/dist/src/evaluator/suspension.d.ts +6 -0
- package/dist/src/evaluator/trampoline.d.ts +15 -1
- package/dist/src/index.d.ts +10 -5
- package/dist/src/parser/subParsers/parseDo.d.ts +1 -1
- package/dist/src/resume.d.ts +41 -0
- package/dist/src/retrigger.d.ts +39 -0
- package/dist/src/tokenizer/token.d.ts +2 -4
- package/dist/src/tokenizer/tokenize.d.ts +1 -2
- package/dist/src/tokenizer/tokenizers.d.ts +2 -3
- package/dist/src/tooling.d.ts +51 -0
- package/dist/testFramework.esm.js +1 -1
- package/dist/testFramework.esm.js.map +1 -1
- package/dist/testFramework.js +1 -1
- package/dist/testFramework.js.map +1 -1
- package/package.json +17 -6
- package/dist/cli/src/Dvala/Dvala.d.ts +0 -63
- package/dist/modules/src/Dvala/Dvala.d.ts +0 -63
- package/dist/modules/src/effects.d.ts +0 -110
- package/dist/src/Dvala/Dvala.d.ts +0 -63
- package/dist/src/effects.d.ts +0 -110
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
export interface AutoCompleterParams {
|
|
2
|
+
bindings?: Record<string, unknown>;
|
|
3
|
+
}
|
|
2
4
|
type AutoCompleteSuggestion = {
|
|
3
5
|
program: string;
|
|
4
6
|
position: number;
|
|
@@ -11,7 +13,7 @@ export declare class AutoCompleter {
|
|
|
11
13
|
private searchString;
|
|
12
14
|
private suggestions;
|
|
13
15
|
private suggestionIndex;
|
|
14
|
-
constructor(originalProgram: string, originalPosition: number,
|
|
16
|
+
constructor(originalProgram: string, originalPosition: number, params?: AutoCompleterParams);
|
|
15
17
|
getNextSuggestion(): AutoCompleteSuggestion | null;
|
|
16
18
|
getPreviousSuggestion(): AutoCompleteSuggestion | null;
|
|
17
19
|
private getAutoCompleteSuggestionResult;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Ast } from './parser/types';
|
|
2
|
+
export declare class Cache {
|
|
3
|
+
private cache;
|
|
4
|
+
private firstEntry;
|
|
5
|
+
private lastEntry;
|
|
6
|
+
private _size;
|
|
7
|
+
private maxSize;
|
|
8
|
+
constructor(maxSize: number | null);
|
|
9
|
+
getContent(): Record<string, Ast>;
|
|
10
|
+
get size(): number;
|
|
11
|
+
get(key: string): Ast | undefined;
|
|
12
|
+
clear(): void;
|
|
13
|
+
has(key: string): boolean;
|
|
14
|
+
set(key: string, value: Ast): void;
|
|
15
|
+
private dropFirstEntry;
|
|
16
|
+
}
|
|
@@ -2,5 +2,5 @@ import type { DvalaFunction, SpecialExpressionNode } from '../../parser/types';
|
|
|
2
2
|
import type { BuiltinSpecialExpression } from '../interface';
|
|
3
3
|
import type { Function } from '../utils';
|
|
4
4
|
import type { specialExpressionTypes } from '../specialExpressionTypes';
|
|
5
|
-
export type LambdaNode = SpecialExpressionNode<[typeof specialExpressionTypes['0_lambda'], Function
|
|
5
|
+
export type LambdaNode = SpecialExpressionNode<[typeof specialExpressionTypes['0_lambda'], Function]>;
|
|
6
6
|
export declare const lambdaSpecialExpression: BuiltinSpecialExpression<DvalaFunction, LambdaNode>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AutoCompleter } from './AutoCompleter/AutoCompleter';
|
|
2
|
+
import type { DvalaModule } from './builtin/modules/interface';
|
|
3
|
+
import type { DvalaBundle } from './bundler/interface';
|
|
4
|
+
import type { Handlers, RunResult } from './evaluator/effectTypes';
|
|
5
|
+
export interface CreateDvalaOptions {
|
|
6
|
+
modules?: DvalaModule[];
|
|
7
|
+
bindings?: Record<string, unknown>;
|
|
8
|
+
effectHandlers?: Handlers;
|
|
9
|
+
cache?: number;
|
|
10
|
+
/** Enable debug tokenization: captures source positions for better error messages. */
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Options for `run()`. When `pure` is `true`, `effectHandlers` cannot be provided.
|
|
15
|
+
*/
|
|
16
|
+
export type DvalaRunOptions = {
|
|
17
|
+
bindings?: Record<string, unknown>;
|
|
18
|
+
pure: true;
|
|
19
|
+
effectHandlers?: never;
|
|
20
|
+
filePath?: string;
|
|
21
|
+
} | {
|
|
22
|
+
bindings?: Record<string, unknown>;
|
|
23
|
+
pure?: false;
|
|
24
|
+
effectHandlers?: Handlers;
|
|
25
|
+
filePath?: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Options for `runAsync()`. When `pure` is `true`, `effectHandlers` cannot be provided.
|
|
29
|
+
*/
|
|
30
|
+
export type DvalaRunAsyncOptions = {
|
|
31
|
+
bindings?: Record<string, unknown>;
|
|
32
|
+
pure: true;
|
|
33
|
+
effectHandlers?: never;
|
|
34
|
+
maxSnapshots?: number;
|
|
35
|
+
} | {
|
|
36
|
+
bindings?: Record<string, unknown>;
|
|
37
|
+
pure?: false;
|
|
38
|
+
effectHandlers?: Handlers;
|
|
39
|
+
maxSnapshots?: number;
|
|
40
|
+
};
|
|
41
|
+
export interface DvalaRunner {
|
|
42
|
+
run: (source: string | DvalaBundle, options?: DvalaRunOptions) => unknown;
|
|
43
|
+
runAsync: (source: string | DvalaBundle, options?: DvalaRunAsyncOptions) => Promise<RunResult>;
|
|
44
|
+
getUndefinedSymbols: (source: string) => Set<string>;
|
|
45
|
+
getAutoCompleter: (program: string, position: number) => AutoCompleter;
|
|
46
|
+
}
|
|
47
|
+
export declare function createDvala(options?: CreateDvalaOptions): DvalaRunner;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type { Any } from '../interface';
|
|
2
|
-
import type { ContextParams } from '../Dvala/Dvala';
|
|
3
2
|
import type { DvalaModule } from '../builtin/modules/interface';
|
|
4
3
|
import type { SymbolNode, UserDefinedSymbolNode } from '../parser/types';
|
|
5
4
|
import type { SourceCodeInfo } from '../tokenizer/token';
|
|
6
5
|
import type { Context, LookUpResult } from './interface';
|
|
6
|
+
interface CreateContextStackParams {
|
|
7
|
+
globalContext?: Context;
|
|
8
|
+
contexts?: Context[];
|
|
9
|
+
bindings?: Record<string, unknown>;
|
|
10
|
+
globalModuleScope?: boolean;
|
|
11
|
+
}
|
|
7
12
|
export type ContextStack = ContextStackImpl;
|
|
8
13
|
export declare class ContextStackImpl {
|
|
9
14
|
private _contexts;
|
|
@@ -23,6 +28,8 @@ export declare class ContextStackImpl {
|
|
|
23
28
|
getContextsRaw(): Context[];
|
|
24
29
|
/** Get host values (plain bindings passed at creation). */
|
|
25
30
|
getHostValues(): Record<string, unknown> | undefined;
|
|
31
|
+
/** Get the top-level module scope as plain key→value bindings. */
|
|
32
|
+
getModuleScopeBindings(): Record<string, unknown>;
|
|
26
33
|
/**
|
|
27
34
|
* Find the index of globalContext in the _contexts array.
|
|
28
35
|
* Returns -1 if not found (should not happen in valid state).
|
|
@@ -59,4 +66,5 @@ export declare class ContextStackImpl {
|
|
|
59
66
|
lookUp(node: UserDefinedSymbolNode): LookUpResult;
|
|
60
67
|
evaluateSymbol(node: SymbolNode): Any;
|
|
61
68
|
}
|
|
62
|
-
export declare function createContextStack(params?:
|
|
69
|
+
export declare function createContextStack(params?: CreateContextStackParams, modules?: Map<string, DvalaModule>, pure?: boolean): ContextStack;
|
|
70
|
+
export {};
|
|
@@ -23,6 +23,16 @@ export interface Snapshot {
|
|
|
23
23
|
readonly runId: string;
|
|
24
24
|
/** Optional domain metadata from the perform call or suspend call. */
|
|
25
25
|
readonly meta?: Any;
|
|
26
|
+
/**
|
|
27
|
+
* The name of the effect that was being handled when the program suspended.
|
|
28
|
+
* Undefined when suspension occurred outside of an effect handler (e.g. in parallel/race branches).
|
|
29
|
+
*/
|
|
30
|
+
readonly effectName?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The arguments passed to the suspended effect's perform call.
|
|
33
|
+
* Undefined when suspension occurred outside of an effect handler.
|
|
34
|
+
*/
|
|
35
|
+
readonly effectArgs?: Any[];
|
|
26
36
|
}
|
|
27
37
|
/**
|
|
28
38
|
* Generate a UUID for identifying a run() or resume() call.
|
|
@@ -97,8 +107,8 @@ export interface EffectContext {
|
|
|
97
107
|
*/
|
|
98
108
|
resumeFrom: (snapshot: Snapshot, value: Any) => void;
|
|
99
109
|
}
|
|
100
|
-
/**
|
|
101
|
-
export type EffectHandler = (ctx: EffectContext) => Promise<void>;
|
|
110
|
+
/** A function that handles an effect by calling `resume`, `suspend`, `fail`, or `next`. */
|
|
111
|
+
export type EffectHandler = (ctx: EffectContext) => void | Promise<void>;
|
|
102
112
|
/** Map from effect pattern (e.g. `'llm.complete'`, `'dvala.*'`, `'*'`) to its handler. */
|
|
103
113
|
export type Handlers = Record<string, EffectHandler>;
|
|
104
114
|
/**
|
|
@@ -112,9 +122,8 @@ export type Handlers = Record<string, EffectHandler>;
|
|
|
112
122
|
*/
|
|
113
123
|
export declare function effectNameMatchesPattern(effectName: string, pattern: string): boolean;
|
|
114
124
|
/**
|
|
115
|
-
* Find all matching handlers for an effect name, in registration order.
|
|
116
|
-
* Returns an array of `[pattern, handler]` pairs
|
|
117
|
-
* the "most specific" by registration order, not by pattern specificity.
|
|
125
|
+
* Find all matching async handlers for an effect name, in registration order.
|
|
126
|
+
* Returns an array of `[pattern, handler]` pairs.
|
|
118
127
|
*/
|
|
119
128
|
export declare function findMatchingHandlers(effectName: string, handlers: Handlers | undefined): Array<[string, EffectHandler]>;
|
|
120
129
|
/**
|
|
@@ -124,6 +133,7 @@ export declare function findMatchingHandlers(effectName: string, handlers: Handl
|
|
|
124
133
|
export type RunResult = {
|
|
125
134
|
type: 'completed';
|
|
126
135
|
value: Any;
|
|
136
|
+
definedBindings?: Record<string, unknown>;
|
|
127
137
|
} | {
|
|
128
138
|
type: 'suspended';
|
|
129
139
|
snapshot: Snapshot;
|
|
@@ -144,6 +154,10 @@ export declare class SuspensionSignal {
|
|
|
144
154
|
readonly nextSnapshotIndex: number;
|
|
145
155
|
/** Optional domain metadata passed through to RunResult. */
|
|
146
156
|
readonly meta?: Any | undefined;
|
|
157
|
+
/** The effect name being handled when suspend() was called. */
|
|
158
|
+
readonly effectName?: string | undefined;
|
|
159
|
+
/** The effect arguments being handled when suspend() was called. */
|
|
160
|
+
readonly effectArgs?: Any[] | undefined;
|
|
147
161
|
readonly _brand: "SuspensionSignal";
|
|
148
162
|
constructor(
|
|
149
163
|
/** The captured continuation stack at the point of suspension. */
|
|
@@ -153,7 +167,11 @@ export declare class SuspensionSignal {
|
|
|
153
167
|
/** High-water mark for snapshot indices at the point of suspension. */
|
|
154
168
|
nextSnapshotIndex: number,
|
|
155
169
|
/** Optional domain metadata passed through to RunResult. */
|
|
156
|
-
meta?: Any | undefined
|
|
170
|
+
meta?: Any | undefined,
|
|
171
|
+
/** The effect name being handled when suspend() was called. */
|
|
172
|
+
effectName?: string | undefined,
|
|
173
|
+
/** The effect arguments being handled when suspend() was called. */
|
|
174
|
+
effectArgs?: Any[] | undefined);
|
|
157
175
|
}
|
|
158
176
|
export declare function isSuspensionSignal(value: unknown): value is SuspensionSignal;
|
|
159
177
|
/**
|
|
@@ -83,4 +83,10 @@ export declare function deserializeFromObject(blobData: unknown, options?: Deser
|
|
|
83
83
|
snapshots: Snapshot[];
|
|
84
84
|
nextSnapshotIndex: number;
|
|
85
85
|
};
|
|
86
|
+
/**
|
|
87
|
+
* Extract checkpoint snapshots from a serialized continuation blob,
|
|
88
|
+
* expanding any pool references so each snapshot is a self-contained blob
|
|
89
|
+
* that can be passed directly to `resume()`.
|
|
90
|
+
*/
|
|
91
|
+
export declare function extractCheckpointSnapshots(continuation: unknown): Snapshot[];
|
|
86
92
|
export {};
|
|
@@ -70,7 +70,7 @@ export declare function tick(step: Step, handlers?: Handlers, signal?: AbortSign
|
|
|
70
70
|
* Throws if any step produces a Promise (i.e., an async operation was
|
|
71
71
|
* encountered in a synchronous context).
|
|
72
72
|
*/
|
|
73
|
-
export declare function runSyncTrampoline(initial: Step): Any;
|
|
73
|
+
export declare function runSyncTrampoline(initial: Step, effectHandlers?: Handlers): Any;
|
|
74
74
|
/**
|
|
75
75
|
* Run the trampoline asynchronously to completion.
|
|
76
76
|
* Awaits any Promise<Step> that surfaces from async operations.
|
|
@@ -110,6 +110,15 @@ export declare function evaluateNode(node: AstNode, contextStack: ContextStack):
|
|
|
110
110
|
* and host-side timeouts.
|
|
111
111
|
*/
|
|
112
112
|
export declare function evaluateWithEffects(ast: Ast, contextStack: ContextStack, handlers?: Handlers, maxSnapshots?: number, deserializeOptions?: DeserializeOptions): Promise<RunResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Evaluate an AST synchronously with effect handler support.
|
|
115
|
+
*
|
|
116
|
+
* Uses the sync trampoline with `effectHandlers` threaded through `tick`.
|
|
117
|
+
* Throws if an async operation is encountered (e.g., an async handler
|
|
118
|
+
* is used). Handlers may call `resume(value)`, `fail(msg?)`, or `next()`.
|
|
119
|
+
* Calling `suspend()` will throw a runtime error.
|
|
120
|
+
*/
|
|
121
|
+
export declare function evaluateWithSyncEffects(ast: Ast, contextStack: ContextStack, effectHandlers?: Handlers): Any;
|
|
113
122
|
/**
|
|
114
123
|
* Resume a suspended continuation with a value.
|
|
115
124
|
*
|
|
@@ -122,3 +131,8 @@ export declare function resumeWithEffects(k: ContinuationStack, value: Any, hand
|
|
|
122
131
|
nextSnapshotIndex: number;
|
|
123
132
|
maxSnapshots?: number;
|
|
124
133
|
}, deserializeOptions?: DeserializeOptions): Promise<RunResult>;
|
|
134
|
+
export declare function retriggerWithEffects(k: ContinuationStack, effectName: string, effectArgs: Any[], handlers?: Handlers, initialSnapshotState?: {
|
|
135
|
+
snapshots: Snapshot[];
|
|
136
|
+
nextSnapshotIndex: number;
|
|
137
|
+
maxSnapshots?: number;
|
|
138
|
+
}, deserializeOptions?: DeserializeOptions, outerSignal?: AbortSignal): Promise<RunResult>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -6,13 +6,18 @@ export type { Ast } from './parser/types';
|
|
|
6
6
|
export type { SourceCodeInfo } from './tokenizer/token';
|
|
7
7
|
export type { Token, TokenType } from './tokenizer/token';
|
|
8
8
|
export { normalExpressionKeys, specialExpressionKeys } from './builtin';
|
|
9
|
-
export { Dvala } from './Dvala/Dvala';
|
|
10
9
|
export type { DvalaModule } from './builtin/modules/interface';
|
|
11
10
|
export type { DvalaBundle } from './bundler/interface';
|
|
12
11
|
export { isDvalaBundle } from './bundler/interface';
|
|
13
12
|
export { type DvalaError, isDvalaError } from './errors';
|
|
14
|
-
export type { ContextParams, FilePathParams, MinifyParams, PureParams, DvalaRuntimeInfo } from './Dvala/Dvala';
|
|
15
13
|
export { isGrid, isMatrix, isVector } from './typeGuards/annotatedCollections';
|
|
16
|
-
export type { AutoCompleter } from './AutoCompleter/AutoCompleter';
|
|
17
|
-
export {
|
|
18
|
-
export type {
|
|
14
|
+
export type { AutoCompleter, AutoCompleterParams } from './AutoCompleter/AutoCompleter';
|
|
15
|
+
export { resume } from './resume';
|
|
16
|
+
export type { ResumeOptions } from './resume';
|
|
17
|
+
export { retrigger } from './retrigger';
|
|
18
|
+
export type { RetriggerOptions } from './retrigger';
|
|
19
|
+
export type { EffectContext, EffectHandler, Handlers, RunResult, Snapshot } from './evaluator/effectTypes';
|
|
20
|
+
export { createDvala } from './createDvala';
|
|
21
|
+
export type { CreateDvalaOptions, DvalaRunOptions, DvalaRunAsyncOptions, DvalaRunner } from './createDvala';
|
|
22
|
+
export { tokenizeSource, parseTokenStream, transformSymbols, untokenize, getUndefinedSymbols, getAutoCompleter } from './tooling';
|
|
23
|
+
export type { TokenStream } from './tooling';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { DoNode } from '../../builtin/specialExpressions/block';
|
|
2
2
|
import type { ParserContext } from '../ParserContext';
|
|
3
|
-
export declare function parseDo(ctx: ParserContext
|
|
3
|
+
export declare function parseDo(ctx: ParserContext): DoNode;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone `resume()` function for resuming suspended continuations.
|
|
3
|
+
*
|
|
4
|
+
* The primary API for running Dvala programs is `createDvala()` from `./createDvala`.
|
|
5
|
+
*/
|
|
6
|
+
import type { Any } from './interface';
|
|
7
|
+
import type { DvalaModule } from './builtin/modules/interface';
|
|
8
|
+
import type { Handlers, RunResult, Snapshot } from './evaluator/effectTypes';
|
|
9
|
+
/**
|
|
10
|
+
* Options for `resume()` — resume a suspended continuation.
|
|
11
|
+
* `bindings` are plain values only (no JS functions).
|
|
12
|
+
* All host interaction goes through `handlers`.
|
|
13
|
+
* `modules` must be provided again (they are not in the blob).
|
|
14
|
+
*/
|
|
15
|
+
export interface ResumeOptions {
|
|
16
|
+
bindings?: Record<string, Any>;
|
|
17
|
+
handlers?: Handlers;
|
|
18
|
+
modules?: DvalaModule[];
|
|
19
|
+
maxSnapshots?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resume a suspended continuation.
|
|
23
|
+
*
|
|
24
|
+
* Takes a `Snapshot` from a previous `RunResult` of type `'suspended'`, a
|
|
25
|
+
* resume value, and optional handlers/bindings. Re-enters the trampoline at
|
|
26
|
+
* the point of suspension with the provided value.
|
|
27
|
+
*
|
|
28
|
+
* `bindings` are plain values only (no JS functions). They are re-injected
|
|
29
|
+
* into the deserialized ContextStacks so that host-bound values remain
|
|
30
|
+
* accessible after resume. `modules` must be provided again if the Dvala
|
|
31
|
+
* program uses `import`.
|
|
32
|
+
*
|
|
33
|
+
* Always resolves — never rejects. May return `completed`, `suspended`
|
|
34
|
+
* (if another suspend is hit), or `error`.
|
|
35
|
+
*
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const { snapshot } = suspendedResult
|
|
38
|
+
* const next = await resume(snapshot, humanDecision, { handlers })
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function resume(snapshot: Snapshot, value: Any, options?: ResumeOptions): Promise<RunResult>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone `retrigger()` function for resuming suspended continuations
|
|
3
|
+
* by re-firing the original effect to the host handlers.
|
|
4
|
+
*
|
|
5
|
+
* The primary API for running Dvala programs is `createDvala()` from `./createDvala`.
|
|
6
|
+
*/
|
|
7
|
+
import type { Any } from './interface';
|
|
8
|
+
import type { DvalaModule } from './builtin/modules/interface';
|
|
9
|
+
import type { Handlers, RunResult, Snapshot } from './evaluator/effectTypes';
|
|
10
|
+
/**
|
|
11
|
+
* Options for `retrigger()` — resume a suspended continuation by re-firing
|
|
12
|
+
* the original effect to the host handlers.
|
|
13
|
+
*/
|
|
14
|
+
export interface RetriggerOptions {
|
|
15
|
+
bindings?: Record<string, Any>;
|
|
16
|
+
handlers?: Handlers;
|
|
17
|
+
modules?: DvalaModule[];
|
|
18
|
+
maxSnapshots?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resume a suspended continuation by re-triggering the original effect.
|
|
22
|
+
*
|
|
23
|
+
* Takes a `Snapshot` from a previous `RunResult` of type `'suspended'` and
|
|
24
|
+
* re-dispatches the original effect (captured in `snapshot.effectName` /
|
|
25
|
+
* `snapshot.effectArgs`) to the registered host handlers. The handler then
|
|
26
|
+
* calls `resume(value)`, `fail()`, or `suspend()` as normal.
|
|
27
|
+
*
|
|
28
|
+
* Throws if the snapshot has no captured effect (i.e. suspension occurred
|
|
29
|
+
* outside of an effect handler, such as in a parallel/race branch).
|
|
30
|
+
*
|
|
31
|
+
* Always resolves — never rejects. May return `completed`, `suspended`
|
|
32
|
+
* (if the handler suspends again), or `error`.
|
|
33
|
+
*
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const { snapshot } = suspendedResult
|
|
36
|
+
* const next = await retrigger(snapshot, { handlers })
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function retrigger(snapshot: Snapshot, options?: RetriggerOptions): Promise<RunResult>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReservedSymbol } from './reservedNames';
|
|
2
2
|
import { type SymbolicBinaryOperator, type SymbolicOperator } from './operators';
|
|
3
|
-
export declare const tokenTypes: readonly ["LBrace", "LBracket", "RBrace", "RBracket", "LParen", "RParen", "BasePrefixedNumber", "
|
|
3
|
+
export declare const tokenTypes: readonly ["LBrace", "LBracket", "RBrace", "RBracket", "LParen", "RParen", "BasePrefixedNumber", "Error", "MultiLineComment", "Number", "Operator", "RegexpShorthand", "ReservedSymbol", "SingleLineComment", "Shebang", "string", "Symbol", "Whitespace"];
|
|
4
4
|
export type TokenType = typeof tokenTypes[number];
|
|
5
5
|
type GenericToken<T extends TokenType, V extends string = string> = [T, V] | [T, V, SourceCodeInfo];
|
|
6
6
|
export type ErrorToken = ['Error', string, SourceCodeInfo | undefined, string];
|
|
@@ -19,10 +19,9 @@ export type ReservedSymbolToken<T extends ReservedSymbol = ReservedSymbol> = Gen
|
|
|
19
19
|
export type SingleLineCommentToken = GenericToken<'SingleLineComment'>;
|
|
20
20
|
export type ShebangToken = GenericToken<'Shebang'>;
|
|
21
21
|
export type StringToken = GenericToken<'string'>;
|
|
22
|
-
export type DocStringToken = GenericToken<'DocString'>;
|
|
23
22
|
export type SymbolToken<T extends string = string> = GenericToken<'Symbol', T>;
|
|
24
23
|
export type WhitespaceToken = GenericToken<'Whitespace'>;
|
|
25
|
-
export type Token = LBraceToken | LBracketToken | LParenToken | RBraceToken | RBracketToken | RParenToken | BasePrefixedNumberToken |
|
|
24
|
+
export type Token = LBraceToken | LBracketToken | LParenToken | RBraceToken | RBracketToken | RParenToken | BasePrefixedNumberToken | ErrorToken | MultiLineCommentToken | NumberToken | OperatorToken | RegexpShorthandToken | ReservedSymbolToken | SingleLineCommentToken | ShebangToken | StringToken | SymbolToken | WhitespaceToken;
|
|
26
25
|
export type TokenDescriptor<T extends Token> = [length: number, token?: T];
|
|
27
26
|
export interface SourceCodeInfo {
|
|
28
27
|
position: {
|
|
@@ -74,7 +73,6 @@ export declare function asRBraceToken(token: Token | undefined): RBraceToken;
|
|
|
74
73
|
export declare function isStringToken(token: Token | undefined): token is StringToken;
|
|
75
74
|
export declare function assertStringToken(token: Token | undefined): asserts token is StringToken;
|
|
76
75
|
export declare function asStringToken(token: Token | undefined): StringToken;
|
|
77
|
-
export declare function isDocStringToken(token: Token | undefined): token is DocStringToken;
|
|
78
76
|
export declare function isRegexpShorthandToken(token: Token | undefined): token is RegexpShorthandToken;
|
|
79
77
|
export declare function assertRegexpShorthandToken(token: Token | undefined): asserts token is RegexpShorthandToken;
|
|
80
78
|
export declare function asRegexpShorthandToken(token: Token | undefined): RegexpShorthandToken;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { FilePathParams } from '../Dvala/Dvala';
|
|
2
1
|
import type { Token } from './token';
|
|
3
2
|
export interface TokenStream {
|
|
4
3
|
tokens: Token[];
|
|
5
4
|
hasDebugData: boolean;
|
|
6
5
|
filePath?: string;
|
|
7
6
|
}
|
|
8
|
-
export declare function tokenize(input: string, debug: boolean, filePath:
|
|
7
|
+
export declare function tokenize(input: string, debug: boolean, filePath: string | undefined): TokenStream;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { BasePrefixedNumberToken,
|
|
1
|
+
import type { BasePrefixedNumberToken, ErrorToken, LBraceToken, LBracketToken, LParenToken, MultiLineCommentToken, NumberToken, OperatorToken, RBraceToken, RBracketToken, RParenToken, RegexpShorthandToken, ReservedSymbolToken, SingleLineCommentToken, StringToken, SymbolToken, Token, TokenDescriptor, WhitespaceToken } from './token';
|
|
2
2
|
type Tokenizer<T extends Token> = (input: string, position: number) => TokenDescriptor<T | ErrorToken>;
|
|
3
3
|
export declare const NO_MATCH: TokenDescriptor<never>;
|
|
4
|
-
export declare const tokenizeDocString: Tokenizer<DocStringToken>;
|
|
5
4
|
export declare const tokenizeNumber: Tokenizer<NumberToken>;
|
|
6
5
|
export declare const tokenizeBasePrefixedNumber: Tokenizer<BasePrefixedNumberToken>;
|
|
7
6
|
export declare const tokenizeSymbol: Tokenizer<SymbolToken>;
|
|
@@ -10,5 +9,5 @@ export declare const tokenizeOperator: Tokenizer<OperatorToken>;
|
|
|
10
9
|
export declare const tokenizeMultiLineComment: Tokenizer<MultiLineCommentToken>;
|
|
11
10
|
export declare const tokenizeShebang: Tokenizer<SingleLineCommentToken>;
|
|
12
11
|
export declare const tokenizeSingleLineComment: Tokenizer<SingleLineCommentToken>;
|
|
13
|
-
export declare const tokenizers: [Tokenizer<WhitespaceToken>, Tokenizer<MultiLineCommentToken>, Tokenizer<SingleLineCommentToken>, Tokenizer<ReservedSymbolToken>, Tokenizer<LParenToken>, Tokenizer<RParenToken>, Tokenizer<LBracketToken>, Tokenizer<RBracketToken>, Tokenizer<LBraceToken>, Tokenizer<RBraceToken>, Tokenizer<
|
|
12
|
+
export declare const tokenizers: [Tokenizer<WhitespaceToken>, Tokenizer<MultiLineCommentToken>, Tokenizer<SingleLineCommentToken>, Tokenizer<ReservedSymbolToken>, Tokenizer<LParenToken>, Tokenizer<RParenToken>, Tokenizer<LBracketToken>, Tokenizer<RBracketToken>, Tokenizer<LBraceToken>, Tokenizer<RBraceToken>, Tokenizer<StringToken>, Tokenizer<RegexpShorthandToken>, Tokenizer<BasePrefixedNumberToken>, Tokenizer<NumberToken>, Tokenizer<OperatorToken>, Tokenizer<SymbolToken>];
|
|
14
13
|
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone tooling functions for tokenizing, parsing, and analysis.
|
|
3
|
+
*
|
|
4
|
+
* These are thin wrappers around internal utilities that do not require
|
|
5
|
+
* a Dvala instance.
|
|
6
|
+
*/
|
|
7
|
+
import { AutoCompleter } from './AutoCompleter/AutoCompleter';
|
|
8
|
+
import type { AutoCompleterParams } from './AutoCompleter/AutoCompleter';
|
|
9
|
+
import type { DvalaModule } from './builtin/modules/interface';
|
|
10
|
+
import type { TokenStream } from './tokenizer/tokenize';
|
|
11
|
+
import type { Ast } from './parser/types';
|
|
12
|
+
import { untokenize } from './untokenizer';
|
|
13
|
+
export type { TokenStream };
|
|
14
|
+
/**
|
|
15
|
+
* Tokenize a Dvala source string into a token stream.
|
|
16
|
+
* Pass `debug: true` to capture source positions (needed for the debugger).
|
|
17
|
+
*/
|
|
18
|
+
export declare function tokenizeSource(source: string, debug?: boolean, filePath?: string): TokenStream;
|
|
19
|
+
/**
|
|
20
|
+
* Parse a token stream into an AST.
|
|
21
|
+
* The stream is automatically minified (whitespace removed) before parsing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseTokenStream(tokenStream: TokenStream): Ast;
|
|
24
|
+
/**
|
|
25
|
+
* Convert a token stream back to source code.
|
|
26
|
+
*/
|
|
27
|
+
export { untokenize };
|
|
28
|
+
/**
|
|
29
|
+
* Transform all symbol tokens in a token stream using the provided function.
|
|
30
|
+
*/
|
|
31
|
+
export declare function transformSymbols(tokenStream: TokenStream, transformer: (symbol: string) => string): TokenStream;
|
|
32
|
+
/**
|
|
33
|
+
* Get all undefined symbols in a Dvala program.
|
|
34
|
+
*
|
|
35
|
+
* @param source - Dvala source code
|
|
36
|
+
* @param options - optional context to treat as defined
|
|
37
|
+
* @param options.bindings - host bindings to treat as defined
|
|
38
|
+
* @param options.modules - modules to treat as available
|
|
39
|
+
*/
|
|
40
|
+
export declare function getUndefinedSymbols(source: string, options?: {
|
|
41
|
+
bindings?: Record<string, unknown>;
|
|
42
|
+
modules?: DvalaModule[];
|
|
43
|
+
}): Set<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Create an auto-completer for the given program at the given cursor position.
|
|
46
|
+
*
|
|
47
|
+
* @param program - Full Dvala source code
|
|
48
|
+
* @param position - Cursor position (character offset)
|
|
49
|
+
* @param params - Optional params (bindings to include as suggestions)
|
|
50
|
+
*/
|
|
51
|
+
export declare function getAutoCompleter(program: string, position: number, params?: AutoCompleterParams): AutoCompleter;
|