From 8d90f5d6fc5b0f0169d78a5bbdace8c829520df0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2026 18:07:44 +0000 Subject: [PATCH 1/2] Update dependency @code0-tech/tucana to v0.0.82 --- entrypoint/package-lock.json | 12 ++++++------ entrypoint/package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/entrypoint/package-lock.json b/entrypoint/package-lock.json index 624b678..ba8d2b5 100644 --- a/entrypoint/package-lock.json +++ b/entrypoint/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@code0-tech/triangulum": "file:../", - "@code0-tech/tucana": "0.0.80", + "@code0-tech/tucana": "0.0.82", "@protobuf-ts/runtime": "^2.11.1" }, "devDependencies": { @@ -23,10 +23,10 @@ "@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-2744343400-55133b9bb6062772c50f83d945a22a531a6e48e2", "@types/node": "^25.6.0", "@typescript/vfs": "^1.6.4", - "lossless-json": "^4.3.0", + "lossless-json": "^4.3.1", "ts-json-schema-generator": "^2.9.0", "typescript": "^6.0.3", - "vite": "^8.0.16", + "vite": "^8.2.0", "vite-plugin-dts": "^4.5.4", "vitest": "^4.1.8" }, @@ -43,9 +43,9 @@ "link": true }, "node_modules/@code0-tech/tucana": { - "version": "0.0.80", - "resolved": "https://registry.npmjs.org/@code0-tech/tucana/-/tucana-0.0.80.tgz", - "integrity": "sha512-ocpG/Mg3F5HoVrx8UERwton+3dsFocj50HLPRIbb6XYnqD/wv6Pj2w9rjEnx9CHnIWUkayVgHCLrr4zmKa/cBw==", + "version": "0.0.82", + "resolved": "https://registry.npmjs.org/@code0-tech/tucana/-/tucana-0.0.82.tgz", + "integrity": "sha512-9ImPNeGV09BeLT0M8/F08DHDe10MO6UI/VfE7i2aEYtRsB9DS3jIAGrcMEV67RXdmAj5ZWTtvxWVGOkem0CljQ==", "license": "MIT" }, "node_modules/@protobuf-ts/runtime": { diff --git a/entrypoint/package.json b/entrypoint/package.json index 232a6a6..46d7730 100644 --- a/entrypoint/package.json +++ b/entrypoint/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "@code0-tech/triangulum": "file:../", - "@code0-tech/tucana": "0.0.80", + "@code0-tech/tucana": "0.0.82", "@protobuf-ts/runtime": "^2.11.1" }, "devDependencies": { From 593f6462b943ff02604e600825104445a40ca3d3 Mon Sep 17 00:00:00 2001 From: Niklas van Schrick Date: Sat, 22 Aug 2026 01:34:50 +0200 Subject: [PATCH 2/2] Update to tucana 0.0.82 --- entrypoint/mapper.ts | 40 +++++++++++++++++--------- gem/Gemfile.lock | 4 +-- gem/spec/support/protobuf_factories.rb | 7 +++-- gem/triangulum.gemspec | 2 +- 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/entrypoint/mapper.ts b/entrypoint/mapper.ts index 11dbb45..25edd6b 100644 --- a/entrypoint/mapper.ts +++ b/entrypoint/mapper.ts @@ -20,6 +20,7 @@ import { ValidationFlow, SubFlow as TucanaSubFlow, SubFlowSetting as TucanaSubFlowSetting, + NodeValue as TucanaNodeValue, } from "@code0-tech/tucana/shared"; import {toAllowedValue} from "@code0-tech/tucana/helpers"; @@ -79,20 +80,34 @@ function mapNodeFunction(nodeFunction: TucanaNodeFunction): NodeFunction { } function mapNodeParameter(nodeParameter: TucanaNodeParameter): NodeParameter { + const value = mapNodeValue(nodeParameter.value!); + + return { + id: gid('NodeParameter', nodeParameter.databaseId) as NodeParameter['id'], + value + } +} + +function mapNodeValue(tucanaNodeValue: TucanaNodeValue): NodeParameterValue { let value: NodeParameterValue = {} - const nodeParameterValue = nodeParameter.value?.value + const nodeValue = tucanaNodeValue.value - if (nodeParameterValue?.oneofKind === 'literalValue') { + if (nodeValue?.oneofKind === 'literalValue') { value = { __typename: 'LiteralValue', - value: toAllowedValue(nodeParameterValue.literalValue) + value: toAllowedValue(nodeValue.literalValue.value!), + references: nodeValue.literalValue.references.map(r => ({ + signature: r.signature, + value: mapNodeValue(r.value!) + })) + }; - } else if (nodeParameterValue?.oneofKind === 'referenceValue') { - const target = nodeParameterValue.referenceValue.target; + } else if (nodeValue?.oneofKind === 'referenceValue') { + const target = nodeValue.referenceValue.target; value = { __typename: 'ReferenceValue', - referencePath: nodeParameterValue.referenceValue.paths.map(p => ({ + referencePath: nodeValue.referenceValue.paths.map(p => ({ __typename: 'ReferencePath', path: p.path, arrayIndex: Number(p.arrayIndex) @@ -106,14 +121,11 @@ function mapNodeParameter(nodeParameter: TucanaNodeParameter): NodeParameter { value.parameterIndex = Number(target.inputType.parameterIndex) value.inputIndex = Number(target.inputType.inputIndex) } - } else if (nodeParameterValue?.oneofKind === 'subFlow') { - value = mapSubFlow(nodeParameterValue.subFlow); + } else if (nodeValue?.oneofKind === 'subFlow') { + value = mapSubFlow(nodeValue.subFlow); } - return { - id: gid('NodeParameter', nodeParameter.databaseId) as NodeParameter['id'], - value - } + return value; } function mapFunctionDefinition(functionDefinition: TucanaFunctionDefinition): FunctionDefinition { @@ -141,9 +153,9 @@ function mapSubFlow(subFlow: TucanaSubFlow): SubFlowValue { if (subFlow.executionReference.oneofKind === 'startingNodeId') { value.startingNodeId = gid('NodeFunction', subFlow.executionReference.startingNodeId) as NodeFunction['id']; - } else if (subFlow.executionReference.oneofKind === 'functionIdentifier') { + } else if (subFlow.executionReference.oneofKind === 'function') { value.functionDefinition = { - identifier: subFlow.executionReference.functionIdentifier + identifier: subFlow.executionReference.function.functionIdentifier, } as FunctionDefinition; } diff --git a/gem/Gemfile.lock b/gem/Gemfile.lock index e5d53f3..05a1cea 100644 --- a/gem/Gemfile.lock +++ b/gem/Gemfile.lock @@ -5,7 +5,7 @@ PATH base64 (~> 0.3) json (~> 2.19) open3 (~> 0.2) - tucana (~> 0.0, >= 0.0.78) + tucana (~> 0.0, >= 0.0.82) GEM remote: https://rubygems.org/ @@ -101,7 +101,7 @@ GEM rubyzip (2.4.1) stringio (3.2.0) tsort (0.2.0) - tucana (0.0.80) + tucana (0.0.82) grpc (~> 1.64) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) diff --git a/gem/spec/support/protobuf_factories.rb b/gem/spec/support/protobuf_factories.rb index c4e4e42..d273c17 100644 --- a/gem/spec/support/protobuf_factories.rb +++ b/gem/spec/support/protobuf_factories.rb @@ -13,9 +13,12 @@ def build_flow(node_functions:, starting_node_id: 1) ) end - def literal_value(value) + def literal_value(value, references = []) Tucana::Shared::NodeValue.new( - literal_value: Tucana::Shared::Value.from_ruby(value) + literal_value: Tucana::Shared::LiteralValue.new( + value: Tucana::Shared::Value.from_ruby(value), + references: references + ) ) end diff --git a/gem/triangulum.gemspec b/gem/triangulum.gemspec index 893d1d5..7553642 100644 --- a/gem/triangulum.gemspec +++ b/gem/triangulum.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'base64', '~> 0.3' spec.add_dependency 'json', '~> 2.19' spec.add_dependency 'open3', '~> 0.2' - spec.add_dependency 'tucana', '~> 0.0', '>= 0.0.78' + spec.add_dependency 'tucana', '~> 0.0', '>= 0.0.82' spec.add_development_dependency 'irb', '~> 1.17' spec.add_development_dependency 'rake', '~> 13.0'