Proto commits in littlehorse-enterprises/littlehorse

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:9a1da75
Author:Snarr

feat(proto): Make `InlineStructDef.fields` a Map to prevent duplicate field names

Commit:61edcce
Author:Snarr

feat(server): Add PutStructDef MetadataCommand and StructDef Getable to proto

Commit:14d2286
Author:Snarr

feat(proto): Add description to PutStructDefRequest and creation time to StructDef

Commit:2931d18
Author:Snarr

feat(proto): Add `STRUCT_DEF` GetableClassEnum

Commit:c245abf
Author:Snarr

feat(proto): Add StructDef protobuf messages

Commit:5beea17
Author:Colt McNealy
Committer:GitHub

feat(server): implements output topic metadata management (#1500) Allows PutTenantRequest to save the output topic configuration. TODO: - handle kafka topic creation if LHS_SHOULD_CREATE_TOPICS == true - Construct models for the output topic records - Intercept and send the records in the ProcessorExecutionContext

The documentation is generated from this commit.

Commit:83c8dd1
Author:Colt McNealy
Committer:GitHub

feat(server): adds output topic proto (#1495)

Commit:5adbf4e
Author:Colt McNealy
Committer:GitHub

feat: enable strong typing on external events (#1412) Refactors our typing system, separating `VariableDef.type` and `VariableDef.masked_value` into a common `TypeDefinition` message that can represent any type on the server without being tied to a Variable. Adds strong return value typing to ExternalEvents using the new typing system. Also adds versioning behind the scenes to ExternalEventDefIds. Versioning on ExternalEventDefs is currently disabled; they default to 0 and are never incremented in the server. --------- Co-authored-by: Jacob Snarr <jacobsnarr@gmail.com>

Commit:8d27b6b
Author:Colt McNealy

Merge branch 'master' into feat/ext-evt-typing

Commit:caecdd4
Author:Eduwer Camacaro

merge master

Commit:b5565c4
Author:Jacob Snarr
Committer:GitHub

feat(server): Gracefully handle deserialization errors on ReportTaskRuns (#1286) This PR catches VariableValueModel deserialization errors on JSON_OBJ and JSON_ARR and sets the TaskAttempt status to `TASK_OUTPUT_SERDE_ERROR`. This solves the issue of tasks 'timing out' when a deserialization error occurs, which didn't provide users with a meaningful error message as to what went wrong.

Commit:930c693
Author:Colt McNealy

on second thought we tryna make this fully compatible. Co-authored-by: Jacob Snarr <jacobsnarr@gmail.com>

Commit:3e73ad9
Author:Eduwer Camacaro
Committer:Eduwer Camacaro

wip

Commit:7e104df
Author:Colti-Wan McNealy

delay some renamings until after proto gets fixed later

Commit:e99ca8c
Author:Colti-Wan McNealy

server code now compiles and validates external event types

Commit:ff84513
Author:Colti-Wan McNealy

finalizes protobuf structure: - Creates a ReturnType, which is a wrapper around TypeDefinition allowing for void-like returns. - Backs out of renaming VariableType as that should be done in a separate PR - Gets the SDK-java to compile properly

Commit:7c4a292
Author:Eduwer Camacaro

Merge branch 'master' into metrics

Commit:4fe96cc
Author:Colti-Wan McNealy

okay edu and jacob this is ready for review

Commit:e26bd3b
Author:Colti-Wan McNealy

draft: refactor proto for external event typing

Commit:53f9a49
Author:Colti-Wan McNealy

temp: starts refactoring nodeoutput mutation to no longer do its thing

Commit:c174734
Author:Snarr

Merge branch 'master' into fix/forward-task-run-report-on-serde-error

Commit:35466ca
Author:Eduwer Camacaro
Committer:GitHub

fix(server): handles idempotency for external events (#1363)

Commit:3c6e4be
Author:Eduwer Camacaro

wip [ci skip]

Commit:134e882
Author:Eduwer Camacaro

wip [ci skip]

Commit:1da13d2
Author:Eduwer Camacaro

Support multiple windows for a metric spec

Commit:3a5d54f
Author:Eduwer Camacaro

Merge branch 'master' into metrics

Commit:2e9fa0e
Author:Eduwer Camacaro

refactors

Commit:a11ac46
Author:Saúl Piña
Committer:GitHub

fix(canary): add grpc code status to canary metrics (#1324) Co-authored-by: Eduwer Camacaro <eduwer@littlehorse.io>

Commit:51f8440
Author:Eduwer Camacaro

wip [ci skip]

Commit:db02e50
Author:Eduwer Camacaro

latency metric

Commit:8a598dc
Author:Colti-Wan McNealy

adds more update types to the output topic proto

Commit:1aecebe
Author:Eduwer Camacaro

refactor

Commit:975fdc5
Author:Eduwer Camacaro

list metric run

Commit:f64f85f
Author:Eduwer Camacaro

repartition command: metrics

Commit:509fb40
Author:Eduwer Camacaro

build repartition commands

Commit:f845c8c
Author:Snarr

refactor(proto): Rename TaskStatus `TASK_OUTPUT_SERIALIZING_ERROR`

Commit:387d770
Author:Eduwer Camacaro

punctuator

Commit:2db9fd4
Author:Eduwer Camacaro

repartition command

Commit:3f618d3
Author:Eduwer Camacaro

wip

Commit:f6ca169
Author:Colti-Wan McNealy

feat(server): introduces the output topic - Creates protos for WfRunEntity, TaskRunResult, and WorkflowEvent notifications - Creates proto for PutTenantRequest to configure whether Output Topic is enabled - Does not implement anything.

Commit:bce257c
Author:Eduwer Camacaro

refactor

Commit:e1fb9b2
Author:Eduwer Camacaro
Committer:Eduwer Camacaro

wip

Commit:76fd5fc
Author:Eduwer Camacaro

save metric config

Commit:5b37303
Author:Saúl Piña
Committer:GitHub

fix(standalone): update docker standalone image versions (#1261) Co-authored-by: Mijail Rondon <mijail@littlehorse.io>

Commit:623bf03
Author:Colt McNealy
Committer:GitHub

perf(server): avoid rocksdb range scan on deletewfrun (#1259) - Intelligently remember which NodeRun's and TaskRun's and variables there were - No range scans over prefix - Journal externalEventId's since we can't guess them

Commit:d3c62b9
Author:Saúl Piña
Committer:GitHub

fix(canary): add new aggregator to ensure consistency (#1248)

Commit:a635bdd
Author:Colt McNealy
Committer:GitHub

chore: move from littlehorse.dev to littlehorse.io/docs/server (#1224) - Remove the docs directory - Remove GH Action to publish documentation - Change all url references from .dev to .io/docs/server

Commit:e021039
Author:KarlaCarvajal
Committer:GitHub

refactor(sdk-dotnet): change csharp proto namespace (#1218)

Commit:00ef241
Author:Saúl Piña
Committer:GitHub

fix: remove server id and data plane id from canary (#1209)

Commit:74b31e8
Author:Mijaíl Rondón
Committer:GitHub

feat(canary): add mandatory config metronome.server.dataplane.id (#1205) Co-authored-by: Saul Piña <saul@littlehorse.io>

Commit:5852cb1
Author:Saúl Piña
Committer:GitHub

fix: prometheus metrics exporter, add new mandatory field server.id to metronome (#1200) Co-authored-by: Mijail Rondon <mijail@littlehorse.io>

Commit:fd8bee4
Author:Saúl Piña
Committer:GitHub

feat: add extra tags to metronome beats (#1195) Co-authored-by: Mijail Rondon <mijail@littlehorse.io>

Commit:e3e4e7b
Author:Jacob Snarr
Committer:GitHub

feat(server): Add source NodeRunId field to WorkflowEvent object (#1175) Enables users to trace down the source NodeRun for any given WorkflowEvent by indexing the `node_run_id` field.

Commit:4a534db
Author:Jacob Snarr
Committer:GitHub

fix(server): Pass UserTask UserId and UserGroup details to WorkerContext (#1178)

Commit:ee3339c
Author:Colt McNealy

feat(server): allow casting var assns

Commit:06ed297
Author:Colt McNealy
Committer:GitHub

refactor(server): standardize on variableassignment for mutations (#1164) - Deprecates the literal_value and node_output options of VariableMutation.rhs_value - Updates sdk-java to only use the VariableAssignment field - Renames VariableMutation.source_variable to VariableMutation.rhs_assignment Co-authored-by: Hazim Arafa <hazimoarafa@gmail.com>

Commit:f4abe43
Author:Colt McNealy
Committer:GitHub

feat(server): allow in-line expression for complex variable assignments (#1076) - Adds the `Expression` option to `VariableAssignmentModel` - Adds more semantic "declareInt()" and "declareDouble()" etc methods to WorkflowThread in java - Adds LHExpression class which represents the `Expression` to the Java workflowThreadSDK - Fixes bugs with the VariableValueModel - Implements changes only in Java SDK, not yet in python or Go

Commit:33c8993
Author:Jacob Snarr
Committer:GitHub

feat(server): Add `RPC GetPrincipal` (#1157)

Commit:7d92d38
Author:Colt McNealy
Committer:GitHub

feat(server,clients): allow users to pass nodeoutput into task (#1125) - Fixes #1119 - adds a NodeOutputReference option to the oneof in VariableAssignment - fetches old node outputs from the server side - allows passing `NodeOutput` into variable mutations and tasks --------- Co-authored-by: Eduwer Camacaro <eduwerc@gmail.com>

Commit:b7901c3
Author:Jacob Snarr
Committer:GitHub

feat(server): Initialize default Tenant and anonymous Principal at startup (#1073) Initializes the default Tenant and the anonymous Principal in the metadata store. Also adds an InitializationLog to the store, which carries important server state data from initialization time.

Commit:cf6adc7
Author:Jacob Snarr
Committer:GitHub

fix: Fulfill missing `WorkflowEvent`s functionality (#1061) Adds missing documentation, dashboard support, lhctl commands, and metadata management services for the `WorkflowEvent`s and `WorkflowEventDef`s feature.

Commit:8567db9
Author:Colt McNealy
Committer:GitHub

feat(server): allow a threadrun to wait for condition (#1046) - Includes docs and e2e test - Missing python and Go SDK - Missing dashboard

Commit:ffbefbf
Author:Jacob Snarr
Committer:GitHub

feat(server): Add `RPC GetWorkflowEvent` (#1041)

Commit:373159c
Author:Jacob Snarr
Committer:GitHub

fix(server): Require global permissions for cluster scoped-resources (#1032) Restrict Principals with per-tenant ACLs from accessing cluster-scoped resources (tenants, principals) at both the service level (PutPrincipal) and the RequestAuthorizer level

Commit:3027205
Author:Colt McNealy

now it compiles

Commit:3fc6bf4
Author:Colt McNealy

feat(server): schemas adr protobuf

Commit:bff6de2
Author:Eduwer Camacaro
Committer:GitHub

refactor(sdk-go): Independent Go Modules for lhctl and sdk-go (#957) Distribute lhctl and sdk-go across various Go modules, enabling clients to select the appropriate Go module for import.

Commit:378637e
Author:Colt McNealy
Committer:GitHub

feat(server): automatically infer listener from request (#953) - Removes the LHW_SERVER_CONNECT listener configuration - Removes the listener_name field from the RegisterTaskWorkerRequest - Refactors KafkaStreamsServerImpl into LHServer and LHServerListener - Infers the listener that the client connected to automatically.

Commit:1bbd508
Author:Eduwer Camacaro
Committer:GitHub

feat(server): Masked variable values Adds the ability to mask variable values to both workflow run variables and task node outputs

Commit:2c3837b
Author:Colt McNealy
Committer:GitHub

chore(proto): renames ExternalEventRun to ExternalEventNodeRun (#951)

Commit:fe4058e
Author:Colt McNealy
Committer:GitHub

feat(server): adds rpc to save user task progress (#946) - Adds `rpc SaveUserTaskRunProgress` - Sets the `results` field of a `UserTaskRun` - Does NOT reset any timers for reassignment. - Adds a `UTESaved` event to the `events` field of the `UserTaskRun` Co-Authored-By: Jacob Snarr <jacobsnarr@gmail.com>

Commit:971afbb
Author:Eduwer Camacaro
Committer:GitHub

feat(server): Schedule WfRun executions This PR include new public rpcs and internal commands in order to support scheduling WfRun based in a cron expression. The date for the execution is calculated base on a command time because we want to support down time scenarios.

Commit:33133d1
Author:Colt McNealy
Committer:GitHub

doc: rewrite concepts section (#934) * Enforce that every page in the /docs/concepts/ on our site corresponds to a MetadataGetable or a GlobalGetable. * Makes it easier to find info about how to build workflows in the /docs/developer-guide/ rather than having to look both in developer guide and /docs/concepts * Makes pipeline fail if broken achor or markdown links are found * Removes LH for Kubernetes (Formerly LH Platform) docs as they are not for our open-source library. --------- Co-authored-by: Snarr <jacobsnarr@gmail.com>

Commit:0546a3c
Author:Jacob Snarr
Committer:GitHub

fix(server): Update `SearchExternalEvent` RPC schema to match other RPCs (#923) Updates `SearchExternalEvent` RPC schema to match pattern set with other Search RPCs, where you can optionally search with a `bookmark`, a `limit`, an `earliestStart` and `latestStart`. Includes required search field `ExternalEventDefId` which will search for ExternalEvents belonging to a specific ExternalEventDef by name. Throws gRPC INVALID_ARGUMENT error when required search field is not provided. Includes optional `IsClaimed` argument that narrows the search down to only ExternalEvents that have been claimed or not. Updates documentation and dashboard to match schema.

Commit:421a7b6
Author:Jacob Snarr
Committer:GitHub

fix(server): Delete TaskWorkerGroups after deleting TaskDef (#894)

Commit:14f4b0d
Author:Colt McNealy

gets a start

Commit:0039191
Author:Colt McNealy

start: TODO: amend this commit message

Commit:0e35f80
Author:Mijaíl Rondón
Committer:GitHub

chore(sdk-js): add global imports (#879) * chore(proto): use buf.build to generate sdk-js compiled proto * chore(dashboard): import protobuf types from package root * fix(compile-proto): update proto path * fix(sdk-js): export module proto * chore(proto): fix compile-proto

Commit:f0043ba
Author:Colt McNealy
Committer:GitHub

feat(server): rpc rescue threadRun (#883) Allows rescuing a failed ThreadRun.

Commit:dcce53e
Author:Jacob Snarr
Committer:GitHub

feat(server): Add `rpc SearchPrincipal` (#855) * Add rpc SearchPrincipal to service.proto * compile proto * Add SearchPrincipalRequest Model and Reply * Change created_at filter to be optional, outside principal criteria * compile proto * Refactor timestamp and tenantId filters * Add search [principal] command to CLI * Add search [principal] command to CLI * Spotless apply * Add long message and flag descriptions to CLI command * Update earliest start and latest start flags * Update "tenant" to "tenantId" for consistency * compile proto files * Fix isAdmin flag and add descriptive comments * Bump Cobra version, add comments, require flags on Search Principal * Remove redundant else * Throw LHSerdeError on invalid bookmark --------- Co-authored-by: Eduwer Camacaro <eduwerc@gmail.com>

Commit:c9bbdaf
Author:Eduwer Camacaro
Committer:GitHub

fix(server): AsyncWaiters sends a response back to the waiting internal server (#838)

Commit:ce3be07
Author:Colt McNealy
Committer:GitHub

feat(server): allow principal deletion #818 (#832) - Adds 'rpc DeletePrincipal' - Fixes bug in the OAuthServerAuthorizer which incorrectly uses userName() on tokens from machine clients

Commit:54db5c1
Author:Colt McNealy
Committer:GitHub

feat(server): Adds rpc GetTenant (#819)

Commit:997e811
Author:Eduwer Camacaro
Committer:GitHub

Feature/list task worker group (#800) This PR adds the ability to get a specific worker group. Also, it adds a new acl for the TaskWorkerGroup resource

Commit:c629a39
Author:Colt McNealy
Committer:GitHub

Adds lots of wfspec proto docs (#799) * Documents wf_spec.proto and acls.proto

Commit:76233dd
Author:Colt McNealy
Committer:GitHub

Docs/protobuf docs on site (#795) - Adds `protoc-gen-doc` in the `compile-proto.sh` script - Adds the protobuf and grpc autogenerated documentation to our docs website - Upgrades Docusaurus to v3 for our docs website

Commit:aeaffd5
Author:Mijaíl Rondón
Committer:GitHub

feat(nodeRun): paginate list nodeRun (#772) * feat(nodeRun): paginate list nodeRun * refactor(nodeRun): use thread-run-number flag

Commit:ef76928
Author:Saúl Piña
Committer:GitHub

Add persistence to the metronome (#758)

Commit:754ca80
Author:Eduwer Camacaro
Committer:GitHub

599 throw exception on cancelled user task runs (#754) This PR adds the ability to both cancel a user task after a deadline on assignment or arrival and handle user task cancellation as a business exception. - Now, clients can define a workflow spec that catch a EXCEPTION when a user task run gets canceled via rpc or scheduled action. In case there is no exception name defined for the user task node, it will be treated as a technical ERROR, for the WfSpec needs to define an exception for the user task cancellation. - Current versions allows cancel a user task run via rpc, but some use cases require cancel an specific user task run after it was created or assigned - Now it is possible to cancel a user task via RPC with the following method:

Commit:e1223ac
Author:Saúl Piña
Committer:GitHub

feat(canary): improve metrics (#757)

Commit:73f6057
Author:jhosep-marin
Committer:GitHub

692 search available tenants (#750) Search Available Tenants (#692) Adds Search Tenant gRPC endpoint. Enables gRPC endpoint in lhctl. Updates Proto schema with respective definitions used in new endpoint. Adds exception that gets thrown whenever a principal tries to assign tenant resources as perTenantACLs. Adds test methods that provide Tenant ACLs. Co-authored-by: Eduwer Camacaro <eduwerc@gmail.com>

Commit:b024431
Author:Saúl Piña
Committer:GitHub

feat(python/retries): Add exponential retires (#737)

Commit:c3c400a
Author:Colt McNealy
Committer:GitHub

731 dynamic taskdef execution (#733) - Adds protobuf for dynamic task execution and implements golang sdk - Adds to python SDK - Adds dynamic tasks to java sdk - Adds e2e for dynamic taskDef execution - Implements dynamic tasks on server

Commit:5ecb7d0
Author:Eduwer Camacaro
Committer:GitHub

700 add variable values to exceptions (#714) Implements #700. This commit enables users to send an `EXCEPTION` with `content` using the `LHTaskException`, and fixes a few bugs where we drop the content. It adds a test to ensure that you can use the content as the `INPUT` variable.

Commit:5324a97
Author:Colt McNealy
Committer:GitHub

Feat/606 retry backoff policy (#707) Allows specifying an exponential backoff policy for retries. Implements issue #606

Commit:d1eda98
Author:Colt McNealy
Committer:GitHub

fix: ExternalEventDef now uses ExternalEventDefId, not name (#710)

Commit:ea5cbd8
Author:Colt McNealy
Committer:GitHub

Feature: Workflow Events (#696) Initial implementation of WorkflowEvent's as per #689 . Adds the following: * `WorkflowEventDef` and `WorkflowEvent` getable objects * a `THROW_EVENT` Sub-Node * the `rpc AwaitWorkflowEvent` which waits for a `WfRun` to throw a `WorkflowEvent` This allows for somewhat synchronous processing of a `WfRun`. --------- Co-authored-by: Eduwer Camacaro <eduwerc@gmail.com>

Commit:8679772
Author:Saúl Piña
Committer:GitHub

Define canary topics name (#691)

Commit:8930121
Author:Colt McNealy
Committer:GitHub

Fix NodeRun LifeCycle (#665) Resolves GitHub Issues #503 and #656. Much more detail on those tickets.

Commit:8ab84b6
Author:Saúl Piña
Committer:GitHub

Chores: minor changes (#672) * chore: minor refactors * feat: add executed time to canary proto * chore: scripts improvements