chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.ComponentModel;
|
||||
using Microsoft.SemanticKernel;
|
||||
|
||||
namespace HomeAutomation.Plugins;
|
||||
|
||||
/// <summary>
|
||||
/// Simple plugin to illustrate creating plugins which have dependencies
|
||||
/// that can be resolved through dependency injection.
|
||||
/// </summary>
|
||||
public class MyAlarmPlugin(MyTimePlugin timePlugin)
|
||||
{
|
||||
[KernelFunction, Description("Sets an alarm at the provided time")]
|
||||
public void SetAlarm(string time)
|
||||
{
|
||||
// Code to actually set the alarm using the time plugin would be placed here
|
||||
_ = timePlugin;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.ComponentModel;
|
||||
using Microsoft.SemanticKernel;
|
||||
|
||||
namespace HomeAutomation.Plugins;
|
||||
|
||||
/// <summary>
|
||||
/// Class that represents a controllable light.
|
||||
/// </summary>
|
||||
[Description("Represents a light")]
|
||||
public class MyLightPlugin(bool turnedOn = false)
|
||||
{
|
||||
private bool _turnedOn = turnedOn;
|
||||
|
||||
[KernelFunction, Description("Returns whether this light is on")]
|
||||
public bool IsTurnedOn() => _turnedOn;
|
||||
|
||||
[KernelFunction, Description("Turn on this light")]
|
||||
public void TurnOn() => _turnedOn = true;
|
||||
|
||||
[KernelFunction, Description("Turn off this light")]
|
||||
public void TurnOff() => _turnedOn = false;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.ComponentModel;
|
||||
using Microsoft.SemanticKernel;
|
||||
|
||||
namespace HomeAutomation.Plugins;
|
||||
|
||||
/// <summary>
|
||||
/// Simple plugin that just returns the time.
|
||||
/// </summary>
|
||||
public class MyTimePlugin
|
||||
{
|
||||
[KernelFunction, Description("Get the current time")]
|
||||
public DateTimeOffset Time() => DateTimeOffset.Now;
|
||||
}
|
||||
Reference in New Issue
Block a user