Skip to content

Instantly share code, notes, and snippets.

@clairernovotny
clairernovotny / codex-plugin-marketplace-gist.md
Last active April 17, 2026 16:06
Codex plugins and marketplaces developer notes from source analysis

Codex Plugins and Marketplaces: Developer Notes

Scanned source: openai/codex main at commit dae0608c06bf61a356209fd11243aec1ef816547 on April 17, 2026.

Status

The plugin feature is present in source and the feature flag is stable/default-enabled.

  • features.plugins is Stage::Stable and defaults to true in [codex-rs/features/src/lib.rs][features-rs].
  • The app-server protocol exposes marketplace/add, plugin/list, plugin/read, plugin/install, and plugin/uninstall in [codex-rs/app-server-protocol/src/protocol/v2.rs][protocol-v2-rs].
@clairernovotny
clairernovotny / directions.md
Created March 29, 2017 12:37
B2B Invites to VSTS

To invite external users into VSTS, we first need to add them to the AAD directory. We can do this today with PowerShell, but you need the right module installed.

Make sure you have the AzureADPreview module installed.

If you need it, from an admin powershell prompt, you can use: Install-Module AzureADPreview

To update it later: update-module AzureAdPreview To remove it once it hits the stable module: uninstall-module AzureAdPreview

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Security.Claims;
using System.Threading.Tasks;
using System.Web;
using IdentityServer3.Core.Models;
using IdentityServer3.Core.Services;
@clairernovotny
clairernovotny / build.proj
Created October 31, 2015 00:36
VSO NuGet CI
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="UpdateVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildProjectDirectory)\Build.tasks" />
<!-- Setup configuration variables -->
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)..\</SolutionDir>
<Configuration Condition="'$(OS)' == 'Windows_NT' And '$(Configuration)' == ''">Debug</Configuration>
<ConfigFolderPath>$(Configuration)</ConfigFolderPath>
@clairernovotny
clairernovotny / Job.cs
Created September 19, 2015 01:22
Job objects in .NET
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
internal class Job : IDisposable
{
Param(
[string]$pathToSearch = $env:BUILD_SOURCESDIRECTORY,
[string]$buildNumber = $env:BUILD_BUILDNUMBER
)
try
{
$buildPattern = "\d+\.\d+\.\d+\.\d+"
if ($buildNumber -match $buildPattern -ne $true) {
@clairernovotny
clairernovotny / WImageRenderer.cs
Last active August 29, 2015 14:13
Image Renderer for WP8 Images
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using News.Controls;
class AuthenticatedHttpClientHandler : HttpClientHandler
{
private readonly Func<Task<string>> getToken;
public AuthenticatedHttpClientHandler(Func<Task<string>> getToken)
{
if (getToken == null) throw new ArgumentNullException("getToken");
this.getToken = getToken;
}
internal class Job : IDisposable
{
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
static extern IntPtr CreateJobObject(IntPtr a, string lpName);
[DllImport("kernel32.dll")]
static extern bool SetInformationJobObject(IntPtr hJob, JobObjectInfoType infoType, IntPtr lpJobObjectInfo, UInt32 cbJobObjectInfoLength);
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool AssignProcessToJobObject(IntPtr job, IntPtr process);
@clairernovotny
clairernovotny / gist:5906841
Created July 2, 2013 04:51
UI thread for store
public IAsyncAction ExecuteOnUIThread<TException>(DispatchedHandler action)
{
return CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, action);
}