diff --git a/.github/workflows/check_license.yml b/.github/workflows/check_license.yml new file mode 100644 index 000000000..c7569d134 --- /dev/null +++ b/.github/workflows/check_license.yml @@ -0,0 +1,44 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Google open-source license + +on: + push: + branches: + - main + pull_request: + +jobs: + check-license: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.21' + + - name: Install addlicense + run: go install github.com/google/addlicense@latest + + - name: Check license headers + run: | + addlicense -check \ + -l apache \ + -c "Google LLC" \ + . diff --git a/agent_sdks/python/pyproject.toml b/agent_sdks/python/pyproject.toml index 960a031dd..b2acfc6fc 100644 --- a/agent_sdks/python/pyproject.toml +++ b/agent_sdks/python/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "a2ui-agent" version = "0.1.0" diff --git a/docs/scripts/convert_docs.py b/docs/scripts/convert_docs.py index df0d9cf9d..a82b72ac0 100644 --- a/docs/scripts/convert_docs.py +++ b/docs/scripts/convert_docs.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import re import argparse diff --git a/docs/scripts/test_convert_docs.py b/docs/scripts/test_convert_docs.py index 2cfcd1fb8..03bae2d3e 100644 --- a/docs/scripts/test_convert_docs.py +++ b/docs/scripts/test_convert_docs.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import pytest from convert_docs import to_mkdocs diff --git a/renderers/lit/prepare-publish.mjs b/renderers/lit/prepare-publish.mjs index dc3941989..9f2491a5c 100644 --- a/renderers/lit/prepare-publish.mjs +++ b/renderers/lit/prepare-publish.mjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { readFileSync, writeFileSync, copyFileSync, mkdirSync, existsSync } from 'fs'; import { join } from 'path'; diff --git a/renderers/lit/src/0.8/ui/context/context.ts b/renderers/lit/src/0.8/ui/context/context.ts index 12efa58ba..6321419d3 100644 --- a/renderers/lit/src/0.8/ui/context/context.ts +++ b/renderers/lit/src/0.8/ui/context/context.ts @@ -1,2 +1,18 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export * from "./theme.js"; export * from "./markdown.js"; diff --git a/renderers/markdown/markdown-it/src/markdown.test.ts b/renderers/markdown/markdown-it/src/markdown.test.ts index e3ca65674..b8db19838 100644 --- a/renderers/markdown/markdown-it/src/markdown.test.ts +++ b/renderers/markdown/markdown-it/src/markdown.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { JSDOM } from 'jsdom'; // Provide a jsdom window for DOMPurify in the Node test environment. diff --git a/renderers/web_core/src/v0_8/schema/common-types.ts b/renderers/web_core/src/v0_8/schema/common-types.ts index 4823c4a9f..675f42885 100644 --- a/renderers/web_core/src/v0_8/schema/common-types.ts +++ b/renderers/web_core/src/v0_8/schema/common-types.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { z } from "zod"; /** diff --git a/renderers/web_core/src/v0_8/schema/server-to-client.ts b/renderers/web_core/src/v0_8/schema/server-to-client.ts index bc6d4c511..7d0f282b9 100644 --- a/renderers/web_core/src/v0_8/schema/server-to-client.ts +++ b/renderers/web_core/src/v0_8/schema/server-to-client.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { z } from "zod"; import { AudioPlayerSchema, diff --git a/renderers/web_core/src/v0_8/schema/verify-schema.test.ts b/renderers/web_core/src/v0_8/schema/verify-schema.test.ts index f42d2b160..00ccf3421 100644 --- a/renderers/web_core/src/v0_8/schema/verify-schema.test.ts +++ b/renderers/web_core/src/v0_8/schema/verify-schema.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it } from "node:test"; import * as assert from "node:assert"; import { zodToJsonSchema } from "zod-to-json-schema"; diff --git a/renderers/web_core/src/v0_9/schema/verify-schema.test.ts b/renderers/web_core/src/v0_9/schema/verify-schema.test.ts index 4010e3cd2..6cf86e33c 100644 --- a/renderers/web_core/src/v0_9/schema/verify-schema.test.ts +++ b/renderers/web_core/src/v0_9/schema/verify-schema.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it } from "node:test"; import * as assert from "node:assert"; import { zodToJsonSchema } from "zod-to-json-schema"; diff --git a/renderers/web_core/src/v0_9/test/function_execution.spec.ts b/renderers/web_core/src/v0_9/test/function_execution.spec.ts index 222100a68..edb0e58a8 100644 --- a/renderers/web_core/src/v0_9/test/function_execution.spec.ts +++ b/renderers/web_core/src/v0_9/test/function_execution.spec.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it } from "node:test"; import assert from "node:assert"; import { DataModel } from "../state/data-model.js"; diff --git a/samples/agent/adk/component_gallery/__main__.py b/samples/agent/adk/component_gallery/__main__.py index 8d65d0195..050c53446 100644 --- a/samples/agent/adk/component_gallery/__main__.py +++ b/samples/agent/adk/component_gallery/__main__.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """Main entry point for the Component Gallery agent.""" import logging diff --git a/samples/agent/adk/component_gallery/agent.py b/samples/agent/adk/component_gallery/agent.py index 72edbcc8b..855d4d935 100644 --- a/samples/agent/adk/component_gallery/agent.py +++ b/samples/agent/adk/component_gallery/agent.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """Agent logic for the Component Gallery.""" import logging diff --git a/samples/agent/adk/component_gallery/agent_executor.py b/samples/agent/adk/component_gallery/agent_executor.py index f71688206..d0bed73c7 100644 --- a/samples/agent/adk/component_gallery/agent_executor.py +++ b/samples/agent/adk/component_gallery/agent_executor.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """Agent executor for Component Gallery.""" import logging diff --git a/samples/agent/adk/component_gallery/gallery_examples.py b/samples/agent/adk/component_gallery/gallery_examples.py index 8ea8b31f7..f241ea320 100644 --- a/samples/agent/adk/component_gallery/gallery_examples.py +++ b/samples/agent/adk/component_gallery/gallery_examples.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """Defines the Component Gallery 'Kitchen Sink' example.""" import json diff --git a/samples/agent/adk/component_gallery/tools.py b/samples/agent/adk/component_gallery/tools.py index be06c0482..9980b41c5 100644 --- a/samples/agent/adk/component_gallery/tools.py +++ b/samples/agent/adk/component_gallery/tools.py @@ -1 +1,15 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Minimal tools.py diff --git a/samples/agent/adk/contact_lookup/pyproject.toml b/samples/agent/adk/contact_lookup/pyproject.toml index d8dda10e0..4c0e65640 100644 --- a/samples/agent/adk/contact_lookup/pyproject.toml +++ b/samples/agent/adk/contact_lookup/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "a2ui-contact-lookup" version = "0.1.0" diff --git a/samples/agent/adk/contact_multiple_surfaces/images/floorplan.html b/samples/agent/adk/contact_multiple_surfaces/images/floorplan.html index fbd234787..edd1360a1 100644 --- a/samples/agent/adk/contact_multiple_surfaces/images/floorplan.html +++ b/samples/agent/adk/contact_multiple_surfaces/images/floorplan.html @@ -1,4 +1,20 @@ + + diff --git a/samples/agent/adk/contact_multiple_surfaces/pyproject.toml b/samples/agent/adk/contact_multiple_surfaces/pyproject.toml index 44d33cff4..8da52067e 100644 --- a/samples/agent/adk/contact_multiple_surfaces/pyproject.toml +++ b/samples/agent/adk/contact_multiple_surfaces/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "a2ui-contact-multiple-surfaces" version = "0.1.0" diff --git a/samples/agent/adk/orchestrator/pyproject.toml b/samples/agent/adk/orchestrator/pyproject.toml index 29d533c6d..c4def00b7 100644 --- a/samples/agent/adk/orchestrator/pyproject.toml +++ b/samples/agent/adk/orchestrator/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "orchestrator" version = "0.1.0" diff --git a/samples/agent/adk/pyproject.toml b/samples/agent/adk/pyproject.toml index c63dd5bf8..1c7ea82e4 100644 --- a/samples/agent/adk/pyproject.toml +++ b/samples/agent/adk/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [[tool.uv.index]] url = "https://pypi.org/simple" default = true diff --git a/samples/agent/adk/restaurant_finder/pyproject.toml b/samples/agent/adk/restaurant_finder/pyproject.toml index 00e2f024b..64128d787 100644 --- a/samples/agent/adk/restaurant_finder/pyproject.toml +++ b/samples/agent/adk/restaurant_finder/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "a2ui-restaurant-finder" version = "0.1.0" diff --git a/samples/agent/adk/rizzcharts/pyproject.toml b/samples/agent/adk/rizzcharts/pyproject.toml index 8f60edf70..65f9d57da 100644 --- a/samples/agent/adk/rizzcharts/pyproject.toml +++ b/samples/agent/adk/rizzcharts/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "rizzcharts" version = "0.1.0" diff --git a/samples/agent/mcp/pyproject.toml b/samples/agent/mcp/pyproject.toml index b9e90bd33..6b2dfcad4 100644 --- a/samples/agent/mcp/pyproject.toml +++ b/samples/agent/mcp/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "a2ui-mcp-demo" version = "0.1.0" diff --git a/samples/client/lit/component_gallery/component-gallery.ts b/samples/client/lit/component_gallery/component-gallery.ts index 021bd7ee8..7fd002109 100644 --- a/samples/client/lit/component_gallery/component-gallery.ts +++ b/samples/client/lit/component_gallery/component-gallery.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { SignalWatcher } from "@lit-labs/signals"; import { provide } from "@lit/context"; diff --git a/samples/client/lit/component_gallery/index.html b/samples/client/lit/component_gallery/index.html index 7a6237609..243cf195d 100644 --- a/samples/client/lit/component_gallery/index.html +++ b/samples/client/lit/component_gallery/index.html @@ -1,4 +1,20 @@ + + diff --git a/samples/client/lit/component_gallery/ui/debug-panel.ts b/samples/client/lit/component_gallery/ui/debug-panel.ts index 6bc74814a..8ab825bcc 100644 --- a/samples/client/lit/component_gallery/ui/debug-panel.ts +++ b/samples/client/lit/component_gallery/ui/debug-panel.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { LitElement, html, css, nothing } from "lit"; import { customElement, property, state } from "lit/decorators.js"; diff --git a/samples/client/lit/local_gallery/index.html b/samples/client/lit/local_gallery/index.html index 53ff4ccee..0dbeaece0 100644 --- a/samples/client/lit/local_gallery/index.html +++ b/samples/client/lit/local_gallery/index.html @@ -1,4 +1,20 @@ + + diff --git a/samples/client/lit/local_gallery/scripts/sync-specs.js b/samples/client/lit/local_gallery/scripts/sync-specs.js index 616b5e58a..31944d7a7 100644 --- a/samples/client/lit/local_gallery/scripts/sync-specs.js +++ b/samples/client/lit/local_gallery/scripts/sync-specs.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * @fileoverview Synchronizes minimal v0.8 examples from the specification folder * into the local gallery's public assets and generates a manifest index. diff --git a/samples/client/lit/local_gallery/src/local-gallery.ts b/samples/client/lit/local_gallery/src/local-gallery.ts index 075672f61..52fc186c7 100644 --- a/samples/client/lit/local_gallery/src/local-gallery.ts +++ b/samples/client/lit/local_gallery/src/local-gallery.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { SignalWatcher } from "@lit-labs/signals"; import { provide } from "@lit/context"; import { LitElement, html, css, unsafeCSS } from "lit"; diff --git a/samples/client/lit/local_gallery/src/main.ts b/samples/client/lit/local_gallery/src/main.ts index 3f4859a61..30ea147ed 100644 --- a/samples/client/lit/local_gallery/src/main.ts +++ b/samples/client/lit/local_gallery/src/main.ts @@ -1 +1,17 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import './local-gallery.js'; diff --git a/samples/client/lit/local_gallery/src/theme.ts b/samples/client/lit/local_gallery/src/theme.ts index 200c28785..c7e91cd1d 100644 --- a/samples/client/lit/local_gallery/src/theme.ts +++ b/samples/client/lit/local_gallery/src/theme.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { v0_8 } from "@a2ui/lit"; /** Elements */ diff --git a/samples/client/lit/local_gallery/vite.config.ts b/samples/client/lit/local_gallery/vite.config.ts index 86ef64a25..57de5443f 100644 --- a/samples/client/lit/local_gallery/vite.config.ts +++ b/samples/client/lit/local_gallery/vite.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defineConfig } from 'vite'; export default defineConfig({ diff --git a/samples/personalized_learning/Dockerfile b/samples/personalized_learning/Dockerfile index 30259a8fb..a645a6c38 100644 --- a/samples/personalized_learning/Dockerfile +++ b/samples/personalized_learning/Dockerfile @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Personalized Learning Demo - Cloud Run Dockerfile # Serves both the Vite frontend and the API server diff --git a/samples/personalized_learning/a2ui-primer.html b/samples/personalized_learning/a2ui-primer.html index 00181546b..37a62378f 100644 --- a/samples/personalized_learning/a2ui-primer.html +++ b/samples/personalized_learning/a2ui-primer.html @@ -1,4 +1,20 @@ + + diff --git a/samples/personalized_learning/agent/__init__.py b/samples/personalized_learning/agent/__init__.py index ad8763317..35b70f307 100644 --- a/samples/personalized_learning/agent/__init__.py +++ b/samples/personalized_learning/agent/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Personalized Learning Agent Package diff --git a/samples/personalized_learning/agent/a2ui_templates.py b/samples/personalized_learning/agent/a2ui_templates.py index 6469891c0..c7d8bd769 100644 --- a/samples/personalized_learning/agent/a2ui_templates.py +++ b/samples/personalized_learning/agent/a2ui_templates.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ A2UI Templates for Learning Materials diff --git a/samples/personalized_learning/agent/agent.py b/samples/personalized_learning/agent/agent.py index cdf1568dc..39db9cb09 100644 --- a/samples/personalized_learning/agent/agent.py +++ b/samples/personalized_learning/agent/agent.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Personalized Learning Agent (ADK) diff --git a/samples/personalized_learning/agent/context_loader.py b/samples/personalized_learning/agent/context_loader.py index e9304059d..581ee8957 100644 --- a/samples/personalized_learning/agent/context_loader.py +++ b/samples/personalized_learning/agent/context_loader.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Context Loader for Learner Profile Data diff --git a/samples/personalized_learning/agent/download_openstax.py b/samples/personalized_learning/agent/download_openstax.py index f842c765a..33d354a98 100644 --- a/samples/personalized_learning/agent/download_openstax.py +++ b/samples/personalized_learning/agent/download_openstax.py @@ -1,4 +1,18 @@ #!/usr/bin/env python3 +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Download OpenStax Biology Modules to GCS diff --git a/samples/personalized_learning/agent/openstax_chapters.py b/samples/personalized_learning/agent/openstax_chapters.py index 07f53c157..c41a12745 100644 --- a/samples/personalized_learning/agent/openstax_chapters.py +++ b/samples/personalized_learning/agent/openstax_chapters.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Complete OpenStax Biology AP Courses Chapter Index diff --git a/samples/personalized_learning/agent/openstax_content.py b/samples/personalized_learning/agent/openstax_content.py index c6befa612..cfcf836a8 100644 --- a/samples/personalized_learning/agent/openstax_content.py +++ b/samples/personalized_learning/agent/openstax_content.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ OpenStax Content Fetcher diff --git a/samples/personalized_learning/agent/openstax_modules.py b/samples/personalized_learning/agent/openstax_modules.py index f7d9d876c..8a0714599 100644 --- a/samples/personalized_learning/agent/openstax_modules.py +++ b/samples/personalized_learning/agent/openstax_modules.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ OpenStax Module Index for Biology AP Courses. diff --git a/samples/personalized_learning/agent/pyproject.toml b/samples/personalized_learning/agent/pyproject.toml index d9cadd260..949c67adb 100644 --- a/samples/personalized_learning/agent/pyproject.toml +++ b/samples/personalized_learning/agent/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "personalized-learning-agent" version = "0.1.0" diff --git a/samples/personalized_learning/api-server.ts b/samples/personalized_learning/api-server.ts index 77eeb113d..b844fe139 100644 --- a/samples/personalized_learning/api-server.ts +++ b/samples/personalized_learning/api-server.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* * API Server for Personalized Learning Demo * diff --git a/samples/personalized_learning/deploy.py b/samples/personalized_learning/deploy.py index d412695ca..edd677746 100644 --- a/samples/personalized_learning/deploy.py +++ b/samples/personalized_learning/deploy.py @@ -1,4 +1,18 @@ #!/usr/bin/env python3 +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Personalized Learning Agent - Deployment Script for Agent Engine diff --git a/samples/personalized_learning/deploy_hosting.py b/samples/personalized_learning/deploy_hosting.py index dca98ee6a..80ff9f1ef 100755 --- a/samples/personalized_learning/deploy_hosting.py +++ b/samples/personalized_learning/deploy_hosting.py @@ -1,4 +1,18 @@ #!/usr/bin/env python3 +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Personalized Learning Demo - Cloud Run + Firebase Hosting Deployment diff --git a/samples/personalized_learning/index.html b/samples/personalized_learning/index.html index 0eec9ce27..b755d80ba 100644 --- a/samples/personalized_learning/index.html +++ b/samples/personalized_learning/index.html @@ -1,4 +1,20 @@ + + diff --git a/samples/personalized_learning/public/404.html b/samples/personalized_learning/public/404.html index f0c7f1bb1..6b3db2d76 100644 --- a/samples/personalized_learning/public/404.html +++ b/samples/personalized_learning/public/404.html @@ -1,4 +1,20 @@ + + diff --git a/samples/personalized_learning/public/maria-context.html b/samples/personalized_learning/public/maria-context.html index 3cc885460..85dda34cf 100644 --- a/samples/personalized_learning/public/maria-context.html +++ b/samples/personalized_learning/public/maria-context.html @@ -1,4 +1,20 @@ + + diff --git a/samples/personalized_learning/quickstart_setup.sh b/samples/personalized_learning/quickstart_setup.sh index cc7d04d81..39db42f23 100755 --- a/samples/personalized_learning/quickstart_setup.sh +++ b/samples/personalized_learning/quickstart_setup.sh @@ -1,4 +1,18 @@ #!/bin/bash +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Quickstart Setup Script for Personalized Learning Demo # This script handles all environment setup silently. # Run from: samples/personalized_learning/ diff --git a/samples/personalized_learning/src/a2a-client.ts b/samples/personalized_learning/src/a2a-client.ts index ab2712c70..eb071a301 100644 --- a/samples/personalized_learning/src/a2a-client.ts +++ b/samples/personalized_learning/src/a2a-client.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* * A2A Client * diff --git a/samples/personalized_learning/src/chat-orchestrator.ts b/samples/personalized_learning/src/chat-orchestrator.ts index 9cab982cd..b04ede1e7 100644 --- a/samples/personalized_learning/src/chat-orchestrator.ts +++ b/samples/personalized_learning/src/chat-orchestrator.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* * Chat Orchestrator * diff --git a/samples/personalized_learning/src/firebase-auth.ts b/samples/personalized_learning/src/firebase-auth.ts index c5aec5898..2e589f850 100644 --- a/samples/personalized_learning/src/firebase-auth.ts +++ b/samples/personalized_learning/src/firebase-auth.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * Firebase Authentication for Personalized Learning Demo * diff --git a/samples/personalized_learning/src/main.ts b/samples/personalized_learning/src/main.ts index f7c1f8b26..cbbb87618 100644 --- a/samples/personalized_learning/src/main.ts +++ b/samples/personalized_learning/src/main.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* * Personalized Learning Demo - Main Entry Point * diff --git a/samples/personalized_learning/src/vite-env.d.ts b/samples/personalized_learning/src/vite-env.d.ts index f10fdd151..99423db4e 100644 --- a/samples/personalized_learning/src/vite-env.d.ts +++ b/samples/personalized_learning/src/vite-env.d.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /// interface ImportMetaEnv { diff --git a/samples/personalized_learning/tests/integration-tests.mjs b/samples/personalized_learning/tests/integration-tests.mjs index ad091e32b..7b3377bd6 100644 --- a/samples/personalized_learning/tests/integration-tests.mjs +++ b/samples/personalized_learning/tests/integration-tests.mjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * Integration Tests for Personalized Learning Demo * diff --git a/samples/personalized_learning/tests/test_integration.py b/samples/personalized_learning/tests/test_integration.py index 1519fbd6d..d9fecb3b5 100644 --- a/samples/personalized_learning/tests/test_integration.py +++ b/samples/personalized_learning/tests/test_integration.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ Integration tests for the personalized learning demo. diff --git a/samples/personalized_learning/tests/unit-tests.mjs b/samples/personalized_learning/tests/unit-tests.mjs index 13f61fa2c..282bea13a 100644 --- a/samples/personalized_learning/tests/unit-tests.mjs +++ b/samples/personalized_learning/tests/unit-tests.mjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * Unit Tests for Personalized Learning Demo * diff --git a/samples/personalized_learning/vite.config.ts b/samples/personalized_learning/vite.config.ts index 87fb8022a..f9837a642 100644 --- a/samples/personalized_learning/vite.config.ts +++ b/samples/personalized_learning/vite.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defineConfig } from "vite"; import { resolve } from "path"; diff --git a/specification/scripts/validate.py b/specification/scripts/validate.py index 8ce34ee11..bad61549a 100755 --- a/specification/scripts/validate.py +++ b/specification/scripts/validate.py @@ -1,4 +1,18 @@ #!/usr/bin/env python3 +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import json diff --git a/specification/v0_10/eval/pnpm-lock.yaml b/specification/v0_10/eval/pnpm-lock.yaml index 3479f7f71..65e7ddc18 100644 --- a/specification/v0_10/eval/pnpm-lock.yaml +++ b/specification/v0_10/eval/pnpm-lock.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + lockfileVersion: '9.0' settings: diff --git a/specification/v0_10/test/run_tests.py b/specification/v0_10/test/run_tests.py index 2a2d5f9af..6d70f6be8 100755 --- a/specification/v0_10/test/run_tests.py +++ b/specification/v0_10/test/run_tests.py @@ -1,4 +1,18 @@ #!/usr/bin/env python3 +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import subprocess diff --git a/specification/v0_8/eval/pnpm-lock.yaml b/specification/v0_8/eval/pnpm-lock.yaml index 6b9cf0c94..46fa6eb4f 100644 --- a/specification/v0_8/eval/pnpm-lock.yaml +++ b/specification/v0_8/eval/pnpm-lock.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + lockfileVersion: '9.0' settings: diff --git a/specification/v0_9/eval/pnpm-lock.yaml b/specification/v0_9/eval/pnpm-lock.yaml index 3479f7f71..65e7ddc18 100644 --- a/specification/v0_9/eval/pnpm-lock.yaml +++ b/specification/v0_9/eval/pnpm-lock.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + lockfileVersion: '9.0' settings: diff --git a/specification/v0_9/test/run_tests.py b/specification/v0_9/test/run_tests.py index 2abdb4170..2df780450 100755 --- a/specification/v0_9/test/run_tests.py +++ b/specification/v0_9/test/run_tests.py @@ -1,4 +1,18 @@ #!/usr/bin/env python3 +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import subprocess diff --git a/tools/build_catalog/build_catalog.py b/tools/build_catalog/build_catalog.py index 6bed5785b..e44487c98 100644 --- a/tools/build_catalog/build_catalog.py +++ b/tools/build_catalog/build_catalog.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # /// script # requires-python = ">=3.11" # dependencies = [] diff --git a/tools/build_catalog/pyproject.toml b/tools/build_catalog/pyproject.toml index 59f76bdc2..3ec89185b 100644 --- a/tools/build_catalog/pyproject.toml +++ b/tools/build_catalog/pyproject.toml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + [project] name = "a2ui-scripts" version = "0.1.0" diff --git a/tools/build_catalog/tests/test_build_catalog.py b/tools/build_catalog/tests/test_build_catalog.py index ad7b6d755..63e5b3239 100644 --- a/tools/build_catalog/tests/test_build_catalog.py +++ b/tools/build_catalog/tests/test_build_catalog.py @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import pytest from pathlib import Path diff --git a/tools/composer/eslint.config.mjs b/tools/composer/eslint.config.mjs index 4d9bc427f..b10481601 100644 --- a/tools/composer/eslint.config.mjs +++ b/tools/composer/eslint.config.mjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import js from "@eslint/js"; import eslintConfigPrettier from "eslint-config-prettier"; import turboPlugin from "eslint-plugin-turbo"; diff --git a/tools/composer/next.config.ts b/tools/composer/next.config.ts index e9ffa3083..eafcaa2a0 100644 --- a/tools/composer/next.config.ts +++ b/tools/composer/next.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { NextConfig } from "next"; const nextConfig: NextConfig = { diff --git a/tools/composer/pnpm-lock.yaml b/tools/composer/pnpm-lock.yaml index e2a9b15ca..bdff681fe 100644 --- a/tools/composer/pnpm-lock.yaml +++ b/tools/composer/pnpm-lock.yaml @@ -1,3 +1,17 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + lockfileVersion: '9.0' settings: diff --git a/tools/composer/postcss.config.mjs b/tools/composer/postcss.config.mjs index 61e36849c..6972d5c57 100644 --- a/tools/composer/postcss.config.mjs +++ b/tools/composer/postcss.config.mjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const config = { plugins: { "@tailwindcss/postcss": {}, diff --git a/tools/composer/src/app/api/copilotkit/[[...slug]]/route.ts b/tools/composer/src/app/api/copilotkit/[[...slug]]/route.ts index 63fd965de..940673d30 100644 --- a/tools/composer/src/app/api/copilotkit/[[...slug]]/route.ts +++ b/tools/composer/src/app/api/copilotkit/[[...slug]]/route.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { CopilotRuntime, createCopilotEndpoint, diff --git a/tools/composer/src/app/api/copilotkit/a2ui-prompt.ts b/tools/composer/src/app/api/copilotkit/a2ui-prompt.ts index ee8f23950..10450a5aa 100644 --- a/tools/composer/src/app/api/copilotkit/a2ui-prompt.ts +++ b/tools/composer/src/app/api/copilotkit/a2ui-prompt.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // A2UI Component Catalog and Protocol Schema for LLM prompt // Based on A2UI Protocol v0.8 diff --git a/tools/composer/src/app/components/layout.tsx b/tools/composer/src/app/components/layout.tsx index f30484c3b..f5fd04e65 100644 --- a/tools/composer/src/app/components/layout.tsx +++ b/tools/composer/src/app/components/layout.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Metadata } from 'next'; export const metadata: Metadata = { diff --git a/tools/composer/src/app/components/page.tsx b/tools/composer/src/app/components/page.tsx index e7a7cc9e9..67f0c2f18 100644 --- a/tools/composer/src/app/components/page.tsx +++ b/tools/composer/src/app/components/page.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { useState } from 'react'; diff --git a/tools/composer/src/app/gallery/layout.tsx b/tools/composer/src/app/gallery/layout.tsx index 6f8b24306..aa848abb4 100644 --- a/tools/composer/src/app/gallery/layout.tsx +++ b/tools/composer/src/app/gallery/layout.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Metadata } from 'next'; export const metadata: Metadata = { diff --git a/tools/composer/src/app/gallery/page.tsx b/tools/composer/src/app/gallery/page.tsx index 72972ae39..fffd06c66 100644 --- a/tools/composer/src/app/gallery/page.tsx +++ b/tools/composer/src/app/gallery/page.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { useState } from 'react'; diff --git a/tools/composer/src/app/globals.css b/tools/composer/src/app/globals.css index 510aa92f3..4b73c4ee5 100644 --- a/tools/composer/src/app/globals.css +++ b/tools/composer/src/app/globals.css @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* CopilotKit CSS must load BEFORE Tailwind so our @layer base overrides theirs */ @import "@copilotkit/react-core/v2/styles.css"; diff --git a/tools/composer/src/app/icons/layout.tsx b/tools/composer/src/app/icons/layout.tsx index 2d7b4b944..9a9288770 100644 --- a/tools/composer/src/app/icons/layout.tsx +++ b/tools/composer/src/app/icons/layout.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Metadata } from 'next'; export const metadata: Metadata = { diff --git a/tools/composer/src/app/icons/page.tsx b/tools/composer/src/app/icons/page.tsx index 35ba28e5d..2b7736352 100644 --- a/tools/composer/src/app/icons/page.tsx +++ b/tools/composer/src/app/icons/page.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { useState } from 'react'; diff --git a/tools/composer/src/app/layout.tsx b/tools/composer/src/app/layout.tsx index cc1f1b0a3..77e7f1f23 100644 --- a/tools/composer/src/app/layout.tsx +++ b/tools/composer/src/app/layout.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; diff --git a/tools/composer/src/app/page.tsx b/tools/composer/src/app/page.tsx index 74cc68eab..941f6185c 100644 --- a/tools/composer/src/app/page.tsx +++ b/tools/composer/src/app/page.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Metadata } from 'next'; import { CreateWidget } from '@/components/main/create-widget'; diff --git a/tools/composer/src/app/widget/[id]/layout.tsx b/tools/composer/src/app/widget/[id]/layout.tsx index 3698f9a8c..173dafba1 100644 --- a/tools/composer/src/app/widget/[id]/layout.tsx +++ b/tools/composer/src/app/widget/[id]/layout.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export default function WidgetEditorLayout({ children, }: { diff --git a/tools/composer/src/app/widget/[id]/page.tsx b/tools/composer/src/app/widget/[id]/page.tsx index 650aeb000..ec54c84d1 100644 --- a/tools/composer/src/app/widget/[id]/page.tsx +++ b/tools/composer/src/app/widget/[id]/page.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { use } from 'react'; diff --git a/tools/composer/src/components/editor/code-editor.tsx b/tools/composer/src/components/editor/code-editor.tsx index 021f30974..23fd861b9 100644 --- a/tools/composer/src/components/editor/code-editor.tsx +++ b/tools/composer/src/components/editor/code-editor.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import Editor, { type Monaco } from '@monaco-editor/react'; diff --git a/tools/composer/src/components/editor/data-panel.test.tsx b/tools/composer/src/components/editor/data-panel.test.tsx index f1391563a..0a842473a 100644 --- a/tools/composer/src/components/editor/data-panel.test.tsx +++ b/tools/composer/src/components/editor/data-panel.test.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen, fireEvent } from '@testing-library/react'; import { DataPanel } from './data-panel'; diff --git a/tools/composer/src/components/editor/data-panel.tsx b/tools/composer/src/components/editor/data-panel.tsx index 74d17aec6..c0199f5a8 100644 --- a/tools/composer/src/components/editor/data-panel.tsx +++ b/tools/composer/src/components/editor/data-panel.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { useState, useEffect } from 'react'; diff --git a/tools/composer/src/components/editor/editor-header.test.tsx b/tools/composer/src/components/editor/editor-header.test.tsx index 5bf3b368c..00ea9a296 100644 --- a/tools/composer/src/components/editor/editor-header.test.tsx +++ b/tools/composer/src/components/editor/editor-header.test.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen, fireEvent, act } from '@testing-library/react'; import { EditorHeader } from './editor-header'; diff --git a/tools/composer/src/components/editor/editor-header.tsx b/tools/composer/src/components/editor/editor-header.tsx index 361f871a9..ae4563aaa 100644 --- a/tools/composer/src/components/editor/editor-header.tsx +++ b/tools/composer/src/components/editor/editor-header.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import { useState } from "react"; diff --git a/tools/composer/src/components/editor/preview-pane.tsx b/tools/composer/src/components/editor/preview-pane.tsx index 5c38bd1ae..cfa43091e 100644 --- a/tools/composer/src/components/editor/preview-pane.tsx +++ b/tools/composer/src/components/editor/preview-pane.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { useState } from 'react'; diff --git a/tools/composer/src/components/editor/widget-editor.test.tsx b/tools/composer/src/components/editor/widget-editor.test.tsx index 78d04be64..f6c615f92 100644 --- a/tools/composer/src/components/editor/widget-editor.test.tsx +++ b/tools/composer/src/components/editor/widget-editor.test.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen, act } from '@testing-library/react'; import { WidgetEditor } from './widget-editor'; diff --git a/tools/composer/src/components/editor/widget-editor.tsx b/tools/composer/src/components/editor/widget-editor.tsx index 9c621a24e..388e83a3a 100644 --- a/tools/composer/src/components/editor/widget-editor.tsx +++ b/tools/composer/src/components/editor/widget-editor.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import { useState, useCallback } from "react"; diff --git a/tools/composer/src/components/gallery/gallery-widget.tsx b/tools/composer/src/components/gallery/gallery-widget.tsx index a73be8f62..88533ebd6 100644 --- a/tools/composer/src/components/gallery/gallery-widget.tsx +++ b/tools/composer/src/components/gallery/gallery-widget.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { Widget } from '@/types/widget'; diff --git a/tools/composer/src/components/gallery/widget-preview-modal.tsx b/tools/composer/src/components/gallery/widget-preview-modal.tsx index c52a934b9..6751b9f48 100644 --- a/tools/composer/src/components/gallery/widget-preview-modal.tsx +++ b/tools/composer/src/components/gallery/widget-preview-modal.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { useEffect } from 'react'; diff --git a/tools/composer/src/components/layout/app-shell.tsx b/tools/composer/src/components/layout/app-shell.tsx index 5429eeda6..f50708c9d 100644 --- a/tools/composer/src/components/layout/app-shell.tsx +++ b/tools/composer/src/components/layout/app-shell.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import { CopilotKitProvider } from "@copilotkit/react-core/v2"; diff --git a/tools/composer/src/components/layout/sidebar-header.tsx b/tools/composer/src/components/layout/sidebar-header.tsx index 7ef83c7e6..20fc0e491 100644 --- a/tools/composer/src/components/layout/sidebar-header.tsx +++ b/tools/composer/src/components/layout/sidebar-header.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { Sparkles } from 'lucide-react'; diff --git a/tools/composer/src/components/layout/sidebar-nav.tsx b/tools/composer/src/components/layout/sidebar-nav.tsx index c7ebfd7c6..90f41d8fa 100644 --- a/tools/composer/src/components/layout/sidebar-nav.tsx +++ b/tools/composer/src/components/layout/sidebar-nav.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import Link from "next/link"; diff --git a/tools/composer/src/components/layout/sidebar-widgets.tsx b/tools/composer/src/components/layout/sidebar-widgets.tsx index a318b55db..310589a49 100644 --- a/tools/composer/src/components/layout/sidebar-widgets.tsx +++ b/tools/composer/src/components/layout/sidebar-widgets.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import { useState, useRef, useEffect } from "react"; diff --git a/tools/composer/src/components/layout/sidebar.tsx b/tools/composer/src/components/layout/sidebar.tsx index be5cea53e..7ae9312ff 100644 --- a/tools/composer/src/components/layout/sidebar.tsx +++ b/tools/composer/src/components/layout/sidebar.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import { useState } from "react"; diff --git a/tools/composer/src/components/main/create-widget.tsx b/tools/composer/src/components/main/create-widget.tsx index 05b96c859..961a191ba 100644 --- a/tools/composer/src/components/main/create-widget.tsx +++ b/tools/composer/src/components/main/create-widget.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client"; import { useState, useRef, useEffect } from "react"; diff --git a/tools/composer/src/components/main/preview-gallery.tsx b/tools/composer/src/components/main/preview-gallery.tsx index f0363cbe8..7e753c292 100644 --- a/tools/composer/src/components/main/preview-gallery.tsx +++ b/tools/composer/src/components/main/preview-gallery.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const suggestions = [ { icon: 'person', label: 'Profile card' }, { icon: 'thermostat', label: 'Weather widget' }, diff --git a/tools/composer/src/components/main/widget-input.tsx b/tools/composer/src/components/main/widget-input.tsx index 944839793..b1abe7157 100644 --- a/tools/composer/src/components/main/widget-input.tsx +++ b/tools/composer/src/components/main/widget-input.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; interface WidgetInputProps { diff --git a/tools/composer/src/components/ui/alert-dialog.tsx b/tools/composer/src/components/ui/alert-dialog.tsx index 0863e40d9..202164b43 100644 --- a/tools/composer/src/components/ui/alert-dialog.tsx +++ b/tools/composer/src/components/ui/alert-dialog.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client" import * as React from "react" diff --git a/tools/composer/src/components/ui/button.tsx b/tools/composer/src/components/ui/button.tsx index 21409a066..b82da3982 100644 --- a/tools/composer/src/components/ui/button.tsx +++ b/tools/composer/src/components/ui/button.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as React from "react" import { Slot } from "@radix-ui/react-slot" import { cva, type VariantProps } from "class-variance-authority" diff --git a/tools/composer/src/components/ui/dropdown-menu.tsx b/tools/composer/src/components/ui/dropdown-menu.tsx index bbe6fb019..b38e1963a 100644 --- a/tools/composer/src/components/ui/dropdown-menu.tsx +++ b/tools/composer/src/components/ui/dropdown-menu.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client" import * as React from "react" diff --git a/tools/composer/src/components/ui/input.tsx b/tools/composer/src/components/ui/input.tsx index 89169058d..4683138bd 100644 --- a/tools/composer/src/components/ui/input.tsx +++ b/tools/composer/src/components/ui/input.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as React from "react" import { cn } from "@/lib/utils" diff --git a/tools/composer/src/components/ui/resizable.tsx b/tools/composer/src/components/ui/resizable.tsx index 82fa19ed5..e6754ddc1 100644 --- a/tools/composer/src/components/ui/resizable.tsx +++ b/tools/composer/src/components/ui/resizable.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client" import * as React from "react" diff --git a/tools/composer/src/components/ui/separator.tsx b/tools/composer/src/components/ui/separator.tsx index 275381cab..e27a1e7ba 100644 --- a/tools/composer/src/components/ui/separator.tsx +++ b/tools/composer/src/components/ui/separator.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + "use client" import * as React from "react" diff --git a/tools/composer/src/contexts/widgets-context.test.tsx b/tools/composer/src/contexts/widgets-context.test.tsx index 1a5713118..5a34b7da4 100644 --- a/tools/composer/src/contexts/widgets-context.test.tsx +++ b/tools/composer/src/contexts/widgets-context.test.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen, act } from '@testing-library/react'; import * as storage from '@/lib/storage'; diff --git a/tools/composer/src/contexts/widgets-context.tsx b/tools/composer/src/contexts/widgets-context.tsx index d1b4e87c4..2644fde90 100644 --- a/tools/composer/src/contexts/widgets-context.tsx +++ b/tools/composer/src/contexts/widgets-context.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + 'use client'; import { createContext, useContext, useState, useEffect, useCallback, ReactNode } from 'react'; diff --git a/tools/composer/src/data/gallery/account-balance.ts b/tools/composer/src/data/gallery/account-balance.ts index 2ff81f040..8d9a7aef2 100644 --- a/tools/composer/src/data/gallery/account-balance.ts +++ b/tools/composer/src/data/gallery/account-balance.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const ACCOUNT_BALANCE_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/calendar-day.ts b/tools/composer/src/data/gallery/calendar-day.ts index 1d34475f3..fddcd1d0f 100644 --- a/tools/composer/src/data/gallery/calendar-day.ts +++ b/tools/composer/src/data/gallery/calendar-day.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const CALENDAR_DAY_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/chat-message.ts b/tools/composer/src/data/gallery/chat-message.ts index c8b2bdf21..35eef89b3 100644 --- a/tools/composer/src/data/gallery/chat-message.ts +++ b/tools/composer/src/data/gallery/chat-message.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const CHAT_MESSAGE_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/coffee-order.ts b/tools/composer/src/data/gallery/coffee-order.ts index 99155a4e3..fcc635ce8 100644 --- a/tools/composer/src/data/gallery/coffee-order.ts +++ b/tools/composer/src/data/gallery/coffee-order.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const COFFEE_ORDER_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/contact-card.ts b/tools/composer/src/data/gallery/contact-card.ts index 550066053..c0025916a 100644 --- a/tools/composer/src/data/gallery/contact-card.ts +++ b/tools/composer/src/data/gallery/contact-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 26. Contact Card diff --git a/tools/composer/src/data/gallery/countdown-timer.ts b/tools/composer/src/data/gallery/countdown-timer.ts index e656dbfe5..3c842919f 100644 --- a/tools/composer/src/data/gallery/countdown-timer.ts +++ b/tools/composer/src/data/gallery/countdown-timer.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 29. Countdown Timer diff --git a/tools/composer/src/data/gallery/credit-card.ts b/tools/composer/src/data/gallery/credit-card.ts index 3767345c6..0debc6bdb 100644 --- a/tools/composer/src/data/gallery/credit-card.ts +++ b/tools/composer/src/data/gallery/credit-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 23. Credit Card Display diff --git a/tools/composer/src/data/gallery/email-compose.ts b/tools/composer/src/data/gallery/email-compose.ts index 65dc2d4f9..10906e1b7 100644 --- a/tools/composer/src/data/gallery/email-compose.ts +++ b/tools/composer/src/data/gallery/email-compose.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const EMAIL_COMPOSE_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/event-detail.ts b/tools/composer/src/data/gallery/event-detail.ts index f45c681d7..5ab6255a2 100644 --- a/tools/composer/src/data/gallery/event-detail.ts +++ b/tools/composer/src/data/gallery/event-detail.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 17. Event Detail Card diff --git a/tools/composer/src/data/gallery/flight-status.ts b/tools/composer/src/data/gallery/flight-status.ts index 9ac56f0e8..5e6ed868b 100644 --- a/tools/composer/src/data/gallery/flight-status.ts +++ b/tools/composer/src/data/gallery/flight-status.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const FLIGHT_STATUS_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/index.ts b/tools/composer/src/data/gallery/index.ts index 787e62ed1..1247d3b40 100644 --- a/tools/composer/src/data/gallery/index.ts +++ b/tools/composer/src/data/gallery/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // Individual widget exports export * from './flight-status'; export * from './email-compose'; diff --git a/tools/composer/src/data/gallery/login-form.ts b/tools/composer/src/data/gallery/login-form.ts index bbb8924d6..feb063d1a 100644 --- a/tools/composer/src/data/gallery/login-form.ts +++ b/tools/composer/src/data/gallery/login-form.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const LOGIN_FORM_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/movie-card.ts b/tools/composer/src/data/gallery/movie-card.ts index 5f1786bb0..ae8594285 100644 --- a/tools/composer/src/data/gallery/movie-card.ts +++ b/tools/composer/src/data/gallery/movie-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 30. Movie Card diff --git a/tools/composer/src/data/gallery/music-player.ts b/tools/composer/src/data/gallery/music-player.ts index e32666f7f..5e969eea7 100644 --- a/tools/composer/src/data/gallery/music-player.ts +++ b/tools/composer/src/data/gallery/music-player.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const MUSIC_PLAYER_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/notification-permission.ts b/tools/composer/src/data/gallery/notification-permission.ts index 63a8c4360..a0e9952b6 100644 --- a/tools/composer/src/data/gallery/notification-permission.ts +++ b/tools/composer/src/data/gallery/notification-permission.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const NOTIFICATION_PERMISSION_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/podcast-episode.ts b/tools/composer/src/data/gallery/podcast-episode.ts index 00a8c8769..928f491cf 100644 --- a/tools/composer/src/data/gallery/podcast-episode.ts +++ b/tools/composer/src/data/gallery/podcast-episode.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 27. Podcast Episode diff --git a/tools/composer/src/data/gallery/product-card.ts b/tools/composer/src/data/gallery/product-card.ts index d0a5cfcc0..5bf57d1b8 100644 --- a/tools/composer/src/data/gallery/product-card.ts +++ b/tools/composer/src/data/gallery/product-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const PRODUCT_CARD_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/purchase-complete.ts b/tools/composer/src/data/gallery/purchase-complete.ts index 25005c1d2..cd4c67620 100644 --- a/tools/composer/src/data/gallery/purchase-complete.ts +++ b/tools/composer/src/data/gallery/purchase-complete.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const PURCHASE_COMPLETE_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/recipe-card.ts b/tools/composer/src/data/gallery/recipe-card.ts index d4a924b9e..b1a42c5ba 100644 --- a/tools/composer/src/data/gallery/recipe-card.ts +++ b/tools/composer/src/data/gallery/recipe-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 25. Recipe Card diff --git a/tools/composer/src/data/gallery/restaurant-card.ts b/tools/composer/src/data/gallery/restaurant-card.ts index 814a41e14..f8bbec419 100644 --- a/tools/composer/src/data/gallery/restaurant-card.ts +++ b/tools/composer/src/data/gallery/restaurant-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 20. Restaurant Card diff --git a/tools/composer/src/data/gallery/shipping-status.ts b/tools/composer/src/data/gallery/shipping-status.ts index 55aa57886..38aa4c5f4 100644 --- a/tools/composer/src/data/gallery/shipping-status.ts +++ b/tools/composer/src/data/gallery/shipping-status.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 22. Shipping Status diff --git a/tools/composer/src/data/gallery/software-purchase.ts b/tools/composer/src/data/gallery/software-purchase.ts index 763356eff..95b9078a5 100644 --- a/tools/composer/src/data/gallery/software-purchase.ts +++ b/tools/composer/src/data/gallery/software-purchase.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 19. Software Purchase Form diff --git a/tools/composer/src/data/gallery/sports-player.ts b/tools/composer/src/data/gallery/sports-player.ts index cae055fe6..67fc9d0f4 100644 --- a/tools/composer/src/data/gallery/sports-player.ts +++ b/tools/composer/src/data/gallery/sports-player.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const SPORTS_PLAYER_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/stats-card.ts b/tools/composer/src/data/gallery/stats-card.ts index b894a60b6..c5fabebd6 100644 --- a/tools/composer/src/data/gallery/stats-card.ts +++ b/tools/composer/src/data/gallery/stats-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 28. Stats Card diff --git a/tools/composer/src/data/gallery/step-counter.ts b/tools/composer/src/data/gallery/step-counter.ts index d86fc3160..3603a035f 100644 --- a/tools/composer/src/data/gallery/step-counter.ts +++ b/tools/composer/src/data/gallery/step-counter.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 24. Step Counter diff --git a/tools/composer/src/data/gallery/task-card.ts b/tools/composer/src/data/gallery/task-card.ts index f20ff72aa..c9030ac26 100644 --- a/tools/composer/src/data/gallery/task-card.ts +++ b/tools/composer/src/data/gallery/task-card.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const TASK_CARD_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/track-list.ts b/tools/composer/src/data/gallery/track-list.ts index 7ebf61225..c00df32a4 100644 --- a/tools/composer/src/data/gallery/track-list.ts +++ b/tools/composer/src/data/gallery/track-list.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 18. Track List diff --git a/tools/composer/src/data/gallery/user-profile.ts b/tools/composer/src/data/gallery/user-profile.ts index c9cc59cab..ab3707ce5 100644 --- a/tools/composer/src/data/gallery/user-profile.ts +++ b/tools/composer/src/data/gallery/user-profile.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const USER_PROFILE_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/weather-current.ts b/tools/composer/src/data/gallery/weather-current.ts index ac9470cac..f23414f7b 100644 --- a/tools/composer/src/data/gallery/weather-current.ts +++ b/tools/composer/src/data/gallery/weather-current.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; export const WEATHER_CURRENT_WIDGET: Widget = { diff --git a/tools/composer/src/data/gallery/workout-summary.ts b/tools/composer/src/data/gallery/workout-summary.ts index 15030b727..ffb194be9 100644 --- a/tools/composer/src/data/gallery/workout-summary.ts +++ b/tools/composer/src/data/gallery/workout-summary.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Widget } from '@/types/widget'; // 16. Workout Summary diff --git a/tools/composer/src/lib/components-data.ts b/tools/composer/src/lib/components-data.ts index c4aa94ee7..636d1d858 100644 --- a/tools/composer/src/lib/components-data.ts +++ b/tools/composer/src/lib/components-data.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { ComponentInstance } from '@copilotkit/a2ui-renderer'; export interface ComponentProp { diff --git a/tools/composer/src/lib/json-parser.test.ts b/tools/composer/src/lib/json-parser.test.ts index 5c6f39fc2..150492bfb 100644 --- a/tools/composer/src/lib/json-parser.test.ts +++ b/tools/composer/src/lib/json-parser.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from 'vitest'; import { parseRobustJSON, parseRobustJSONSafe } from './json-parser'; diff --git a/tools/composer/src/lib/json-parser.ts b/tools/composer/src/lib/json-parser.ts index d3dce2e0c..d82ae93bf 100644 --- a/tools/composer/src/lib/json-parser.ts +++ b/tools/composer/src/lib/json-parser.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * Robust JSON parsing utilities for handling malformed JSON strings, * particularly useful when dealing with AI-generated JSON that may not be properly escaped. diff --git a/tools/composer/src/lib/storage.test.ts b/tools/composer/src/lib/storage.test.ts index ea8d2fa9d..5ac8280ff 100644 --- a/tools/composer/src/lib/storage.test.ts +++ b/tools/composer/src/lib/storage.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach } from 'vitest'; import localforage from 'localforage'; import { getWidgets, saveWidget, deleteWidget } from './storage'; diff --git a/tools/composer/src/lib/storage.ts b/tools/composer/src/lib/storage.ts index e231a8ff2..c7391b883 100644 --- a/tools/composer/src/lib/storage.ts +++ b/tools/composer/src/lib/storage.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import localforage from 'localforage'; import { Widget } from '@/types/widget'; diff --git a/tools/composer/src/lib/utils.ts b/tools/composer/src/lib/utils.ts index bd0c391dd..8b9d0b41e 100644 --- a/tools/composer/src/lib/utils.ts +++ b/tools/composer/src/lib/utils.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { clsx, type ClassValue } from "clsx" import { twMerge } from "tailwind-merge" diff --git a/tools/composer/src/test/setup.ts b/tools/composer/src/test/setup.ts index 276d0549d..ea4a5848b 100644 --- a/tools/composer/src/test/setup.ts +++ b/tools/composer/src/test/setup.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import '@testing-library/jest-dom'; import { vi } from 'vitest'; diff --git a/tools/composer/src/types/widget.ts b/tools/composer/src/types/widget.ts index 666966f35..914521917 100644 --- a/tools/composer/src/types/widget.ts +++ b/tools/composer/src/types/widget.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import type { ComponentInstance } from "@copilotkit/a2ui-renderer"; export interface DataState { diff --git a/tools/composer/vitest.config.ts b/tools/composer/vitest.config.ts index 0be902d24..e2766f9ad 100644 --- a/tools/composer/vitest.config.ts +++ b/tools/composer/vitest.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defineConfig } from 'vitest/config'; import react from '@vitejs/plugin-react'; import path from 'path';