feat: add psagentai agent with deployment and configuration
Initial project setup including the main agent script, configuration files, profile JSON state, systemd service unit, startup script, deployment documentation, and Python dependencies. Includes .env, venv/, and __pycache__/ which should likely be excluded via .gitignore to avoid committing secrets and artifacts.
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
# --------------------------------------------------------------------
|
||||
# The ElementTree toolkit is
|
||||
# Copyright (c) 1999-2004 by Fredrik Lundh
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
"""
|
||||
A set of HTML generator tags for building HTML documents.
|
||||
|
||||
Usage::
|
||||
|
||||
>>> from lxml.html.builder import *
|
||||
>>> html = HTML(
|
||||
... HEAD( TITLE("Hello World") ),
|
||||
... BODY( CLASS("main"),
|
||||
... H1("Hello World !")
|
||||
... )
|
||||
... )
|
||||
|
||||
>>> import lxml.etree
|
||||
>>> print lxml.etree.tostring(html, pretty_print=True)
|
||||
<html>
|
||||
<head>
|
||||
<title>Hello World</title>
|
||||
</head>
|
||||
<body class="main">
|
||||
<h1>Hello World !</h1>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
"""
|
||||
|
||||
from lxml.builder import ElementMaker
|
||||
from lxml.html import html_parser
|
||||
|
||||
E = ElementMaker(makeelement=html_parser.makeelement)
|
||||
|
||||
# elements
|
||||
A = E.a #: anchor
|
||||
ABBR = E.abbr #: abbreviated form (e.g., WWW, HTTP, etc.)
|
||||
ACRONYM = E.acronym #:
|
||||
ADDRESS = E.address #: information on author
|
||||
APPLET = E.applet #: Java applet (DEPRECATED)
|
||||
AREA = E.area #: client-side image map area
|
||||
ARTICLE = E.article #: self-contained article
|
||||
ASIDE = E.aside #: indirectly-related content
|
||||
AUDIO = E.audio #: embedded audio file
|
||||
B = E.b #: bold text style
|
||||
BASE = E.base #: document base URI
|
||||
BASEFONT = E.basefont #: base font size (DEPRECATED)
|
||||
BDI = E.bdi #: isolate bidirectional text
|
||||
BDO = E.bdo #: I18N BiDi over-ride
|
||||
BIG = E.big #: large text style
|
||||
BLOCKQUOTE = E.blockquote #: long quotation
|
||||
BODY = E.body #: document body
|
||||
BR = E.br #: forced line break
|
||||
BUTTON = E.button #: push button
|
||||
CANVAS = E.canvas #: scriptable graphics container
|
||||
CAPTION = E.caption #: table caption
|
||||
CENTER = E.center #: shorthand for DIV align=center (DEPRECATED)
|
||||
CITE = E.cite #: citation
|
||||
CODE = E.code #: computer code fragment
|
||||
COL = E.col #: table column
|
||||
COLGROUP = E.colgroup #: table column group
|
||||
DATA = E.data #: machine-readable translation
|
||||
DATALIST = E.datalist #: list of options for an input
|
||||
DD = E.dd #: definition description
|
||||
DEL = getattr(E, 'del') #: deleted text
|
||||
DETAILS = E.details #: expandable section
|
||||
DFN = E.dfn #: instance definition
|
||||
DIALOG = E.dialog #: dialog box
|
||||
DIR = E.dir #: directory list (DEPRECATED)
|
||||
DIV = E.div #: generic language/style container
|
||||
DL = E.dl #: definition list
|
||||
DT = E.dt #: definition term
|
||||
EM = E.em #: emphasis
|
||||
EMBED = E.embed #: embedded external content
|
||||
FIELDSET = E.fieldset #: form control group
|
||||
FIGCAPTION = E.figcaption #: figure caption
|
||||
FIGURE = E.figure #: self-contained, possibly-captioned content
|
||||
FONT = E.font #: local change to font (DEPRECATED)
|
||||
FOOTER = E.footer #: footer for nearest ancestor
|
||||
FORM = E.form #: interactive form
|
||||
FRAME = E.frame #: subwindow
|
||||
FRAMESET = E.frameset #: window subdivision
|
||||
H1 = E.h1 #: heading
|
||||
H2 = E.h2 #: heading
|
||||
H3 = E.h3 #: heading
|
||||
H4 = E.h4 #: heading
|
||||
H5 = E.h5 #: heading
|
||||
H6 = E.h6 #: heading
|
||||
HEAD = E.head #: document head
|
||||
HEADER = E.header #: heading content
|
||||
HGROUP = E.hgroup #: heading group
|
||||
HR = E.hr #: horizontal rule
|
||||
HTML = E.html #: document root element
|
||||
I = E.i #: italic text style
|
||||
IFRAME = E.iframe #: inline subwindow
|
||||
IMG = E.img #: Embedded image
|
||||
INPUT = E.input #: form control
|
||||
INS = E.ins #: inserted text
|
||||
ISINDEX = E.isindex #: single line prompt (DEPRECATED)
|
||||
KBD = E.kbd #: text to be entered by the user
|
||||
LABEL = E.label #: form field label text
|
||||
LEGEND = E.legend #: fieldset legend
|
||||
LI = E.li #: list item
|
||||
LINK = E.link #: a media-independent link
|
||||
MAIN = E.main #: main content
|
||||
MAP = E.map #: client-side image map
|
||||
MARK = E.mark #: marked/highlighted text
|
||||
MARQUEE = E.marquee #: scrolling text
|
||||
MENU = E.menu #: menu list (DEPRECATED)
|
||||
META = E.meta #: generic metainformation
|
||||
METER = E.meter #: numerical value display
|
||||
NAV = E.nav #: navigation section
|
||||
NOBR = E.nobr #: prevent wrapping
|
||||
NOFRAMES = E.noframes #: alternate content container for non frame-based rendering
|
||||
NOSCRIPT = E.noscript #: alternate content container for non script-based rendering
|
||||
OBJECT = E.object #: generic embedded object
|
||||
OL = E.ol #: ordered list
|
||||
OPTGROUP = E.optgroup #: option group
|
||||
OPTION = E.option #: selectable choice
|
||||
OUTPUT = E.output #: result of a calculation
|
||||
P = E.p #: paragraph
|
||||
PARAM = E.param #: named property value
|
||||
PICTURE = E.picture #: picture with multiple sources
|
||||
PORTAL = E.portal #: embedded preview
|
||||
PRE = E.pre #: preformatted text
|
||||
PROGRESS = E.progress #: progress bar
|
||||
Q = E.q #: short inline quotation
|
||||
RB = E.rb #: ruby base text
|
||||
RP = E.rp #: ruby parentheses
|
||||
RT = E.rt #: ruby text component
|
||||
RTC = E.rtc #: ruby semantic annotation
|
||||
RUBY = E.ruby #: ruby annotations
|
||||
S = E.s #: strike-through text style (DEPRECATED)
|
||||
SAMP = E.samp #: sample program output, scripts, etc.
|
||||
SCRIPT = E.script #: script statements
|
||||
SEARCH = E.search #: set of form controls for a search
|
||||
SECTION = E.section #: generic standalone section
|
||||
SELECT = E.select #: option selector
|
||||
SLOT = E.slot #: placeholder for JS use
|
||||
SMALL = E.small #: small text style
|
||||
SOURCE = E.source #: source for picture/audio/video element
|
||||
SPAN = E.span #: generic language/style container
|
||||
STRIKE = E.strike #: strike-through text (DEPRECATED)
|
||||
STRONG = E.strong #: strong emphasis
|
||||
STYLE = E.style #: style info
|
||||
SUB = E.sub #: subscript
|
||||
SUMMARY = E.summary #: summary for <details>
|
||||
SUP = E.sup #: superscript
|
||||
TABLE = E.table #:
|
||||
TBODY = E.tbody #: table body
|
||||
TD = E.td #: table data cell
|
||||
TEMPLATE = E.template #: fragment for JS use
|
||||
TEXTAREA = E.textarea #: multi-line text field
|
||||
TFOOT = E.tfoot #: table footer
|
||||
TH = E.th #: table header cell
|
||||
THEAD = E.thead #: table header
|
||||
TIME = E.time #: date/time
|
||||
TITLE = E.title #: document title
|
||||
TR = E.tr #: table row
|
||||
TRACK = E.track #: audio/video track
|
||||
TT = E.tt #: teletype or monospaced text style
|
||||
U = E.u #: underlined text style (DEPRECATED)
|
||||
UL = E.ul #: unordered list
|
||||
VAR = E.var #: instance of a variable or program argument
|
||||
VIDEO = E.video #: embedded video file
|
||||
WBR = E.wbr #: word break
|
||||
|
||||
# attributes (only reserved words are included here)
|
||||
ATTR = dict
|
||||
def CLASS(v): return {'class': v}
|
||||
def FOR(v): return {'for': v}
|
||||
Reference in New Issue
Block a user