This is an automated email from the ASF dual-hosted git repository.

ebenizzy pushed a commit to branch burr-0.42.0
in repository https://gitbox.apache.org/repos/asf/burr.git

commit cbfb0aeb05337a362ba7c3345a27fe54a2efc0cf
Author: Elijah ben Izzy <[email protected]>
AuthorDate: Sun Feb 1 20:42:55 2026 -0800

    Add Apache license headers to 33 notebooks
    
    Add standard Apache license headers as first code cell to all notebooks
    that were missing them. Apache releases require proper license headers
    in all distributed files for IP compliance.
---
 docs/examples/chatbots/basic-chatbot.ipynb         |  8 +++++
 docs/examples/chatbots/gpt-like-chatbot.ipynb      | 34 +++++++++++--------
 docs/examples/chatbots/rag-chatbot-hamilton.ipynb  |  8 +++++
 .../simple/choose-your-own-adventure.ipynb         | 39 +++++++++++++---------
 docs/examples/simple/counter.ipynb                 |  8 +++++
 docs/examples/simple/cowsay.ipynb                  |  8 +++++
 examples/adaptive-crag/notebook.ipynb              |  7 ++++
 .../graph_db_example/ingest_notebook.ipynb         |  8 +++++
 .../graph_db_example/notebook.ipynb                |  8 +++++
 .../simple_example/notebook.ipynb                  |  8 +++++
 examples/custom-serde/notebook.ipynb               |  8 +++++
 examples/hamilton-integration/notebook.ipynb       |  7 ++++
 examples/haystack-integration/notebook.ipynb       |  7 ++++
 examples/image-telephone/notebook.ipynb            |  8 +++++
 examples/instructor-gemini-flash/notebook.ipynb    |  7 ++++
 examples/llm-adventure-game/notebook.ipynb         |  8 +++++
 .../hamilton/notebook.ipynb                        |  8 +++++
 .../multi-agent-collaboration/lcel/notebook.ipynb  |  8 +++++
 examples/opentelemetry/notebook.ipynb              |  8 +++++
 examples/other-examples/cowsay/notebook.ipynb      |  8 +++++
 examples/parallelism/notebook.ipynb                |  8 +++++
 examples/rag-lancedb-ingestion/notebook.ipynb      |  7 ++++
 examples/ray/notebook.ipynb                        |  8 +++++
 examples/recursive/notebook.ipynb                  |  8 +++++
 examples/simple-chatbot-intro/notebook.ipynb       |  8 +++++
 examples/streaming-overview/notebook.ipynb         |  8 +++++
 examples/talks/data_for_ai_oct_2024.ipynb          |  8 +++++
 examples/test-case-creation/notebook.ipynb         |  8 +++++
 examples/tool-calling/notebook.ipynb               |  8 +++++
 examples/tracing-and-spans/burr_otel_demo.ipynb    |  8 +++++
 examples/tracing-and-spans/notebook.ipynb          |  8 +++++
 examples/typed-state/notebook.ipynb                |  8 +++++
 .../youtube-to-social-media-post/notebook.ipynb    |  7 ++++
 33 files changed, 286 insertions(+), 29 deletions(-)

diff --git a/docs/examples/chatbots/basic-chatbot.ipynb 
b/docs/examples/chatbots/basic-chatbot.ipynb
index db959573..1688a5af 100644
--- a/docs/examples/chatbots/basic-chatbot.ipynb
+++ b/docs/examples/chatbots/basic-chatbot.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "72xar2zywy",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "61278d3e-958b-49ee-94b8-2ee1f5e58773",
diff --git a/docs/examples/chatbots/gpt-like-chatbot.ipynb 
b/docs/examples/chatbots/gpt-like-chatbot.ipynb
index dd875bc6..7a4351b1 100644
--- a/docs/examples/chatbots/gpt-like-chatbot.ipynb
+++ b/docs/examples/chatbots/gpt-like-chatbot.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "y14cel7pcg",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "f63df3e4b8d4fdba",
@@ -680,19 +688,19 @@
      "evalue": "Demo error",
      "output_type": "error",
      "traceback": [
-      
"\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
-      "\u001B[0;31mValueError\u001B[0m                                
Traceback (most recent call last)",
-      "Cell \u001B[0;32mIn[12], line 5\u001B[0m\n\u001B[1;32m      3\u001B[0m 
\u001B[38;5;28;01mif\u001B[39;00m 
\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mquit\u001B[39m\u001B[38;5;124m\"\u001B[39m
 \u001B[38;5;241m==\u001B[39m 
user_input\u001B[38;5;241m.\u001B[39mlower():\n\u001B[1;32m      4\u001B[0m     
\u001B[38;5;28;01mbreak\u001B[39;00m\n\u001B[0;32m----> 5\u001B[0m last_action, 
action_result, app_state \u001B[38;5;241m=\u001B[39m 
\u001B[43mapp\u001B[49m\u001B[38;5;241;43m.\u001B[3 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/telemetry.py:273\u001B[0m, in 
\u001B[0;36mcapture_function_usage.<locals>.wrapped_fn\u001B[0;34m(*args, 
**kwargs)\u001B[0m\n\u001B[1;32m    270\u001B[0m 
\u001B[38;5;129m@functools\u001B[39m\u001B[38;5;241m.\u001B[39mwraps(call_fn)\n\u001B[1;32m
    271\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m 
\u001B[38;5;21mwrapped_fn\u001B[39m(\u001B[38;5;241m*\u001B[39margs, 
\u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mkwargs):\n\u001B[1;32m    
27 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:878\u001B[0m, 
in \u001B[0;36mApplication.run\u001B[0;34m(self, halt_before, halt_after, 
inputs)\u001B[0m\n\u001B[1;32m    876\u001B[0m 
\u001B[38;5;28;01mwhile\u001B[39;00m 
\u001B[38;5;28;01mTrue\u001B[39;00m:\n\u001B[1;32m    877\u001B[0m     
\u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m--> 878\u001B[0m         
\u001B[38;5;28;43mnext\u001B[39;49m\u001B[43m(\u001B[49m\u001B[43mgen\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1
 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:823\u001B[0m, 
in \u001B[0;36mApplication.iterate\u001B[0;34m(self, halt_before, halt_after, 
inputs)\u001B[0m\n\u001B[1;32m    820\u001B[0m prior_action: Optional[Action] 
\u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[1;32m   
 821\u001B[0m \u001B[38;5;28;01mwhile\u001B[39;00m 
\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mhas_next_action():\n\u001B[1;32m
    822\u001B[0m     \u001B[38;5;66;03 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:495\u001B[0m, 
in \u001B[0;36mApplication.step\u001B[0;34m(self, 
inputs)\u001B[0m\n\u001B[1;32m    492\u001B[0m \u001B[38;5;66;03m# we need to 
increment the sequence before we start computing\u001B[39;00m\n\u001B[1;32m    
493\u001B[0m \u001B[38;5;66;03m# that way if we're replaying from state, we 
don't get stuck\u001B[39;00m\n\u001B[1;32m    494\u001B[0m 
\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_increment_sequ [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:548\u001B[0m, 
in \u001B[0;36mApplication._step\u001B[0;34m(self, inputs, 
_run_hooks)\u001B[0m\n\u001B[1;32m    546\u001B[0m     exc 
\u001B[38;5;241m=\u001B[39m e\n\u001B[1;32m    547\u001B[0m     
logger\u001B[38;5;241m.\u001B[39mexception(_format_BASE_ERROR_MESSAGE(next_action,
 \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_state, 
inputs))\n\u001B[0;32m--> 548\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m 
e\n\ [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:534\u001B[0m, 
in \u001B[0;36mApplication._step\u001B[0;34m(self, inputs, 
_run_hooks)\u001B[0m\n\u001B[1;32m    532\u001B[0m 
\u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m    533\u001B[0m     
\u001B[38;5;28;01mif\u001B[39;00m 
next_action\u001B[38;5;241m.\u001B[39msingle_step:\n\u001B[0;32m--> 
534\u001B[0m         result, new_state \u001B[38;5;241m=\u001B[39m 
\u001B[43m_run_single_step_action\u001B[49m\u001B[43m(\u001B[49m [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:233\u001B[0m, 
in \u001B[0;36m_run_single_step_action\u001B[0;34m(action, state, 
inputs)\u001B[0m\n\u001B[1;32m    230\u001B[0m \u001B[38;5;66;03m# TODO -- 
guard all reads/writes with a subset of the state\u001B[39;00m\n\u001B[1;32m    
231\u001B[0m 
action\u001B[38;5;241m.\u001B[39mvalidate_inputs(inputs)\n\u001B[1;32m    
232\u001B[0m result, new_state \u001B[38;5;241m=\u001B[39m 
_adjust_single_step_output(\n\u001B[0;32m--> 2 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/action.py:533\u001B[0m, in 
\u001B[0;36mFunctionBasedAction.run_and_update\u001B[0;34m(self, state, 
**run_kwargs)\u001B[0m\n\u001B[1;32m    532\u001B[0m 
\u001B[38;5;28;01mdef\u001B[39;00m 
\u001B[38;5;21mrun_and_update\u001B[39m(\u001B[38;5;28mself\u001B[39m, state: 
State, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mrun_kwargs) 
\u001B[38;5;241m-\u001B[39m\u001B[38;5;241m>\u001B[39m 
\u001B[38;5;28mtuple\u001B[39m[\u001B[38;5;28mdic [...]
-      "Cell \u001B[0;32mIn[8], line 94\u001B[0m, in 
\u001B[0;36mimage_response\u001B[0;34m(state, model)\u001B[0m\n\u001B[1;32m     
91\u001B[0m 
\u001B[38;5;129m@action\u001B[39m(reads\u001B[38;5;241m=\u001B[39m[\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mprompt\u001B[39m\u001B[38;5;124m\"\u001B[39m,
 
\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mchat_history\u001B[39m\u001B[38;5;124m\"\u001B[39m,
 
\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mmode\u001B[39m\u001B[38;5;124m\"\u001B[39m],
 writes [...]
-      "\u001B[0;31mValueError\u001B[0m: Demo error"
+      
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                
Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[12], line 5\u001b[0m\n\u001b[1;32m      3\u001b[0m 
\u001b[38;5;28;01mif\u001b[39;00m 
\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mquit\u001b[39m\u001b[38;5;124m\"\u001b[39m
 \u001b[38;5;241m==\u001b[39m 
user_input\u001b[38;5;241m.\u001b[39mlower():\n\u001b[1;32m      4\u001b[0m     
\u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[0;32m----> 5\u001b[0m last_action, 
action_result, app_state \u001b[38;5;241m=\u001b[39m 
\u001b[43mapp\u001b[49m\u001b[38;5;241;43m.\u001b[3 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/telemetry.py:273\u001b[0m, in 
\u001b[0;36mcapture_function_usage.<locals>.wrapped_fn\u001b[0;34m(*args, 
**kwargs)\u001b[0m\n\u001b[1;32m    270\u001b[0m 
\u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(call_fn)\n\u001b[1;32m
    271\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m 
\u001b[38;5;21mwrapped_fn\u001b[39m(\u001b[38;5;241m*\u001b[39margs, 
\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m    
27 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:878\u001b[0m, 
in \u001b[0;36mApplication.run\u001b[0;34m(self, halt_before, halt_after, 
inputs)\u001b[0m\n\u001b[1;32m    876\u001b[0m 
\u001b[38;5;28;01mwhile\u001b[39;00m 
\u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m    877\u001b[0m     
\u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 878\u001b[0m         
\u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mgen\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1
 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:823\u001b[0m, 
in \u001b[0;36mApplication.iterate\u001b[0;34m(self, halt_before, halt_after, 
inputs)\u001b[0m\n\u001b[1;32m    820\u001b[0m prior_action: Optional[Action] 
\u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m   
 821\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m 
\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhas_next_action():\n\u001b[1;32m
    822\u001b[0m     \u001b[38;5;66;03 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:495\u001b[0m, 
in \u001b[0;36mApplication.step\u001b[0;34m(self, 
inputs)\u001b[0m\n\u001b[1;32m    492\u001b[0m \u001b[38;5;66;03m# we need to 
increment the sequence before we start computing\u001b[39;00m\n\u001b[1;32m    
493\u001b[0m \u001b[38;5;66;03m# that way if we're replaying from state, we 
don't get stuck\u001b[39;00m\n\u001b[1;32m    494\u001b[0m 
\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_increment_sequ [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:548\u001b[0m, 
in \u001b[0;36mApplication._step\u001b[0;34m(self, inputs, 
_run_hooks)\u001b[0m\n\u001b[1;32m    546\u001b[0m     exc 
\u001b[38;5;241m=\u001b[39m e\n\u001b[1;32m    547\u001b[0m     
logger\u001b[38;5;241m.\u001b[39mexception(_format_BASE_ERROR_MESSAGE(next_action,
 \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state, 
inputs))\n\u001b[0;32m--> 548\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m 
e\n\ [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:534\u001b[0m, 
in \u001b[0;36mApplication._step\u001b[0;34m(self, inputs, 
_run_hooks)\u001b[0m\n\u001b[1;32m    532\u001b[0m 
\u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m    533\u001b[0m     
\u001b[38;5;28;01mif\u001b[39;00m 
next_action\u001b[38;5;241m.\u001b[39msingle_step:\n\u001b[0;32m--> 
534\u001b[0m         result, new_state \u001b[38;5;241m=\u001b[39m 
\u001b[43m_run_single_step_action\u001b[49m\u001b[43m(\u001b[49m [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:233\u001b[0m, 
in \u001b[0;36m_run_single_step_action\u001b[0;34m(action, state, 
inputs)\u001b[0m\n\u001b[1;32m    230\u001b[0m \u001b[38;5;66;03m# TODO -- 
guard all reads/writes with a subset of the state\u001b[39;00m\n\u001b[1;32m    
231\u001b[0m 
action\u001b[38;5;241m.\u001b[39mvalidate_inputs(inputs)\n\u001b[1;32m    
232\u001b[0m result, new_state \u001b[38;5;241m=\u001b[39m 
_adjust_single_step_output(\n\u001b[0;32m--> 2 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/action.py:533\u001b[0m, in 
\u001b[0;36mFunctionBasedAction.run_and_update\u001b[0;34m(self, state, 
**run_kwargs)\u001b[0m\n\u001b[1;32m    532\u001b[0m 
\u001b[38;5;28;01mdef\u001b[39;00m 
\u001b[38;5;21mrun_and_update\u001b[39m(\u001b[38;5;28mself\u001b[39m, state: 
State, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mrun_kwargs) 
\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m 
\u001b[38;5;28mtuple\u001b[39m[\u001b[38;5;28mdic [...]
+      "Cell \u001b[0;32mIn[8], line 94\u001b[0m, in 
\u001b[0;36mimage_response\u001b[0;34m(state, model)\u001b[0m\n\u001b[1;32m     
91\u001b[0m 
\u001b[38;5;129m@action\u001b[39m(reads\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mprompt\u001b[39m\u001b[38;5;124m\"\u001b[39m,
 
\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mchat_history\u001b[39m\u001b[38;5;124m\"\u001b[39m,
 
\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmode\u001b[39m\u001b[38;5;124m\"\u001b[39m],
 writes [...]
+      "\u001b[0;31mValueError\u001b[0m: Demo error"
      ]
     }
    ],
diff --git a/docs/examples/chatbots/rag-chatbot-hamilton.ipynb 
b/docs/examples/chatbots/rag-chatbot-hamilton.ipynb
index d8c54096..a537d1ca 100644
--- a/docs/examples/chatbots/rag-chatbot-hamilton.ipynb
+++ b/docs/examples/chatbots/rag-chatbot-hamilton.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "8gtpynaajbp",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "1622e1563a35aa32",
diff --git a/docs/examples/simple/choose-your-own-adventure.ipynb 
b/docs/examples/simple/choose-your-own-adventure.ipynb
index 78aab4f8..6a3bea61 100644
--- a/docs/examples/simple/choose-your-own-adventure.ipynb
+++ b/docs/examples/simple/choose-your-own-adventure.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -262,22 +269,22 @@
      "evalue": "Interrupted by user",
      "output_type": "error",
      "traceback": [
-      
"\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
-      "\u001B[0;31mKeyboardInterrupt\u001B[0m                         
Traceback (most recent call last)",
-      "Cell \u001B[0;32mIn[15], line 1\u001B[0m\n\u001B[0;32m----> 1\u001B[0m 
action, state, result \u001B[38;5;241m=\u001B[39m 
\u001B[43mapp\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mrun\u001B[49m\u001B[43m(\u001B[49m\u001B[43mhalt_after\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43m[\u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43mwin\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m]\u001B[49m\u001B[43m)\u001B[49m\n",
-      "File \u001B[0;32m~/dagworks/burr/burr/telemetry.py:276\u001B[0m, in 
\u001B[0;36mcapture_function_usage.<locals>.wrapped_fn\u001B[0;34m(*args, 
**kwargs)\u001B[0m\n\u001B[1;32m    273\u001B[0m 
\u001B[38;5;129m@functools\u001B[39m\u001B[38;5;241m.\u001B[39mwraps(call_fn)\n\u001B[1;32m
    274\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m 
\u001B[38;5;21mwrapped_fn\u001B[39m(\u001B[38;5;241m*\u001B[39margs, 
\u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mkwargs):\n\u001B[1;32m    
27 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:672\u001B[0m, 
in 
\u001B[0;36m_call_execute_method_pre_post.__call__.<locals>.wrapper_sync\u001B[0;34m(app_self,
 *args, **kwargs)\u001B[0m\n\u001B[1;32m    670\u001B[0m exc 
\u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[1;32m   
 671\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m--> 672\u001B[0m 
    \u001B[38;5;28;01mreturn\u001B[39;00m 
\u001B[43mfn\u001B[49m\u001B[43m(\u001B[49m\u001B[43m [...]
-      "File 
\u001B[0;32m~/dagworks/burr/burr/core/application.py:1243\u001B[0m, in 
\u001B[0;36mApplication.run\u001B[0;34m(self, halt_before, halt_after, 
inputs)\u001B[0m\n\u001B[1;32m   1241\u001B[0m 
\u001B[38;5;28;01mwhile\u001B[39;00m 
\u001B[38;5;28;01mTrue\u001B[39;00m:\n\u001B[1;32m   1242\u001B[0m     
\u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m-> 1243\u001B[0m         
\u001B[38;5;28;43mnext\u001B[39;49m\u001B[43m(\u001B[49m\u001B[43mgen\u001B[49m\u001B[43m)\u001B[49m\n\u001B[
 [...]
-      "File 
\u001B[0;32m~/dagworks/burr/burr/core/application.py:1186\u001B[0m, in 
\u001B[0;36mApplication.iterate\u001B[0;34m(self, halt_before, halt_after, 
inputs)\u001B[0m\n\u001B[1;32m   1183\u001B[0m prior_action: Optional[Action] 
\u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[1;32m   
1184\u001B[0m \u001B[38;5;28;01mwhile\u001B[39;00m 
\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mhas_next_action():\n\u001B[1;32m
   1185\u001B[0m     \u001B[38;5;66;0 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:672\u001B[0m, 
in 
\u001B[0;36m_call_execute_method_pre_post.__call__.<locals>.wrapper_sync\u001B[0;34m(app_self,
 *args, **kwargs)\u001B[0m\n\u001B[1;32m    670\u001B[0m exc 
\u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[1;32m   
 671\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m--> 672\u001B[0m 
    \u001B[38;5;28;01mreturn\u001B[39;00m 
\u001B[43mfn\u001B[49m\u001B[43m(\u001B[49m\u001B[43m [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:843\u001B[0m, 
in \u001B[0;36mApplication.step\u001B[0;34m(self, 
inputs)\u001B[0m\n\u001B[1;32m    840\u001B[0m \u001B[38;5;66;03m# we need to 
increment the sequence before we start computing\u001B[39;00m\n\u001B[1;32m    
841\u001B[0m \u001B[38;5;66;03m# that way if we're replaying from state, we 
don't get stuck\u001B[39;00m\n\u001B[1;32m    842\u001B[0m 
\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_increment_sequ [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:885\u001B[0m, 
in \u001B[0;36mApplication._step\u001B[0;34m(self, inputs, 
_run_hooks)\u001B[0m\n\u001B[1;32m    883\u001B[0m 
\u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m    884\u001B[0m     
\u001B[38;5;28;01mif\u001B[39;00m 
next_action\u001B[38;5;241m.\u001B[39msingle_step:\n\u001B[0;32m--> 
885\u001B[0m         result, new_state \u001B[38;5;241m=\u001B[39m 
\u001B[43m_run_single_step_action\u001B[49m\u001B[43m(\u001B[49m [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/application.py:287\u001B[0m, 
in \u001B[0;36m_run_single_step_action\u001B[0;34m(action, state, 
inputs)\u001B[0m\n\u001B[1;32m    284\u001B[0m \u001B[38;5;66;03m# TODO -- 
guard all reads/writes with a subset of the state\u001B[39;00m\n\u001B[1;32m    
285\u001B[0m 
action\u001B[38;5;241m.\u001B[39mvalidate_inputs(inputs)\n\u001B[1;32m    
286\u001B[0m result, new_state \u001B[38;5;241m=\u001B[39m 
_adjust_single_step_output(\n\u001B[0;32m--> 2 [...]
-      "File \u001B[0;32m~/dagworks/burr/burr/core/action.py:655\u001B[0m, in 
\u001B[0;36mFunctionBasedAction.run_and_update\u001B[0;34m(self, state, 
**run_kwargs)\u001B[0m\n\u001B[1;32m    654\u001B[0m 
\u001B[38;5;28;01mdef\u001B[39;00m 
\u001B[38;5;21mrun_and_update\u001B[39m(\u001B[38;5;28mself\u001B[39m, state: 
State, \u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mrun_kwargs) 
\u001B[38;5;241m-\u001B[39m\u001B[38;5;241m>\u001B[39m 
\u001B[38;5;28mtuple\u001B[39m[\u001B[38;5;28mdic [...]
-      "Cell \u001B[0;32mIn[12], line 12\u001B[0m, in 
\u001B[0;36mprompt_for_challenge\u001B[0;34m(state)\u001B[0m\n\u001B[1;32m     
10\u001B[0m \u001B[38;5;250m\u001B[39m\u001B[38;5;124;03m\"\"\"Request user 
input to solve the current challenge\"\"\"\u001B[39;00m\n\u001B[1;32m     
11\u001B[0m current_challenge \u001B[38;5;241m=\u001B[39m 
state[\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mcurrent_challenge\u001B[39m\u001B[38;5;124m\"\u001B[39m]\n\u001B[0;32m--->
 12\u001B[0m user_response \ [...]
-      "File 
\u001B[0;32m~/.pyenv/versions/burr-py310/lib/python3.10/site-packages/ipykernel/kernelbase.py:1270\u001B[0m,
 in \u001B[0;36mKernel.raw_input\u001B[0;34m(self, 
prompt)\u001B[0m\n\u001B[1;32m   1268\u001B[0m     msg 
\u001B[38;5;241m=\u001B[39m 
\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mraw_input was called, but this 
frontend does not support input 
requests.\u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[1;32m   1269\u001B[0m   
  \u001B[38;5;28;01mraise\u001B[39;00m StdinNotImpl [...]
-      "File 
\u001B[0;32m~/.pyenv/versions/burr-py310/lib/python3.10/site-packages/ipykernel/kernelbase.py:1313\u001B[0m,
 in \u001B[0;36mKernel._input_request\u001B[0;34m(self, prompt, ident, parent, 
password)\u001B[0m\n\u001B[1;32m   1310\u001B[0m 
\u001B[38;5;28;01mexcept\u001B[39;00m 
\u001B[38;5;167;01mKeyboardInterrupt\u001B[39;00m:\n\u001B[1;32m   
1311\u001B[0m     \u001B[38;5;66;03m# re-raise KeyboardInterrupt, to truncate 
traceback\u001B[39;00m\n\u001B[1;32m   1312\u001B[0m     msg  [...]
-      "\u001B[0;31mKeyboardInterrupt\u001B[0m: Interrupted by user"
+      
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         
Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[15], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m 
action, state, result \u001b[38;5;241m=\u001b[39m 
\u001b[43mapp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhalt_after\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mwin\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/dagworks/burr/burr/telemetry.py:276\u001b[0m, in 
\u001b[0;36mcapture_function_usage.<locals>.wrapped_fn\u001b[0;34m(*args, 
**kwargs)\u001b[0m\n\u001b[1;32m    273\u001b[0m 
\u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(call_fn)\n\u001b[1;32m
    274\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m 
\u001b[38;5;21mwrapped_fn\u001b[39m(\u001b[38;5;241m*\u001b[39margs, 
\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m    
27 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:672\u001b[0m, 
in 
\u001b[0;36m_call_execute_method_pre_post.__call__.<locals>.wrapper_sync\u001b[0;34m(app_self,
 *args, **kwargs)\u001b[0m\n\u001b[1;32m    670\u001b[0m exc 
\u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m   
 671\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 672\u001b[0m 
    \u001b[38;5;28;01mreturn\u001b[39;00m 
\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m [...]
+      "File 
\u001b[0;32m~/dagworks/burr/burr/core/application.py:1243\u001b[0m, in 
\u001b[0;36mApplication.run\u001b[0;34m(self, halt_before, halt_after, 
inputs)\u001b[0m\n\u001b[1;32m   1241\u001b[0m 
\u001b[38;5;28;01mwhile\u001b[39;00m 
\u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m   1242\u001b[0m     
\u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1243\u001b[0m         
\u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mgen\u001b[49m\u001b[43m)\u001b[49m\n\u001b[
 [...]
+      "File 
\u001b[0;32m~/dagworks/burr/burr/core/application.py:1186\u001b[0m, in 
\u001b[0;36mApplication.iterate\u001b[0;34m(self, halt_before, halt_after, 
inputs)\u001b[0m\n\u001b[1;32m   1183\u001b[0m prior_action: Optional[Action] 
\u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m   
1184\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m 
\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhas_next_action():\n\u001b[1;32m
   1185\u001b[0m     \u001b[38;5;66;0 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:672\u001b[0m, 
in 
\u001b[0;36m_call_execute_method_pre_post.__call__.<locals>.wrapper_sync\u001b[0;34m(app_self,
 *args, **kwargs)\u001b[0m\n\u001b[1;32m    670\u001b[0m exc 
\u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m   
 671\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 672\u001b[0m 
    \u001b[38;5;28;01mreturn\u001b[39;00m 
\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:843\u001b[0m, 
in \u001b[0;36mApplication.step\u001b[0;34m(self, 
inputs)\u001b[0m\n\u001b[1;32m    840\u001b[0m \u001b[38;5;66;03m# we need to 
increment the sequence before we start computing\u001b[39;00m\n\u001b[1;32m    
841\u001b[0m \u001b[38;5;66;03m# that way if we're replaying from state, we 
don't get stuck\u001b[39;00m\n\u001b[1;32m    842\u001b[0m 
\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_increment_sequ [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:885\u001b[0m, 
in \u001b[0;36mApplication._step\u001b[0;34m(self, inputs, 
_run_hooks)\u001b[0m\n\u001b[1;32m    883\u001b[0m 
\u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m    884\u001b[0m     
\u001b[38;5;28;01mif\u001b[39;00m 
next_action\u001b[38;5;241m.\u001b[39msingle_step:\n\u001b[0;32m--> 
885\u001b[0m         result, new_state \u001b[38;5;241m=\u001b[39m 
\u001b[43m_run_single_step_action\u001b[49m\u001b[43m(\u001b[49m [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/application.py:287\u001b[0m, 
in \u001b[0;36m_run_single_step_action\u001b[0;34m(action, state, 
inputs)\u001b[0m\n\u001b[1;32m    284\u001b[0m \u001b[38;5;66;03m# TODO -- 
guard all reads/writes with a subset of the state\u001b[39;00m\n\u001b[1;32m    
285\u001b[0m 
action\u001b[38;5;241m.\u001b[39mvalidate_inputs(inputs)\n\u001b[1;32m    
286\u001b[0m result, new_state \u001b[38;5;241m=\u001b[39m 
_adjust_single_step_output(\n\u001b[0;32m--> 2 [...]
+      "File \u001b[0;32m~/dagworks/burr/burr/core/action.py:655\u001b[0m, in 
\u001b[0;36mFunctionBasedAction.run_and_update\u001b[0;34m(self, state, 
**run_kwargs)\u001b[0m\n\u001b[1;32m    654\u001b[0m 
\u001b[38;5;28;01mdef\u001b[39;00m 
\u001b[38;5;21mrun_and_update\u001b[39m(\u001b[38;5;28mself\u001b[39m, state: 
State, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mrun_kwargs) 
\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m 
\u001b[38;5;28mtuple\u001b[39m[\u001b[38;5;28mdic [...]
+      "Cell \u001b[0;32mIn[12], line 12\u001b[0m, in 
\u001b[0;36mprompt_for_challenge\u001b[0;34m(state)\u001b[0m\n\u001b[1;32m     
10\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Request user 
input to solve the current challenge\"\"\"\u001b[39;00m\n\u001b[1;32m     
11\u001b[0m current_challenge \u001b[38;5;241m=\u001b[39m 
state[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcurrent_challenge\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[0;32m--->
 12\u001b[0m user_response \ [...]
+      "File 
\u001b[0;32m~/.pyenv/versions/burr-py310/lib/python3.10/site-packages/ipykernel/kernelbase.py:1270\u001b[0m,
 in \u001b[0;36mKernel.raw_input\u001b[0;34m(self, 
prompt)\u001b[0m\n\u001b[1;32m   1268\u001b[0m     msg 
\u001b[38;5;241m=\u001b[39m 
\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mraw_input was called, but this 
frontend does not support input 
requests.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m   1269\u001b[0m   
  \u001b[38;5;28;01mraise\u001b[39;00m StdinNotImpl [...]
+      "File 
\u001b[0;32m~/.pyenv/versions/burr-py310/lib/python3.10/site-packages/ipykernel/kernelbase.py:1313\u001b[0m,
 in \u001b[0;36mKernel._input_request\u001b[0;34m(self, prompt, ident, parent, 
password)\u001b[0m\n\u001b[1;32m   1310\u001b[0m 
\u001b[38;5;28;01mexcept\u001b[39;00m 
\u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m:\n\u001b[1;32m   
1311\u001b[0m     \u001b[38;5;66;03m# re-raise KeyboardInterrupt, to truncate 
traceback\u001b[39;00m\n\u001b[1;32m   1312\u001b[0m     msg  [...]
+      "\u001b[0;31mKeyboardInterrupt\u001b[0m: Interrupted by user"
      ]
     }
    ],
diff --git a/docs/examples/simple/counter.ipynb 
b/docs/examples/simple/counter.ipynb
index 838940dc..1b961c3e 100644
--- a/docs/examples/simple/counter.ipynb
+++ b/docs/examples/simple/counter.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "jgwmgsmi5z",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "49dab42f",
diff --git a/docs/examples/simple/cowsay.ipynb 
b/docs/examples/simple/cowsay.ipynb
index a65cb543..c54886eb 100644
--- a/docs/examples/simple/cowsay.ipynb
+++ b/docs/examples/simple/cowsay.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "fjksj6jy45q",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "23493882",
diff --git a/examples/adaptive-crag/notebook.ipynb 
b/examples/adaptive-crag/notebook.ipynb
index 626744c4..4306c27a 100644
--- a/examples/adaptive-crag/notebook.ipynb
+++ b/examples/adaptive-crag/notebook.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb 
b/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
index a56efcdd..d18436b9 100644
--- a/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
+++ b/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "z27s4nl744c",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/conversational-rag/graph_db_example/notebook.ipynb 
b/examples/conversational-rag/graph_db_example/notebook.ipynb
index 45d8ba71..13758a35 100644
--- a/examples/conversational-rag/graph_db_example/notebook.ipynb
+++ b/examples/conversational-rag/graph_db_example/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "d5w7n7aa8lk",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/conversational-rag/simple_example/notebook.ipynb 
b/examples/conversational-rag/simple_example/notebook.ipynb
index c1256ffa..fa0d4d66 100644
--- a/examples/conversational-rag/simple_example/notebook.ipynb
+++ b/examples/conversational-rag/simple_example/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "oq9sb8jkotm",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "1622e1563a35aa32",
diff --git a/examples/custom-serde/notebook.ipynb 
b/examples/custom-serde/notebook.ipynb
index fbe4a9b3..825a044a 100644
--- a/examples/custom-serde/notebook.ipynb
+++ b/examples/custom-serde/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "apns7ccbyf",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/hamilton-integration/notebook.ipynb 
b/examples/hamilton-integration/notebook.ipynb
index f7f02164..763542b0 100644
--- a/examples/hamilton-integration/notebook.ipynb
+++ b/examples/hamilton-integration/notebook.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": 1,
diff --git a/examples/haystack-integration/notebook.ipynb 
b/examples/haystack-integration/notebook.ipynb
index d1067287..a96e78e5 100644
--- a/examples/haystack-integration/notebook.ipynb
+++ b/examples/haystack-integration/notebook.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/examples/image-telephone/notebook.ipynb 
b/examples/image-telephone/notebook.ipynb
index c6bf5d63..edf305f5 100644
--- a/examples/image-telephone/notebook.ipynb
+++ b/examples/image-telephone/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "r7i3uy9vk7",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/instructor-gemini-flash/notebook.ipynb 
b/examples/instructor-gemini-flash/notebook.ipynb
index 111eaa4d..580e0c8c 100644
--- a/examples/instructor-gemini-flash/notebook.ipynb
+++ b/examples/instructor-gemini-flash/notebook.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/examples/llm-adventure-game/notebook.ipynb 
b/examples/llm-adventure-game/notebook.ipynb
index 79285703..1a29a223 100644
--- a/examples/llm-adventure-game/notebook.ipynb
+++ b/examples/llm-adventure-game/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "tg4hpkvciy",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/multi-agent-collaboration/hamilton/notebook.ipynb 
b/examples/multi-agent-collaboration/hamilton/notebook.ipynb
index e0977df8..e91d2d5f 100644
--- a/examples/multi-agent-collaboration/hamilton/notebook.ipynb
+++ b/examples/multi-agent-collaboration/hamilton/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "6sjcd7v1klw",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "a80d8df22739b896",
diff --git a/examples/multi-agent-collaboration/lcel/notebook.ipynb 
b/examples/multi-agent-collaboration/lcel/notebook.ipynb
index 506b0327..93e8d003 100644
--- a/examples/multi-agent-collaboration/lcel/notebook.ipynb
+++ b/examples/multi-agent-collaboration/lcel/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "ggdb8jqi277",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "a80d8df22739b896",
diff --git a/examples/opentelemetry/notebook.ipynb 
b/examples/opentelemetry/notebook.ipynb
index f91424b0..d7800432 100644
--- a/examples/opentelemetry/notebook.ipynb
+++ b/examples/opentelemetry/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "xw8vgb7rav",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": 1,
diff --git a/examples/other-examples/cowsay/notebook.ipynb 
b/examples/other-examples/cowsay/notebook.ipynb
index 3cb4ee59..d4062c1f 100644
--- a/examples/other-examples/cowsay/notebook.ipynb
+++ b/examples/other-examples/cowsay/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "hm05ef0z1wg",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/parallelism/notebook.ipynb 
b/examples/parallelism/notebook.ipynb
index ac2f3391..5b150b22 100644
--- a/examples/parallelism/notebook.ipynb
+++ b/examples/parallelism/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "ibxhi2neov",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "f4b744ec-ce8d-4e6b-b818-d86f6a869028",
diff --git a/examples/rag-lancedb-ingestion/notebook.ipynb 
b/examples/rag-lancedb-ingestion/notebook.ipynb
index 06e719b1..5ee2ccae 100644
--- a/examples/rag-lancedb-ingestion/notebook.ipynb
+++ b/examples/rag-lancedb-ingestion/notebook.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/examples/ray/notebook.ipynb b/examples/ray/notebook.ipynb
index e3f94ce5..616434d9 100644
--- a/examples/ray/notebook.ipynb
+++ b/examples/ray/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "srtl3nofyb",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "a24201eb-2541-4ef1-bed2-14f34fe37ae7",
diff --git a/examples/recursive/notebook.ipynb 
b/examples/recursive/notebook.ipynb
index c1d33d58..e71ce7fc 100644
--- a/examples/recursive/notebook.ipynb
+++ b/examples/recursive/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "i224d87jsmn",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "4bb251de-463e-4156-bcfc-9078721f6a8b",
diff --git a/examples/simple-chatbot-intro/notebook.ipynb 
b/examples/simple-chatbot-intro/notebook.ipynb
index 5fa24b11..93ba520a 100644
--- a/examples/simple-chatbot-intro/notebook.ipynb
+++ b/examples/simple-chatbot-intro/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "ripueq9wwyn",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "61278d3e-958b-49ee-94b8-2ee1f5e58773",
diff --git a/examples/streaming-overview/notebook.ipynb 
b/examples/streaming-overview/notebook.ipynb
index 9319361b..0634b2b6 100644
--- a/examples/streaming-overview/notebook.ipynb
+++ b/examples/streaming-overview/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "j77l9jka9",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/talks/data_for_ai_oct_2024.ipynb 
b/examples/talks/data_for_ai_oct_2024.ipynb
index f5134928..49eb22f6 100644
--- a/examples/talks/data_for_ai_oct_2024.ipynb
+++ b/examples/talks/data_for_ai_oct_2024.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "1xkfukqa5p7",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "f27c0e174c8ee037",
diff --git a/examples/test-case-creation/notebook.ipynb 
b/examples/test-case-creation/notebook.ipynb
index d37d6ad0..61e1064a 100644
--- a/examples/test-case-creation/notebook.ipynb
+++ b/examples/test-case-creation/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "wj2m4qtpx1e",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/tool-calling/notebook.ipynb 
b/examples/tool-calling/notebook.ipynb
index 43689269..eb6b47b8 100644
--- a/examples/tool-calling/notebook.ipynb
+++ b/examples/tool-calling/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "8ps8bnh6lo3",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "5eebfc21-b54a-435d-84dc-b9de1d620e4e",
diff --git a/examples/tracing-and-spans/burr_otel_demo.ipynb 
b/examples/tracing-and-spans/burr_otel_demo.ipynb
index bbb87458..918acb85 100644
--- a/examples/tracing-and-spans/burr_otel_demo.ipynb
+++ b/examples/tracing-and-spans/burr_otel_demo.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "m7797lu1xm",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "f63df3e4b8d4fdba",
diff --git a/examples/tracing-and-spans/notebook.ipynb 
b/examples/tracing-and-spans/notebook.ipynb
index bb69850e..f4bff96d 100644
--- a/examples/tracing-and-spans/notebook.ipynb
+++ b/examples/tracing-and-spans/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "xfdmdmo8t2b",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/examples/typed-state/notebook.ipynb 
b/examples/typed-state/notebook.ipynb
index bd14801e..38cd8bba 100644
--- a/examples/typed-state/notebook.ipynb
+++ b/examples/typed-state/notebook.ipynb
@@ -1,5 +1,13 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "id": "x6ta2gzvqv",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "id": "8419f04e-f945-491d-9526-6aebbabbad6a",
diff --git a/examples/youtube-to-social-media-post/notebook.ipynb 
b/examples/youtube-to-social-media-post/notebook.ipynb
index cacaac34..a7aed43b 100644
--- a/examples/youtube-to-social-media-post/notebook.ipynb
+++ b/examples/youtube-to-social-media-post/notebook.ipynb
@@ -1,5 +1,12 @@
 {
  "cells": [
+  {
+   "cell_type": "code",
+   "source": "# Licensed to the Apache Software Foundation (ASF) under one\n# 
or more contributor license agreements.  See the NOTICE file\n# distributed 
with this work for additional information\n# regarding copyright ownership.  
The ASF licenses this file\n# to you under the Apache License, Version 2.0 
(the\n# \"License\"); you may not use this file except in compliance\n# with 
the License.  You may obtain a copy of the License at\n#\n#   
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
+   "metadata": {},
+   "execution_count": null,
+   "outputs": []
+  },
   {
    "cell_type": "markdown",
    "metadata": {},

Reply via email to